class KDirOperator

# class KDirOperator | A widget for displaying files and browsing directories. More...
Definition | `#include <kdiroperator.h>`
Inherits | QWidget (qt) [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum ActionTypes { SortActions = 1, ViewActions = 2, NavActions = 4, FileActions = 8, AllActions = 15 }

#### Public Methods

- KDirOperator (const KURL& urlName = KURL(), QWidget *parent = 0, const char* name = 0)
- virtual ~KDirOperator ()
- void setShowHiddenFiles ( bool s )
- bool showHiddenFiles () const
- void close ()
- void setNameFilter (const QString& filter)
- const QString& nameFilter () const
- void setMimeFilter ( const QStringList& mimetypes )
- QStringList mimeFilter () const
- void clearFilter ()
- KURL url () const
- void setURL (const KURL& url, bool clearforward)
- void setCurrentItem ( const QString& filename )
- void setView (KFileView *view)
- KFileView * view () const
- QWidget * viewWidget () const
- void setView (KFile::FileView view)
- void setSorting ( QDir::SortSpec )
- QDir::SortSpec sorting () const
- bool isRoot () const
- KDirLister * dirLister () const
- KProgress * progressBar () const
- void setMode ( KFile::Mode m )
- KFile::Mode mode () const
- void setPreviewWidget (const QWidget *w)
- const KFileItemList * selectedItems () const
- inline bool isSelected ( const KFileItem *item ) const
- int numDirs () const
- int numFiles () const
- KCompletion * completionObject () const
- KCompletion * dirCompletionObject () const
- KActionCollection * actionCollection () const
- void setViewConfig ( KConfig *config, const QString& group )
- KConfig * viewConfig ()
- QString viewConfigGroup () const
- virtual void readConfig ( KConfig *, const QString& group = QString::null )
- virtual void writeConfig ( KConfig *, const QString& group = QString::null )
- void setOnlyDoubleClickSelectsFiles ( bool enable )
- bool onlyDoubleClickSelectsFiles () const
- bool mkdir ( const QString& directory, bool enterDirectory = true )
- KIO::DeleteJob * del ( const KFileItemList& items, bool ask = true, bool showProgress = true )
- KIO::DeleteJob * del ( const KFileItemList& items, QWidget *parent, bool ask = true, bool showProgress = true )
- void clearHistory ()
- void setEnableDirHighlighting ( bool enable )
- bool dirHighlighting () const
- bool dirOnlyMode () const
- void setupMenu (int whichActions)

#### Public Slots

- void back ()
- void forward ()
- void home ()
- void cdUp ()
- void updateDir ()
- void rereadDir ()
- void mkdir ()
- void deleteSelected ()
- void updateSelectionDependentActions ()
- QString makeCompletion (const QString&)
- QString makeDirCompletion (const QString&)

#### Signals

- void urlEntered (const KURL& )
- void updateInformation (int files, int dirs)
- void completion (const QString&)
- void finishedLoading ()
- void viewChanged ( KFileView * newView )
- void fileHighlighted ( const KFileItem *item )
- void dirActivated ( const KFileItem *item )
- void fileSelected ( const KFileItem *item )

#### Public Static Methods

- static bool dirOnlyMode ( uint mode )

#### Protected Methods

- virtual KFileView* createView ( QWidget* parent, KFile::FileView view )
- void setDirLister ( KDirLister *lister )
- void setupActions ()
- void updateSortActions ()
- void updateViewActions ()
- void setupMenu ()
- void prepareCompletionObjects ()
- bool checkPreviewSupport ()
- virtual void virtual_hook ( int id, void* data )

#### Protected Slots

- void resetCursor ()
- void pathChanged ()
- void insertNewFiles (const KFileItemList &newone)
- void itemDeleted (KFileItem *)
- void selectDir (const KFileItem *item )
- void selectFile (const KFileItem *item)
- void highlightFile (const KFileItem* i)
- virtual void activatedMenu ( const KFileItem *, const QPoint& pos )
- void sortByName ()
- void sortBySize ()
- void sortByDate ()
- void sortReversed ()
- void toggleDirsFirst ()
- void toggleIgnoreCase ()
- void slotCompletionMatch (const QString& match)

## Detailed Description

This widget works as a network transparent filebrowser. You specify a URL to display and this url will be loaded via KDirLister. The user can browse through directories, highlight and select files, delete or rename files.

It supports different views, e.g. a detailed view (see KFileDetailView), a simple icon view (see KFileIconView), a combination of two views, separating directories and files (KCombiView).

Additionally, a preview view is available (see KFilePreview), which can show either a simple or detailed view and additionally a preview widget (see setPreviewWidget()). KImageFilePreview is one implementation of a preview widget, that displays previews for all supported filetypes utilizing KIO::PreviewJob.

Currently, those classes don't support Drag&Drop out of the box -- there you have to use your own view-classes. You can use some DnD-aware views from Björn Sahlström until they will be integrated into this library. See http://devel-home.kde.org/~pfeiffer/DnD-classes.tar.gz

This widget is the one used in the KFileDialog.

Basic usage is like this:

       KDirOperator *op = new KDirOperator( KURL( "file:/home/gis" ), this );
       // some signals you might be interested in
       connect(op, SIGNAL(urlEntered(const KURL&)),
               SLOT(urlEntered(const KURL&)));
       connect(op, SIGNAL(fileHighlighted(const KFileItem *)),
               SLOT(fileHighlighted(const KFileItem *)));
       connect(op, SIGNAL(fileSelected(const KFileItem *)),
               SLOT(fileSelected(const KFileItem *)));
       connect(op, SIGNAL(finishedLoading()),
               SLOT(slotLoadingFinished()));

       op->readConfig( KGlobal::config(), "Your KDiroperator ConfigGroup" );
       op->setView(KFile::Default);

This will create a childwidget of 'this' showing the directory contents of /home/gis in the default-view. The view is determined by the readConfig() call, which will read the KDirOperator settings, the user left your program with (and which you saved with op->writeConfig()).

enum ActionTypes { SortActions = 1, ViewActions = 2, NavActions = 4, FileActions = 8, AllActions = 15 } | ### ActionTypes

The various action types. These values can be or'd together

KDirOperator (const KURL& urlName = KURL(), QWidget *parent = 0, const char* name = 0) | ### KDirOperator

Constructs the KDirOperator with no initial view. As the views are configurable, call readConfig() to load the user's configuration and then setView to explicitly set a view.

This constructor doesn't start loading the url, setView will do it.

~KDirOperator () | ### ~KDirOperator

[virtual]

Destroys the KDirOperator.

void setShowHiddenFiles ( bool s ) | ### setShowHiddenFiles

Enables/disables showing hidden files.

bool showHiddenFiles () | ### showHiddenFiles

[const]

Returns: true when hidden files are shown or false otherwise.

void close () | ### close

Stops loading immediately. You don't need to call this, usually.

void setNameFilter (const QString& filter) | ### setNameFilter

Sets a filter like "*.cpp *.h *.o". Only files matching that filter will be shown. Call updateDir() to apply it.

See also: nameFilter, nameFilter

const QString& nameFilter () | ### nameFilter

[const]

Returns: the current namefilter.

See also: setNameFilter

void setMimeFilter ( const QStringList& mimetypes ) | ### setMimeFilter

Sets a list of mimetypes as filter. Only files of those mimetypes will be shown.

Example:

     QStringList filter;
     filter << "text/html" << "image/png" << "inode/directory";
     dirOperator->setMimefilter( filter );

Node: Without the mimetype inode/directory, only files would be shown. Call updateDir() to apply it.

See also: mimeFilter, mimeFilter

QStringList mimeFilter () | ### mimeFilter

[const]

Returns: the current mime filter.

void clearFilter () | ### clearFilter

Clears both the namefilter and mimetype filter, so that all files and directories will be shown. Call updateDir() to apply it.

See also: setMimeFilter, setNameFilter

KURL url () | ### url

[const]

Returns: the current url

void setURL (const KURL& url, bool clearforward) | ### setURL

Sets a new url to list.

Parameters:

clearforward | specifies whether the "forward" history should be cleared.

void setCurrentItem ( const QString& filename ) | ### setCurrentItem

Clears the current selection and attempts to set `filename` the current file. filename is just the name, no path or url.

void setView (KFileView *view) | ### setView

Sets a new KFileView to be used for showing and browsing files. Note: this will read the current url() to fill the view.

See also: KFileView, KFileIconView, KFileDetailView, view, view

KFileView * view () | ### view

[const]

Returns: the currently used view.

See also: setView

QWidget * viewWidget () | ### viewWidget

[const]

Returns the widget of the current view. 0L if there is no view/widget. (KFileView itself is not a widget.)

void setView (KFile::FileView view) | ### setView

Sets one of the predefined fileviews

See also: FileView

void setSorting ( QDir::SortSpec ) | ### setSorting

Sets the way to sort files and directories.

QDir::SortSpec sorting () | ### sorting

[const]

Returns: the current way of sorting files and directories

bool isRoot () | ### isRoot

[const]

Returns: true if we are displaying the root directory of the current url

KDirLister * dirLister () | ### dirLister

[const]

Returns: the object listing the directory

KProgress * progressBar () | ### progressBar

[const]

Returns: the progress widget, that is shown during directory listing. You can for example reparent() it to put it into a statusbar.

void setMode ( KFile::Mode m ) | ### setMode

Sets the listing/selection mode for the views, an OR'ed combination of

- File
- Directory
- Files
- ExistingOnly
- LocalOnly

You cannot mix File and Files of course, as the former means single-selection mode, the latter multi-selection.

KFile::Mode mode () | ### mode

[const]

Returns: the listing/selection mode.

void setPreviewWidget (const QWidget *w) | ### setPreviewWidget

Sets a preview-widget to be shown next to the file-view. The ownership of `w` is transferred to KDirOperator, so don't delete it yourself!

const KFileItemList * selectedItems () | ### selectedItems

[const]

Returns: a list of all currently selected items. If there is no view, then 0L is returned.

inline bool isSelected ( const KFileItem *item ) | ### isSelected

[const]

Returns: true if `item` is currently selected, or false otherwise.

int numDirs () | ### numDirs

[const]

Returns: the number of directories in the currently listed url. Returns 0 if there is no view.

int numFiles () | ### numFiles

[const]

Returns: the number of files in the currently listed url. Returns 0 if there is no view.

KCompletion * completionObject () | ### completionObject

[const]

Returns: a KCompletion object, containing all filenames and directories of the current directory/URL. You can use it to insert it into a KLineEdit or KComboBox Note: it will only contain files, after prepareCompletionObjects() has been called. It will be implicitly called from makeCompletion() or makeDirCompletion()

KCompletion * dirCompletionObject () | ### dirCompletionObject

[const]

Returns: a KCompletion object, containing only all directories of the current directory/URL. You can use it to insert it into a KLineEdit or KComboBox Note: it will only contain directories, after prepareCompletionObjects() has been called. It will be implicitly called from makeCompletion() or makeDirCompletion()

KActionCollection * actionCollection () | ### actionCollection

[const]

an accessor to a collection of all available Actions. The actions are static, they will be there all the time (no need to connect to the signals KActionCollection::inserted() or removed().

There are the following actions:

- popupMenu : an ActionMenu presenting a popupmenu with all actions
- up : changes to the parent directory
- back : goes back to the previous directory
- forward : goes forward in the history
- home : changes to the user's home directory
- reload : reloads the current directory
- separator : a separator
- mkdir : opens a dialog box to create a directory
- delete : deletes the selected files/directories
- sorting menu : an ActionMenu containing all sort-options
- by name : sorts by name
- by date : sorts by date
- by size : sorts by size
- reversed : reverses the sort order
- dirs first : sorts directories before files
- case insensitive : sorts case insensitively
- view menu : an ActionMenu containing all actions concerning the view
- short view : shows a simple fileview
- detailed view : shows a detailed fileview (dates, permissions ,...)
- show hidden : shows hidden files
- separate dirs : shows directories in a separate pane
- preview : shows a preview next to the fileview
- single : hides the separate view for directories or the preview
- properties : shows a KPropertiesDialog for the selected files

The short and detailed view are in an exclusive group. The sort-by actions are in an exclusive group as well. Also the "separate dirs", "preview" and "single" actions are in an exclusive group.

You can e.g. use

    actionCollection()->action( "up" )->plug( someToolBar );
to add a button into a toolbar, which makes the dirOperator change to its parent directory. @returns all available Actions

void setViewConfig ( KConfig *config, const QString& group ) | ### setViewConfig

Sets the config object and the to be used group in KDirOperator. This will be used to store the view's configuration via KFileView::writeConfig() (and for KFileView::readConfig()). If you don't set this, the views cannot save and restore their configuration.

Usually you call this right after KDirOperator creation so that the view instantiation can make use of it already.

Note that KDirOperator does NOT take ownership of that object (typically it's KGlobal::config() anyway.

See also: viewConfig, viewConfigGroup

KConfig * viewConfig () | ### viewConfig

Returns the KConfig object used for saving and restoring view's configuration.

Returns: the KConfig object used for saving and restoring view's configuration.

QString viewConfigGroup () | ### viewConfigGroup

[const]

Returns the group name used for saving and restoring view's configuration.

Returns: the group name used for saving and restoring view's configuration.

void readConfig ( KConfig *, const QString& group = QString::null ) | ### readConfig

[virtual]

Reads the default settings for a view, i.e. the default KFile::FileView. Also reads the sorting and whether hidden files should be shown. Note: the default view will not be set - you have to call

     setView( KFile::Default )

to apply it.

See also: setViewConfig, writeConfig, writeConfig

void writeConfig ( KConfig *, const QString& group = QString::null ) | ### writeConfig

[virtual]

Saves the current settings like sorting, simple or detailed view.

See also: readConfig, setViewConfig

void setOnlyDoubleClickSelectsFiles ( bool enable ) | ### setOnlyDoubleClickSelectsFiles

This is a KFileDialog specific hack: we want to select directories with single click, but not files. But as a generic class, we have to be able to select files on single click as well.

This gives us the opportunity to do both.

The default is false, set it to true if you don't want files selected with single click.

bool onlyDoubleClickSelectsFiles () | ### onlyDoubleClickSelectsFiles

[const]

Returns: whether files (not directories) should only be select()ed by double-clicks.

See also: setOnlyDoubleClickSelectsFiles

bool mkdir ( const QString& directory, bool enterDirectory = true ) | ### mkdir

Creates the given directory/url. If it is a relative path, it will be completed with the current directory. If enterDirectory is true, the directory will be entered after a successful operation. If unsuccessful, a messagebox will be presented to the user.

Returns: true if the directory could be created.

KIO::DeleteJob * del ( const KFileItemList& items, bool ask = true, bool showProgress = true ) | ### del

Starts and returns a KIO::DeleteJob to delete the given `items`.

Parameters:

ask | specifies whether a confirmation dialog should be shown
showProgress | passed to the DeleteJob to show a progress dialog

KIO::DeleteJob * del ( const KFileItemList& items, QWidget *parent, bool ask = true, bool showProgress = true ) | ### del

Starts and returns a KIO::DeleteJob to delete the given `items`.

Parameters:

parent | the parent widget used for the confirmation dialog
ask | specifies whether a confirmation dialog should be shown
showProgress | passed to the DeleteJob to show a progress dialog

void clearHistory () | ### clearHistory

Clears the forward and backward history.

void setEnableDirHighlighting ( bool enable ) | ### setEnableDirHighlighting

When going up in the directory hierarchy, KDirOperator can highlight the directory that was just left.

I.e. when you go from /home/gis/src to /home/gis, the item "src" will be made the current item.

Default is off.

bool dirHighlighting () | ### dirHighlighting

[const]

Default is false.

Returns: whether the last directory will be made the current item when going up in the directory hierarchy.

bool dirOnlyMode () | ### dirOnlyMode

[const]

Returns: true if we are in directory-only mode, that is, no files are shown.

bool dirOnlyMode ( uint mode ) | ### dirOnlyMode

[static]

void setupMenu (int whichActions) | ### setupMenu

Sets up the action menu.

Parameters:

actionTypes | is an value of OR'd ActionTypes that controls which actions to show in the action menu

KFileView* createView ( QWidget* parent, KFile::FileView view ) | ### createView

[protected virtual]

A view factory for creating predefined fileviews. Called internally by setView , but you can also call it directly. Reimplement this if you depend on self defined fileviews.

Parameters:

parent | is the QWidget to be set as parent
view | is the predefined view to be set, note: this can be several ones OR:ed together.

Returns: the created KFileView

See also: KFileView, KCombiView, KFileDetailView, KFileIconView, KFilePreview, FileView, setView

void setDirLister ( KDirLister *lister ) | ### setDirLister

[protected]

Sets a custom KFileReader to list directories.

void resizeEvent ( QResizeEvent * ) | ### resizeEvent

[protected]

void setupActions () | ### setupActions

[protected]

Sets up all the actions. Called from the constructor, you usually better not call this.

void updateSortActions () | ### updateSortActions

[protected]

Updates the sorting-related actions to comply with the current sorting

See also: sorting

void updateViewActions () | ### updateViewActions

[protected]

Updates the view-related actions to comply with the current KFile::FileView

void setupMenu () | ### setupMenu

[protected]

Sets up the context-menu with all the necessary actions. Called from the constructor, you usually don't need to call this.

void prepareCompletionObjects () | ### prepareCompletionObjects

[protected]

Synchronizes the completion objects with the entries of the currently listed url.

Automatically called from makeCompletion() and makeDirCompletion()

bool checkPreviewSupport () | ### checkPreviewSupport

[protected]

Checks if there support from KIO::PreviewJob for the currently shown files, taking mimeFilter() and nameFilter() into account Enables/disables the preview-action accordingly.

void back () | ### back

[slot]

Goes one step back in the history and opens that url.

void forward () | ### forward

[slot]

Goes one step forward in the history and opens that url.

void home () | ### home

[slot]

Enters the home directory.

void cdUp () | ### cdUp

[slot]

Goes one directory up from the current url.

void updateDir () | ### updateDir

[slot]

to update the view after changing the settings

void rereadDir () | ### rereadDir

[slot]

Re-reads the current url.

void mkdir () | ### mkdir

[slot]

Opens a dialog to create a new directory.

void deleteSelected () | ### deleteSelected

[slot]

Deletes the currently selected files/directories.

void updateSelectionDependentActions () | ### updateSelectionDependentActions

[slot]

Enables/disables actions that are selection dependent. Call this e.g. when you are about to show a popup menu using some of KDirOperators actions.

QString makeCompletion (const QString&) | ### makeCompletion

[slot]

Tries to complete the given string (only completes files).

QString makeDirCompletion (const QString&) | ### makeDirCompletion

[slot]

Tries to complete the given string (only completes directores).

void resetCursor () | ### resetCursor

[protected slots slot]

Restores the normal cursor after showing the busy-cursor. Also hides the progressbar.

void pathChanged () | ### pathChanged

[protected slots slot]

Called after setURL() to load the directory, update the history, etc.

void insertNewFiles (const KFileItemList &newone) | ### insertNewFiles

[protected slots slot]

Adds a new list of KFileItems to the view (coming from KDirLister)

void itemDeleted (KFileItem *) | ### itemDeleted

[protected slots slot]

Removes the given KFileItem item from the view (usually called from KDirLister).

void selectDir (const KFileItem *item ) | ### selectDir

[protected slots slot]

Enters the directory specified by the given `item`.

void selectFile (const KFileItem *item) | ### selectFile

[protected slots slot]

Emits fileSelected( item )

void highlightFile (const KFileItem* i) | ### highlightFile

[protected slots slot]

Emits fileHighlighted( i )

void activatedMenu ( const KFileItem *, const QPoint& pos ) | ### activatedMenu

[protected slots virtual slot]

Called upon right-click to activate the popupmenu.

void sortByName () | ### sortByName

[protected slots slot]

Changes sorting to sort by name

void sortBySize () | ### sortBySize

[protected slots slot]

Changes sorting to sort by size

void sortByDate () | ### sortByDate

[protected slots slot]

Changes sorting to sort by date

void sortReversed () | ### sortReversed

[protected slots slot]

Changes sorting to reverse sorting

void toggleDirsFirst () | ### toggleDirsFirst

[protected slots slot]

Toggles showing directories first / having them sorted like files.

void toggleIgnoreCase () | ### toggleIgnoreCase

[protected slots slot]

Toggles case sensitive / case insensitive sorting

void slotCompletionMatch (const QString& match) | ### slotCompletionMatch

[protected slots slot]

Tries to make the given `match` as current item in the view and emits completion( match )

void urlEntered (const KURL& ) | ### urlEntered

[signal]

void updateInformation (int files, int dirs) | ### updateInformation

[signal]

void completion (const QString&) | ### completion

[signal]

void finishedLoading () | ### finishedLoading

[signal]

void viewChanged ( KFileView * newView ) | ### viewChanged

[signal]

Emitted whenever the current fileview is changed, either by an explicit call to setView() or by the user selecting a different view thru the GUI.

void fileHighlighted ( const KFileItem *item ) | ### fileHighlighted

[signal]

Emitted when a file is highlighted or generally the selection changes in multiselection mode. In the latter case, `item` is 0L. You can access the selected items with selectedItems().

void dirActivated ( const KFileItem *item ) | ### dirActivated

[signal]

void fileSelected ( const KFileItem *item ) | ### fileSelected

[signal]

void virtual_hook ( int id, void* data ) | ### virtual_hook

[protected virtual]

- Author: Stephan Kulow , Carsten Pfeiffer
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:37:17 2003, using kdoc 2.0a54.