KFile
KDirOperator Class Reference
#include <kdiroperator.h>

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�n Sahlstr� <bjorn@kbear.org> 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())); KConfigGroup grp(KGlobal::config(),"Your KDiroperator ConfigGroup" ); op->readConfig( &grp); 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()).
A widget for displaying files and browsing directories.
Definition at line 99 of file kdiroperator.h.
Public Types | |
| enum | ActionType { SortActions = 1, ViewActions = 2, NavActions = 4, FileActions = 8, AllActions = 15 } |
Public Slots | |
| virtual void | back () |
| virtual void | cdUp () |
| virtual void | deleteSelected () |
| virtual void | forward () |
| virtual void | home () |
| QString | makeCompletion (const QString &) |
| QString | makeDirCompletion (const QString &) |
| virtual void | mkdir () |
| virtual void | rereadDir () |
| virtual void | trashSelected () |
| void | updateDir () |
| void | updateSelectionDependentActions () |
Signals | |
| void | completion (const QString &) |
| void | dirActivated (const KFileItem &item) |
| void | dropped (const KFileItem &item, QDropEvent *event, const KUrl::List &urls) |
| void | fileHighlighted (const KFileItem &item) |
| void | fileSelected (const KFileItem &item) |
| void | finishedLoading () |
| void | updateInformation (int files, int dirs) |
| void | urlEntered (const KUrl &) |
| void | viewChanged (QAbstractItemView *newView) |
Public Member Functions | |
| KActionCollection * | actionCollection () const |
| void | clearFilter () |
| void | clearHistory () |
| void | close () |
| KCompletion * | completionObject () const |
| virtual KIO::DeleteJob * | del (const KFileItemList &items, QWidget *parent=0, bool ask=true, bool showProgress=true) |
| KCompletion * | dirCompletionObject () const |
| bool | dirHighlighting () const |
| KDirLister * | dirLister () const |
| bool | dirOnlyMode () const |
| bool | isRoot () const |
| bool | isSelected (const KFileItem &item) const |
| KDirOperator (const KUrl &urlName=KUrl(), QWidget *parent=0) | |
| QStringList | mimeFilter () const |
| virtual bool | mkdir (const QString &directory, bool enterDirectory=true) |
| KFile::Modes | mode () const |
| QString | nameFilter () const |
| int | numDirs () const |
| int | numFiles () const |
| bool | onlyDoubleClickSelectsFiles () const |
| QProgressBar * | progressBar () const |
| virtual void | readConfig (const KConfigGroup &configGroup) |
| KFileItemList | selectedItems () const |
| virtual void | setAcceptDrops (bool b) |
| void | setCurrentItem (const KFileItem &item) |
| void | setCurrentItem (const QString &filename) |
| virtual void | setDropOptions (int options) |
| virtual void | setEnableDirHighlighting (bool enable) |
| void | setMimeFilter (const QStringList &mimetypes) |
| virtual void | setMode (KFile::Modes m) |
| void | setNameFilter (const QString &filter) |
| void | setOnlyDoubleClickSelectsFiles (bool enable) |
| virtual void | setPreviewWidget (KPreviewWidgetBase *w) |
| virtual void | setShowHiddenFiles (bool s) |
| void | setSorting (QDir::SortFlags) |
| void | setupMenu (int whichActions) |
| virtual void | setUrl (const KUrl &url, bool clearforward) |
| virtual void | setView (KFile::FileView viewKind) |
| virtual void | setView (QAbstractItemView *view) |
| virtual void | setViewConfig (KConfigGroup &configGroup) |
| bool | showHiddenFiles () const |
| QDir::SortFlags | sorting () const |
| virtual KIO::CopyJob * | trash (const KFileItemList &items, QWidget *parent, bool ask=true, bool showProgress=true) |
| KUrl | url () const |
| QAbstractItemView * | view () const |
| KConfigGroup * | viewConfigGroup () const |
| virtual void | writeConfig (KConfigGroup &configGroup) |
| virtual | ~KDirOperator () |
Static Public Member Functions | |
| static bool | dirOnlyMode (uint mode) |
Protected Slots | |
| void | highlightFile (const KFileItem &item) |
| void | pathChanged () |
| void | resetCursor () |
| virtual void | selectDir (const KFileItem &item) |
| void | selectFile (const KFileItem &item) |
| void | slotCompletionMatch (const QString &match) |
| void | sortByDate () |
| void | sortByName () |
| void | sortBySize () |
| void | sortByType () |
| void | sortReversed () |
| void | toggleDirsFirst () |
| void | toggleIgnoreCase () |
Protected Member Functions | |
| virtual void | activatedMenu (const KFileItem &item, const QPoint &pos) |
| virtual void | changeEvent (QEvent *event) |
| bool | checkPreviewSupport () |
| virtual QAbstractItemView * | createView (QWidget *parent, KFile::FileView viewKind) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| void | prepareCompletionObjects () |
| virtual void | resizeEvent (QResizeEvent *event) |
| virtual void | setDirLister (KDirLister *lister) |
| void | setupActions () |
| void | setupMenu () |
| void | updateSortActions () |
| void | updateViewActions () |
Member Enumeration Documentation
The various action types.
These values can be or'd together
Definition at line 107 of file kdiroperator.h.
Constructor & Destructor Documentation
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.
Definition at line 311 of file kdiroperator.cpp.
| KDirOperator::~KDirOperator | ( | ) | [virtual] |
Member Function Documentation
| KActionCollection * KDirOperator::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
- 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 size : sorts by size
- by date : sorts by date
- by type : sorts by type
- descending : reverses the sort order
- 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
- preview : shows a preview next to the fileview
- properties : shows a KPropertiesDialog for the selected files
You can e.g. use
actionCollection()->action( "up" )->plug( someToolBar );
- Returns:
- all available Actions
Definition at line 531 of file kdiroperator.cpp.
| void KDirOperator::activatedMenu | ( | const KFileItem & | item, | |
| const QPoint & | pos | |||
| ) | [protected, virtual] |
Called upon right-click to activate the popupmenu.
Definition at line 1135 of file kdiroperator.cpp.
| void KDirOperator::back | ( | ) | [virtual, slot] |
Goes one step back in the history and opens that url.
Definition at line 1048 of file kdiroperator.cpp.
| void KDirOperator::cdUp | ( | ) | [virtual, slot] |
| void KDirOperator::changeEvent | ( | QEvent * | event | ) | [protected, virtual] |
| bool KDirOperator::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.
Definition at line 1122 of file kdiroperator.cpp.
| void KDirOperator::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
Definition at line 1093 of file kdiroperator.cpp.
| void KDirOperator::clearHistory | ( | ) |
| void KDirOperator::close | ( | ) |
Stops loading immediately.
You don't need to call this, usually.
Reimplemented from QWidget.
Definition at line 818 of file kdiroperator.cpp.
| void KDirOperator::completion | ( | const QString & | ) | [signal] |
| KCompletion * KDirOperator::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()
Definition at line 521 of file kdiroperator.cpp.
| QAbstractItemView * KDirOperator::createView | ( | QWidget * | parent, | |
| KFile::FileView | viewKind | |||
| ) | [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 viewKind is the predefined view to be set, note: this can be several ones OR:ed together
- Returns:
- the created view
- See also:
- KFile::FileView
Definition at line 1262 of file kdiroperator.cpp.
| KIO::DeleteJob * KDirOperator::del | ( | const KFileItemList & | items, | |
| QWidget * | parent = 0, |
|||
| bool | ask = true, |
|||
| bool | showProgress = true | |||
| ) | [virtual] |
Starts and returns a KIO::DeleteJob to delete the given items.
- Parameters:
-
items the list of items to be deleted 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
Definition at line 689 of file kdiroperator.cpp.
| void KDirOperator::deleteSelected | ( | ) | [virtual, slot] |
| void KDirOperator::dirActivated | ( | const KFileItem & | item | ) | [signal] |
| KCompletion * KDirOperator::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()
Definition at line 526 of file kdiroperator.cpp.
| bool KDirOperator::dirHighlighting | ( | ) | const |
- Returns:
- whether the last directory will be made the current item when going up in the directory hierarchy.
Default is false.
Definition at line 1963 of file kdiroperator.cpp.
| KDirLister * KDirOperator::dirLister | ( | ) | const |
| bool KDirOperator::dirOnlyMode | ( | uint | mode | ) | [static] |
Definition at line 1973 of file kdiroperator.cpp.
| bool KDirOperator::dirOnlyMode | ( | ) | const |
- Returns:
- true if we are in directory-only mode, that is, no files are shown.
Definition at line 1968 of file kdiroperator.cpp.
| void KDirOperator::dropped | ( | const KFileItem & | item, | |
| QDropEvent * | event, | |||
| const KUrl::List & | urls | |||
| ) | [signal] |
Emitted when files are dropped.
Dropping files is disabled by default. You need to enable it with setAcceptDrops()
- Parameters:
-
item the item on which the drop occurred or 0. event the drop event itself. urls the urls that where dropped.
Definition at line 1162 of file kdiroperator.cpp.
| void KDirOperator::fileHighlighted | ( | const KFileItem & | item | ) | [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 KDirOperator::fileSelected | ( | const KFileItem & | item | ) | [signal] |
| void KDirOperator::finishedLoading | ( | ) | [signal] |
| void KDirOperator::forward | ( | ) | [virtual, slot] |
Goes one step forward in the history and opens that url.
Definition at line 1062 of file kdiroperator.cpp.
| void KDirOperator::highlightFile | ( | const KFileItem & | item | ) | [protected, slot] |
| void KDirOperator::home | ( | ) | [virtual, slot] |
| bool KDirOperator::isRoot | ( | ) | const |
- Returns:
- true if we are displaying the root directory of the current url
Definition at line 383 of file kdiroperator.cpp.
- Returns:
- true if
itemis currently selected, or false otherwise.
Definition at line 500 of file kdiroperator.cpp.
Tries to complete the given string (only completes files).
Definition at line 1510 of file kdiroperator.cpp.
Tries to complete the given string (only completes directores).
Definition at line 1521 of file kdiroperator.cpp.
| QStringList KDirOperator::mimeFilter | ( | ) | const |
| void KDirOperator::mkdir | ( | ) | [virtual, slot] |
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.
Definition at line 657 of file kdiroperator.cpp.
| KFile::Modes KDirOperator::mode | ( | ) | const |
| QString KDirOperator::nameFilter | ( | ) | const |
- Returns:
- the current namefilter.
- See also:
- setNameFilter
Definition at line 1106 of file kdiroperator.cpp.
| int KDirOperator::numDirs | ( | ) | const |
- Returns:
- the number of directories in the currently listed url.
Returns 0 if there is no view.
Definition at line 511 of file kdiroperator.cpp.
| int KDirOperator::numFiles | ( | ) | const |
- Returns:
- the number of files in the currently listed url.
Returns 0 if there is no view.
Definition at line 516 of file kdiroperator.cpp.
| bool KDirOperator::onlyDoubleClickSelectsFiles | ( | ) | const |
- Returns:
- whether files (not directories) should only be select()ed by double-clicks.
- See also:
- setOnlyDoubleClickSelectsFiles
Definition at line 1894 of file kdiroperator.cpp.
| void KDirOperator::pathChanged | ( | ) | [protected, slot] |
Called after setUrl() to load the directory, update the history, etc.
Definition at line 1010 of file kdiroperator.cpp.
| void KDirOperator::prepareCompletionObjects | ( | ) | [protected] |
Synchronizes the completion objects with the entries of the currently listed url.
Automatically called from makeCompletion() and makeDirCompletion()
Definition at line 1532 of file kdiroperator.cpp.
| QProgressBar * KDirOperator::progressBar | ( | ) | const |
- Returns:
- the progress widget, that is shown during directory listing.
You can for example reparent() it to put it into a statusbar.
Definition at line 1942 of file kdiroperator.cpp.
| void KDirOperator::readConfig | ( | const KConfigGroup & | configGroup | ) | [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
to apply it.
- See also:
- setView
Definition at line 1753 of file kdiroperator.cpp.
| void KDirOperator::rereadDir | ( | ) | [virtual, slot] |
| void KDirOperator::resetCursor | ( | ) | [protected, slot] |
Restores the normal cursor after showing the busy-cursor.
Also hides the progressbar.
Definition at line 393 of file kdiroperator.cpp.
| void KDirOperator::resizeEvent | ( | QResizeEvent * | event | ) | [protected, virtual] |
| void KDirOperator::selectDir | ( | const KFileItem & | item | ) | [protected, virtual, slot] |
| KFileItemList KDirOperator::selectedItems | ( | ) | const |
- Returns:
- a list of all currently selected items.
If there is no view, or there are no selected items, an empty list is returned.
Definition at line 480 of file kdiroperator.cpp.
| void KDirOperator::selectFile | ( | const KFileItem & | item | ) | [protected, slot] |
| void KDirOperator::setAcceptDrops | ( | bool | b | ) | [virtual] |
Reimplemented - allow dropping of files if b is true.
- Parameters:
-
b true if the widget should allow dropping of files
Definition at line 1277 of file kdiroperator.cpp.
| void KDirOperator::setCurrentItem | ( | const KFileItem & | item | ) |
Clears the current selection and attempts to set item as the the current item.
Definition at line 1492 of file kdiroperator.cpp.
| void KDirOperator::setCurrentItem | ( | const QString & | filename | ) |
Clears the current selection and attempts to set filename the current file.
filename is just the name, no path or url.
Definition at line 1483 of file kdiroperator.cpp.
| void KDirOperator::setDirLister | ( | KDirLister * | lister | ) | [protected, virtual] |
Sets a custom KDirLister to list directories.
The KDirOperator takes ownership of the given KDirLister.
Definition at line 1425 of file kdiroperator.cpp.
| void KDirOperator::setDropOptions | ( | int | options | ) | [virtual] |
Sets the options for dropping files.
CURRENTLY NOT IMPLEMENTED
Definition at line 1285 of file kdiroperator.cpp.
| void KDirOperator::setEnableDirHighlighting | ( | bool | enable | ) | [virtual] |
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.
Definition at line 1958 of file kdiroperator.cpp.
| void KDirOperator::setMimeFilter | ( | const QStringList & | mimetypes | ) |
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:
- KDirLister::setMimeFilter
Definition at line 1111 of file kdiroperator.cpp.
| void KDirOperator::setMode | ( | KFile::Modes | m | ) | [virtual] |
Sets the listing/selection mode for the views, an OR'ed combination of.
- File
- Directory
- Files
- ExistingOnly
- LocalOnly
Definition at line 1328 of file kdiroperator.cpp.
| void KDirOperator::setNameFilter | ( | const QString & | filter | ) |
Sets a filter like "*.cpp *.h *.o".
Only files matching that filter will be shown.
- See also:
- KDirLister::setNameFilter
Definition at line 1100 of file kdiroperator.cpp.
| void KDirOperator::setOnlyDoubleClickSelectsFiles | ( | bool | enable | ) |
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.
Definition at line 1885 of file kdiroperator.cpp.
| void KDirOperator::setPreviewWidget | ( | KPreviewWidgetBase * | w | ) | [virtual] |
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!
Definition at line 458 of file kdiroperator.cpp.
| void KDirOperator::setShowHiddenFiles | ( | bool | s | ) | [virtual] |
| void KDirOperator::setSorting | ( | QDir::SortFlags | spec | ) |
| void KDirOperator::setupActions | ( | ) | [protected] |
Sets up all the actions.
Called from the constructor, you usually better not call this.
Definition at line 1556 of file kdiroperator.cpp.
| void KDirOperator::setupMenu | ( | ) | [protected] |
Sets up the context-menu with all the necessary actions.
Called from the constructor, you usually don't need to call this.
Definition at line 1668 of file kdiroperator.cpp.
| void KDirOperator::setupMenu | ( | int | whichActions | ) |
Sets up the action menu.
- Parameters:
-
whichActions is an value of OR'd ActionTypes that controls which actions to show in the action menu
Definition at line 1673 of file kdiroperator.cpp.
KDE 4.1 API Reference