KFileItem Class Reference
A KFileItem is a generic class to handle a file, local or remote. More...
#include <kfileitem.h>
Public Types | |
enum | { Unknown = (mode_t) - 1 } |
Public Member Functions | |
KFileItem (const KIO::UDSEntry &_entry, const KURL &_url, bool _determineMimeTypeOnDemand=false, bool _urlIsDirectory=false) | |
KFileItem (mode_t _mode, mode_t _permissions, const KURL &_url, bool _determineMimeTypeOnDemand=false) | |
KFileItem (const KURL &url, const QString &mimeType, mode_t mode) | |
KFileItem (const KFileItem &item) | |
virtual | ~KFileItem () |
void | refresh () |
void | refreshMimeType () |
const KURL & | url () const |
void | setURL (const KURL &url) |
void | setName (const QString &name) |
mode_t | permissions () const |
QString | permissionsString () const |
mode_t | mode () const |
QString | user () const |
QString | group () const |
bool | isLink () const |
bool | isDir () const |
bool | isFile () const |
bool | isReadable () const |
QString | linkDest () const |
KIO::filesize_t | size () const |
time_t | time (unsigned int which) const |
QString | timeString (unsigned int which=KIO::UDS_MODIFICATION_TIME) const |
bool | isLocalFile () const |
const QString & | text () const |
const QString & | name (bool lowerCase=false) const |
QString | mimetype () const |
KMimeType::Ptr | determineMimeType () |
KMimeType::Ptr | mimeTypePtr () const |
bool | isMimeTypeKnown () const |
QString | mimeComment () |
QString | iconName () |
QPixmap | pixmap (int _size, int _state=0) const |
int | overlays () const |
QString | getStatusBarInfo () |
QString | getToolTipText (int maxcount=6) |
bool | acceptsDrops () |
void | run () |
const KIO::UDSEntry & | entry () const |
bool | isMarked () const |
void | mark () |
void | unmark () |
bool | cmp (const KFileItem &item) |
virtual void | setExtraData (const void *key, void *value) |
virtual const void * | extraData (const void *key) const |
virtual void * | extraData (const void *key) |
virtual void | removeExtraData (const void *key) |
void | setMetaInfo (const KFileMetaInfo &info) |
const KFileMetaInfo & | metaInfo (bool autoget=true, int what=KFileMetaInfo::Fastest) const |
void | assign (const KFileItem &item) |
Protected Member Functions | |
void | init (bool _determineMimeTypeOnDemand) |
QString | parsePermissions (mode_t perm) const |
virtual void | virtual_hook (int id, void *data) |
Friends | |
QDataStream & | operator<< (QDataStream &s, const KFileItem &a) |
QDataStream & | operator>> (QDataStream &s, KFileItem &a) |
Detailed Description
A KFileItem is a generic class to handle a file, local or remote.In particular, it makes it easier to handle the result of KIO::listDir (UDSEntry isn't very friendly to use). It includes many file attributes such as mimetype, icon, text, mode, link...
Definition at line 39 of file kfileitem.h.
Constructor & Destructor Documentation
|
Creates an item representing a file, from a UDSEntry. This is the preferred constructor when using KIO::listDir().
Definition at line 53 of file kfileitem.cpp. References KURL::addPath(), KIO::decodeFileName(), init(), KMimeType::mimeType(), KGlobal::staticQString(), and KIO::UDSEntry. |
|
Creates an item representing a file, from all the necessary info for it.
Definition at line 123 of file kfileitem.cpp. References init(). |
|
Creates an item representing a file, for which the mimetype is already known.
Definition at line 140 of file kfileitem.cpp. References init(), and KMimeType::mimeType(). |
|
Copy constructor. Note that extra-data set via setExtraData() is not deeply copied -- just the pointers are copied. Definition at line 159 of file kfileitem.cpp. References assign(). |
|
Destructs the KFileItem. Extra data set via setExtraData() is not deleted. Definition at line 165 of file kfileitem.cpp. |
Member Function Documentation
|
Re-reads information (currently only permissions and mimetype). This is called when the _file_ changes. Definition at line 229 of file kfileitem.cpp. References KIO::filesize_t, init(), and KIO::UDSEntry. Referenced by KDirListerCache::FilesChanged(). |
|
Re-reads mimetype information. This is called when the mimetype database changes. Definition at line 249 of file kfileitem.cpp. References init(). Referenced by KDirListerCache::FileRenamed(). |
|
Returns the url of the file.
Definition at line 111 of file kfileitem.h. Referenced by KDirListerCache::FilesRemoved(), KDirOperator::insertNewFiles(), KPropsDlgPlugin::isDesktopFile(), KFilePropsPlugin::KFilePropsPlugin(), run(), KDirOperator::selectDir(), and KFileTreeViewItem::url(). |
|
Sets the item's URL. Do not call unless you know what you are doing! (used for example when an item got renamed).
Definition at line 255 of file kfileitem.cpp. References setName(). Referenced by KDirListerCache::FileRenamed(). |
|
Sets the item's name (i.e. the filename). This is automatically done by setURL, to set the name from the URL's fileName(). This method is provided for some special cases like relative paths as names (KFindPart)
Definition at line 261 of file kfileitem.cpp. References KIO::decodeFileName(). Referenced by setURL(). |
|
Returns the permissions of the file (stat.st_mode containing only permissions).
Definition at line 132 of file kfileitem.h. Referenced by KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(). |
|
Returns the access permissions for the file as a string.
Definition at line 747 of file kfileitem.cpp. References parsePermissions(). Referenced by KFileListViewItem::init(). |
|
Returns the file type (stat.st_mode containing only S_IFDIR, S_IFLNK, ...).
Definition at line 144 of file kfileitem.h. Referenced by acceptsDrops(), KPropsDlgPlugin::isDesktopFile(), KFilePropsPlugin::KFilePropsPlugin(), and KSimpleFileFilter::passesFilter(). |
|
Returns the owner of the file.
Definition at line 354 of file kfileitem.cpp. References KURL::path(). Referenced by getToolTipText(), KFileListViewItem::init(), and KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(). |
|
Returns the group of the file.
Definition at line 369 of file kfileitem.cpp. References KURL::path(). Referenced by getToolTipText(), KFileListViewItem::init(), and KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(). |
|
Returns true if this item represents a link in the UNIX sense of a link.
Definition at line 163 of file kfileitem.h. Referenced by KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), KFilePropsPlugin::KFilePropsPlugin(), and parsePermissions(). |
|
Returns true if this item represents a directory.
Definition at line 520 of file kfileitem.cpp. References kdDebug(). Referenced by KFileViewSignaler::activate(), KDirListerCache::FilesRemoved(), KCombiView::insertItem(), KDirOperator::insertNewFiles(), KFileTreeViewItem::isDir(), isFile(), KDirLister::itemsForDir(), KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), KFilePropsPlugin::KFilePropsPlugin(), KDirLister::matchesFilter(), parsePermissions(), KDirOperator::prepareCompletionObjects(), KFileView::removeItem(), KFileDialog::setSelection(), KFileIconView::setSorting(), and KFileView::updateNumbers(). |
|
Returns true if this item represents a file (and not a a directory).
Definition at line 175 of file kfileitem.h. References isDir(). Referenced by KFileView::updateNumbers(). |
|
Checks whether the file is readable. In some cases (remote files), we may return true even though it can't be read.
Definition at line 499 of file kfileitem.cpp. References KURL::path(). Referenced by overlays(). |
|
Returns the link destination if isLink() == true.
Definition at line 267 of file kfileitem.cpp. References KURL::path(). Referenced by getStatusBarInfo(), KFilePropsPlugin::KFilePropsPlugin(), and run(). |
|
Returns the size of the file, if known.
Definition at line 288 of file kfileitem.cpp. References KIO::filesize_t, and KURL::path(). Referenced by cmp(), getStatusBarInfo(), getToolTipText(), KFileListViewItem::init(), KFilePropsPlugin::KFilePropsPlugin(), and KFileIconView::setSorting(). |
|
Requests the modification, access or creation time, depending on
Definition at line 310 of file kfileitem.cpp. References KURL::path(). Referenced by cmp(), KFilePropsPlugin::KFilePropsPlugin(), KFileIconView::setSorting(), and timeString(). |
|
Requests the modification, access or creation time as a string, depending on
Definition at line 789 of file kfileitem.cpp. References KLocale::formatDateTime(), KGlobal::locale(), and time(). Referenced by getToolTipText(), and KFileListViewItem::init(). |
|
Returns true if the file is a local file.
Definition at line 218 of file kfileitem.h. Referenced by KPropsDlgPlugin::isDesktopFile(). |
|
Returns the text of the file item. It's not exactly the filename since some decoding happens ('%2F'->'/').
Definition at line 225 of file kfileitem.h. Referenced by KFileListViewItem::init(), KFileIconView::insertItem(), KDirLister::matchesFilter(), and KFileIconView::setSorting(). |
|
Return the name of the file item (without a path). Similar to text(), but unencoded, i.e. the original name.
Definition at line 234 of file kfileitem.h. Referenced by KFileDialog::multiSelectionChanged(), KSimpleFileFilter::passesFilter(), KDirOperator::prepareCompletionObjects(), and KFileView::setCurrentItem(). |
|
Returns the mimetype of the file item.
If
Definition at line 388 of file kfileitem.cpp. References determineMimeType(). Referenced by acceptsDrops(), KPropsDlgPlugin::isDesktopFile(), KFilePropsPlugin::KFilePropsPlugin(), KDirLister::matchesMimeFilter(), and metaInfo(). |
|
Returns the mimetype of the file item. If _determineMimeTypeOnDemand was used in the constructor, this will determine the mimetype first.
Definition at line 394 of file kfileitem.cpp. References KMimeType::findByURL(). Referenced by assign(), getStatusBarInfo(), getToolTipText(), iconName(), mimeComment(), and mimetype(). |
|
Returns the currently known mimetype of the file item. This will not try to determine the mimetype if unknown.
Definition at line 264 of file kfileitem.h. Referenced by KSimpleFileFilter::passesFilter(). |
|
Returns the descriptive comment for this mime type, or the mime type itself if none is present.
Definition at line 414 of file kfileitem.cpp. References determineMimeType(). Referenced by KFilePropsPlugin::KFilePropsPlugin(). |
|
Returns the full path name to the icon that represents this mime type.
Definition at line 424 of file kfileitem.cpp. References determineMimeType(). |
|
Returns a pixmap representing the file.
Definition at line 457 of file kfileitem.cpp. References KURL::fileName(), KMimeType::findByURL(), kdWarning(), KMimeType::mimeType(), overlays(), KURL::path(), KURL::setPath(), and KGlobal::staticQString(). Referenced by KFileListViewItem::init(), KFileIconView::insertItem(), and KFileDetailView::updateView(). |
|
Returns the overlays (bitfield of KIcon::*Overlay flags) that are used for this item's pixmap. Overlays are used to show for example, whether a file can be modified.
Definition at line 430 of file kfileitem.cpp. References KURL::fileName(), KFileShare::isDirectoryShared(), isReadable(), and KURL::path(). Referenced by pixmap(). |
|
Returns the string to be displayed in the statusbar, e.g. when the mouse is over this item
Definition at line 555 of file kfileitem.cpp. References determineMimeType(), KIO::filesize_t, linkDest(), and size(). |
|
Returns the string to be displayed in the tool tip when the mouse is over this item. This may load a plugin to determine additional information specific to the mimetype of the file.
Definition at line 594 of file kfileitem.cpp. References KIO::convertSize(), determineMimeType(), group(), KFileMetaInfo::isEmpty(), KFileMetaInfoItem::isValid(), KFileMetaInfo::isValid(), KFileMetaInfo::item(), metaInfo(), parsePermissions(), KFileMetaInfo::preferredKeys(), size(), KFileMetaInfoItem::string(), timeString(), KFileMetaInfoItem::translatedKey(), and user(). |
|
Returns true if files can be dropped over this item. Contrary to popular belief, not only dirs will return true :) Executables, .desktop files, will do so as well.
Definition at line 530 of file kfileitem.cpp. References mimetype(), mode(), and KURL::path(). |
|
Let's "KRun" this file ! (e.g. when file is clicked or double-clicked or return is pressed) Definition at line 662 of file kfileitem.cpp. References linkDest(), and url(). |
|
Returns the UDS entry. Used by the tree view to access all details by position.
Definition at line 335 of file kfileitem.h. References KIO::UDSEntry. |
|
Used when updating a directory. marked == seen when refreshing.
Definition at line 341 of file kfileitem.h. |
|
Marks the item.
Definition at line 346 of file kfileitem.h. |
|
Unmarks the item.
Definition at line 351 of file kfileitem.h. |
|
Somewhat like a comparison operator, but more explicit.
Definition at line 673 of file kfileitem.cpp. References m_bIsLocalURL, m_bLink, m_fileMode, m_group, m_permissions, m_strName, m_user, size(), and time(). |
|
This allows to associate some "extra" data to a KFileItem. As one KFileItem can be used by several objects (often views) which all need to add some data, you have to use a key to reference your extra data within the KFileItem. That way a KFileItem can hold and provide access to all those views separately. I.e. a KFileIconView that associates a KFileIconViewItem (an item suitable for use with QIconView) does
and can later access the iconViewItem by doing
This is usually more efficient then having every view associate data to items by using a separate QDict or QMap. Note: you have to remove and destroy the data you associated yourself when you don't need it anymore!
Definition at line 718 of file kfileitem.cpp. Referenced by KFileIconView::insertItem(), and KFileDetailView::insertItem(). |
|
Retrieves the extra data with the given
Definition at line 726 of file kfileitem.cpp. Referenced by KFileDetailView::ensureItemVisible(), KFileTreeView::findItem(), KFileTreeBranch::findTVIByURL(), KFileDetailView::isSelected(), KFileDetailView::removeItem(), KFileDetailView::setCurrentItem(), and KFileDetailView::setSelected(). |
|
Retrieves the extra data with the given
Definition at line 734 of file kfileitem.cpp. |
|
Removes the extra data associated with an item via
Definition at line 742 of file kfileitem.cpp. |
|
Sets the metainfo of this item to
Definition at line 796 of file kfileitem.cpp. Referenced by KFileMetaPropsPlugin::KFileMetaPropsPlugin(). |
|
Returns the metainfo of this item.
Definition at line 801 of file kfileitem.cpp. References KFileMetaInfo::isValid(), mimetype(), and KGlobalSettings::showFilePreview(). Referenced by getToolTipText(), and KFileMetaPropsPlugin::KFileMetaPropsPlugin(). |
|
Somewhat like an assignment operator, but more explicit. Note: extra-data set with setExtraData() is not copied, so be careful what you do! I.e. KDirLister uses it to update existing items from a fresh item.
Definition at line 686 of file kfileitem.cpp. References d, determineMimeType(), m_access, m_bIsLocalURL, m_bLink, m_bMimeTypeKnown, m_entry, m_fileMode, m_group, m_guessedMimeType, m_metaInfo, m_permissions, m_pMimeType, m_size, m_strLowerCaseName, m_strName, m_strText, m_time, m_url, and m_user. Referenced by KFileItem(). |
|
Computes the text, mode, and mimetype from the UDSEntry Called by constructor, but can be called again later.
Definition at line 170 of file kfileitem.cpp. References KIO::filesize_t, KMimeType::findByURL(), KURL::isLocalFile(), and KURL::path(). Referenced by KFileItem(), refresh(), and refreshMimeType(). |
|
Parses the given permission set and provides it for access().
Definition at line 755 of file kfileitem.cpp. References isDir(), and isLink(). Referenced by getToolTipText(), and permissionsString(). |
The documentation for this class was generated from the following files: