KDirLister Class Reference
The dir lister deals with the kiojob used to list and update a directory and has signals for the user of this class (e.g. Helper class for the kiojob used to list and update a directory. More...
#include <kdirlister.h>
Inheritance diagram for KDirLister:

Public Types | |
enum | WhichItems { AllItems = 0, FilteredItems = 1 } |
Signals | |
void | started (const KURL &_url) |
void | completed () |
void | completed (const KURL &_url) |
void | canceled () |
void | canceled (const KURL &_url) |
void | redirection (const KURL &_url) |
void | redirection (const KURL &oldUrl, const KURL &newUrl) |
void | clear () |
void | clear (const KURL &_url) |
void | newItems (const KFileItemList &items) |
void | itemsFilteredByMime (const KFileItemList &items) |
void | deleteItem (KFileItem *_fileItem) |
void | refreshItems (const KFileItemList &items) |
void | infoMessage (const QString &msg) |
void | percent (int percent) |
void | totalSize (KIO::filesize_t size) |
void | processedSize (KIO::filesize_t size) |
void | speed (int bytes_per_second) |
Public Member Functions | |
KDirLister (bool _delayedMimeTypes=false) | |
virtual | ~KDirLister () |
virtual bool | openURL (const KURL &_url, bool _keep=false, bool _reload=false) |
virtual void | stop () |
virtual void | stop (const KURL &_url) |
bool | autoUpdate () const |
virtual void | setAutoUpdate (bool enable) |
bool | autoErrorHandlingEnabled () const |
void | setAutoErrorHandlingEnabled (bool enable, QWidget *parent) |
bool | showingDotFiles () const |
virtual void | setShowingDotFiles (bool _showDotFiles) |
bool | dirOnlyMode () const |
virtual void | setDirOnlyMode (bool dirsOnly) |
const KURL & | url () const |
virtual void | emitChanges () |
virtual void | updateDirectory (const KURL &_dir) |
bool | isFinished () const |
KFileItem * | rootItem () const |
virtual KFileItem * | findByURL (const KURL &_url) const |
KFileItem * | find (const KURL &_url) const |
virtual KFileItem * | findByName (const QString &name) const |
virtual void | setNameFilter (const QString &filter) |
const QString & | nameFilter () const |
virtual void | setMimeFilter (const QStringList &mimeList) |
void | setMimeExcludeFilter (const QStringList &mimeList) |
virtual void | clearMimeFilter () |
const QStringList & | mimeFilters () const |
bool | matchesFilter (const QString &name) const |
bool | matchesMimeFilter (const QString &mime) const |
void | setMainWindow (QWidget *window) |
QWidget * | mainWindow () |
KFileItemList | items (WhichItems which=FilteredItems) const |
KFileItemList | itemsForDir (const KURL &dir, WhichItems which=FilteredItems) const |
Protected Types | |
enum | Changes { NONE = 0, NAME_FILTER = 1, MIME_FILTER = 2, DOT_FILES = 4, DIR_ONLY_MODE = 8 } |
Protected Member Functions | |
virtual bool | matchesFilter (const KFileItem *) const |
virtual bool | matchesMimeFilter (const KFileItem *) const |
virtual bool | doNameFilter (const QString &name, const QPtrList< QRegExp > &filters) const |
virtual bool | doMimeFilter (const QString &mime, const QStringList &filters) const |
bool | doMimeExcludeFilter (const QString &mimeExclude, const QStringList &filters) const |
virtual bool | validURL (const KURL &) const |
virtual void | handleError (KIO::Job *) |
virtual void | virtual_hook (int id, void *data) |
Properties | |
bool | autoUpdate |
bool | showingDotFiles |
bool | dirOnlyMode |
bool | autoErrorHandlingEnabled |
QString | nameFilter |
QStringList | mimeFilter |
Detailed Description
The dir lister deals with the kiojob used to list and update a directory and has signals for the user of this class (e.g. Helper class for the kiojob used to list and update a directory.konqueror view or kdesktop) to create/destroy its items when asked.
This class is independent from the graphical representation of the dir (icon container, tree view, ...) and it stores the items (as KFileItems).
Typical usage :
- Create an instance.
- Connect to at least update, clear, newItem, and deleteItem.
- Call openURL - the signals will be called.
- Reuse the instance when opening a new url (openURL).
- Destroy the instance when not needed anymore (usually destructor).
Definition at line 54 of file kdirlister.h.
Member Enumeration Documentation
|
Used by items() and itemsForDir() to specify whether you want all items for a directory or just the filtered ones.
Definition at line 350 of file kdirlister.h. |
Constructor & Destructor Documentation
|
Create a directory lister.
Definition at line 1548 of file kdirlister.cpp. References endl(), kdDebug(), KDirLister(), setAutoErrorHandlingEnabled(), setAutoUpdate(), setDirOnlyMode(), and setShowingDotFiles(). Referenced by KDirLister(). |
|
Destroy the directory lister.
Definition at line 1564 of file kdirlister.cpp. |
Member Function Documentation
|
Run the directory lister on the given url.
This method causes KDirLister to emit _all_ the items of The newItems() signal may be emitted more than once to supply you with KFileItems, up until the signal completed() is emitted (and isFinished() returns true).
Definition at line 1575 of file kdirlister.cpp. References emitChanges(), endl(), k_funcinfo, kdDebug(), openURL(), KURL::prettyURL(), and validURL(). Referenced by openURL(), KDirOperator::rereadDir(), and KDirOperator::setURL(). |
|
Stop listing all directories currently being listed. Emits canceled() if there was at least one job running. Emits canceled( const KURL& ) for each stopped job if there are at least two dirctories being watched by KDirLister. Definition at line 1594 of file kdirlister.cpp. References endl(), k_funcinfo, and kdDebug(). Referenced by KDirOperator::close(), and ~KDirLister(). |
|
Stop listing the given directory.
Emits canceled() if the killed job was the last running one. Emits canceled( const KURL& ) for the killed job if there are at least two directories being watched by KDirLister. No signal is emitted if there was no job running for
Definition at line 1600 of file kdirlister.cpp. References endl(), k_funcinfo, kdDebug(), and KURL::prettyURL(). |
|
Checks whether KDirWatch will automatically update directories. This is enabled by default.
|
|
Enable/disable automatic directory updating, when a directory changes (using KDirWatch).
Definition at line 1611 of file kdirlister.cpp. References setAutoUpdate(). Referenced by KDirLister(), setAutoUpdate(), and KDirOperator::setDirLister(). |
|
Check whether auto error handling is enabled. If enabled, it will show an error dialog to the user when an error occurs. It is turned on by default.
|
|
Enable or disable auto error handling is enabled. If enabled, it will show an error dialog to the user when an error occurs. It is turned on by default.
Definition at line 1653 of file kdirlister.cpp. References setAutoErrorHandlingEnabled(). Referenced by KDirLister(), and setAutoErrorHandlingEnabled(). |
|
Checks whether hidden files (files beginning with a dot) will be shown. By default this option is disabled (hidden files will be not shown).
|
|
Changes the "is viewing dot files" setting. Calls updateDirectory() if setting changed. By default this option is disabled (hidden files will not be shown).
Definition at line 1625 of file kdirlister.cpp. References setShowingDotFiles(). Referenced by KDirLister(), KDirOperator::readConfig(), and setShowingDotFiles(). |
|
Checks whether the KDirLister only lists directories or all files. By default this option is disabled (all files will be shown).
|
|
Call this to list only directories. By default this option is disabled (all files will be shown).
Definition at line 1639 of file kdirlister.cpp. References setDirOnlyMode(). Referenced by KDirLister(), KFileTreeView::setDirOnlyMode(), setDirOnlyMode(), and KDirOperator::setMode(). |
|
Returns the URL that is listed by this KDirLister.
It might be different from the one given with openURL(). if there was a redirection. If you called openURL() with
Definition at line 1659 of file kdirlister.cpp. Referenced by items(). |
|
Actually emit the changes made with setShowingDotFiles, setDirOnlyMode, setNameFilter and setMimeFilter.
Definition at line 1664 of file kdirlister.cpp. References QPtrListIterator::current(), deleteItem(), doMimeFilter(), and doNameFilter(). Referenced by openURL(), and KDirOperator::updateDir(). |
|
Update the directory
This method causes KDirLister to _only_ emit the items of The current implementation calls updateDirectory automatically for local files, using KDirWatch (if autoUpdate() is true), but it might be useful to force an update manually.
Definition at line 1753 of file kdirlister.cpp. References updateDirectory(). Referenced by updateDirectory(). |
|
Returns true if no io operation is currently in progress.
Definition at line 1758 of file kdirlister.cpp. |
|
Returns the file item of the URL.
Definition at line 1763 of file kdirlister.cpp. |
|
Find an item by its URL.
Definition at line 1768 of file kdirlister.cpp. References findByURL(). Referenced by findByURL(), and KFileTreeView::findItem(). |
|
Find an item by its name.
Definition at line 1773 of file kdirlister.cpp. References findByName(). Referenced by findByName(), and KDirOperator::setCurrentItem(). |
|
Set a name filter to only list items matching this name, e.g. "*.cpp". You can set more than one filter by separating them with whitespace, e.g "*.cpp *.h". Note: the direcory is not automatically reloaded.
Definition at line 1788 of file kdirlister.cpp. References setNameFilter(). Referenced by KDirOperator::clearFilter(), KDirOperator::setNameFilter(), and setNameFilter(). |
|
Returns the current name filter, as set via setNameFilter().
|
|
Set mime-based filter to only list items matching the given mimetypes. NOTE: setting the filter does not automatically reload direcory. Also calling this function will not affect any named filter already set.
Definition at line 1814 of file kdirlister.cpp. References setMimeFilter(). Referenced by KDirOperator::setMimeFilter(), and setMimeFilter(). |
|
Filtering should be done with KFileFilter. This will be implemented in a later revision of KDirLister. This method may be removed then. Set mime-based exclude filter to only list items not matching the given mimetypes NOTE: setting the filter does not automatically reload direcory. Also calling this function will not affect any named filter already set.
Definition at line 1828 of file kdirlister.cpp. References setMimeExcludeFilter(). Referenced by setMimeExcludeFilter(). |
|
Clears the mime based filter.
Definition at line 1838 of file kdirlister.cpp. Referenced by KDirOperator::clearFilter(). |
|
Returns the list of mime based filters, as set via setMimeFilter().
Definition at line 1850 of file kdirlister.cpp. Referenced by KDirOperator::mimeFilter(). |
|
Checks whether
Definition at line 1855 of file kdirlister.cpp. References doNameFilter(), and matchesFilter(). Referenced by itemsForDir(), and matchesFilter(). |
|
Checks whether
Definition at line 1860 of file kdirlister.cpp. References doMimeFilter(), and matchesMimeFilter(). Referenced by itemsForDir(), and matchesMimeFilter(). |
|
Pass the main window this object is associated with this is used for caching authentication data.
Definition at line 2150 of file kdirlister.cpp. References setMainWindow(). Referenced by KDirOperator::setDirLister(), and setMainWindow(). |
|
Returns the main window associated with this object.
Definition at line 2155 of file kdirlister.cpp. |
|
Returns the items listed for the current url(). This method will NOT start listing a directory, you should only call this when receiving the finished() signal. The items in the KFileItemList are references to the items used by KDirLister, so e.g. an item gets destroyed when the deleteItem() signal is emitted.
Definition at line 2160 of file kdirlister.cpp. References items(), itemsForDir(), and url(). Referenced by items(). |
|
Returns the items listed for the given
This method will NOT start listing The items in the KFileItemList are references to the items used by KDirLister, so e.g. an item gets destroyed when the deleteItem() signal is emitted.
Definition at line 2165 of file kdirlister.cpp. References QPtrList::append(), QPtrListIterator::current(), KFileItem::isDir(), itemsForDir(), matchesFilter(), and matchesMimeFilter(). Referenced by items(), and itemsForDir(). |
|
Tell the view that we started to list NOTE: this does _not_ imply that there is really a job running! I.e. KDirLister::jobs() may return an empty list. In this case the items are taken from the cache. The view knows that openURL should start it, so it might seem useless, but the view also needs to know when an automatic update happens.
|
|
Tell the view that listing is finished. There are no jobs running anymore. Referenced by KFileTreeBranch::KFileTreeBranch(). |
|
Tell the view that the listing of the directory There might be other running jobs left. This signal is only emitted if KDirLister is watching more than one directory.
|
|
Tell the view that the user canceled the listing. No running jobs are left. Referenced by KFileTreeBranch::KFileTreeBranch(). |
|
Tell the view that the listing of the directory There might be other running jobs left. This signal is only emitted if KDirLister is watching more than one directory.
|
|
Signal a redirection.
Only emitted if there's just one directory to list, i.e. most probably openURL() has been called with
|
|
Signal a redirection.
|
|
Signal to clear all items. It must always be connected to this signal to avoid doubled items! Referenced by KFileTreeBranch::KFileTreeBranch(). |
|
Signal to empty the directory It is only emitted if the lister is holding more than one directory.
|
|
Signal new items.
|
|
Send a list of items filtered-out by mime-type.
|
|
Signal an item to remove.
ATTENTION: if
Referenced by emitChanges(). |
|
Signal an item to refresh (its mimetype/icon/name has changed). Note: KFileItem::refresh has already been called on those items.
|
|
Emitted to display information about running jobs. Examples of message are "Resolving host", "Connecting to host...", etc.
|
|
Progress signal showing the overall progress of the KDirLister. This allows using a progress bar very easily. (see KProgress)
|
|
Emitted when we know the size of the jobs.
|
|
Regularly emitted to show the progress of this KDirLister.
|
|
Emitted to display information about the speed of the jobs.
|
|
Called for every new item before emitting newItems(). You may reimplement this method in a subclass to implement your own filtering. The default implementation filters out ".." and everything not matching the name filter(s)
Definition at line 1867 of file kdirlister.cpp. References KFileItem::isDir(), matchesFilter(), and KFileItem::text(). |
|
Called for every new item before emitting newItems(). You may reimplement this method in a subclass to implement your own filtering. The default implementation filters out ".." and everything not matching the name filter(s)
Definition at line 1884 of file kdirlister.cpp. References matchesMimeFilter(), and KFileItem::mimetype(). |
|
Called by the public matchesFilter() to do the actual filtering. Those methods may be reimplemented to customize filtering.
Definition at line 1890 of file kdirlister.cpp. References QPtrListIterator::current(), and doNameFilter(). Referenced by doNameFilter(), emitChanges(), and matchesFilter(). |
|
Called by the public matchesMimeFilter() to do the actual filtering. Those methods may be reimplemented to customize filtering.
Definition at line 1899 of file kdirlister.cpp. References doMimeFilter(). Referenced by doMimeFilter(), emitChanges(), and matchesMimeFilter(). |
|
Checks if an url is malformed or not and displays an error message if it is and autoErrorHandling is set to true.
Definition at line 1927 of file kdirlister.cpp. References KURL::isValid(), KURL::prettyURL(), and validURL(). Referenced by openURL(), and validURL(). |
|
Reimplement to customize error handling.
Definition at line 1944 of file kdirlister.cpp. References handleError(), and KIO::Job::showErrorDialog(). Referenced by handleError(). |
The documentation for this class was generated from the following files: