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 |
bool | isHidden () 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().
References KURL::addPath(), KIO::decodeFileName(), init(), isLocalFile(), KMimeType::mimeType(), KGlobal::staticQString(), and KIO::UDSEntry. |
|
Creates an item representing a file, from all the necessary info for it.
References init(). |
|
Creates an item representing a file, for which the mimetype is already known.
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 160 of file kfileitem.cpp. References assign(). |
|
Destructs the KFileItem. Extra data set via setExtraData() is not deleted. Definition at line 166 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 230 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 250 of file kfileitem.cpp. References init(). Referenced by KDirListerCache::FileRenamed(). |
|
Returns the url of the file.
Referenced by KDirListerCache::FilesRemoved(), KDirOperator::insertNewFiles(), KPropsDlgPlugin::isDesktopFile(), KFilePropsPlugin::KFilePropsPlugin(), KFileTreeViewItem::path(), 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).
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)
References KIO::decodeFileName(). Referenced by setURL(). |
|
Returns the permissions of the file (stat.st_mode containing only permissions).
Referenced by KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(). |
|
Returns the access permissions for the file as a string.
References parsePermissions(). Referenced by KFileListViewItem::init(). |
|
Returns the file type (stat.st_mode containing only S_IFDIR, S_IFLNK, ...).
Referenced by acceptsDrops(), init(), KPropsDlgPlugin::isDesktopFile(), KFilePropsPlugin::KFilePropsPlugin(), and KSimpleFileFilter::passesFilter(). |
|
Returns the owner of the file.
References KURL::path(), and user(). Referenced by getToolTipText(), KFileListViewItem::init(), KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), and user(). |
|
Returns the group of the file.
References group(), and KURL::path(). Referenced by getToolTipText(), group(), KFileListViewItem::init(), and KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(). |
|
Returns true if this item represents a link in the UNIX sense of a link.
Referenced by KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), KFilePropsPlugin::KFilePropsPlugin(), and parsePermissions(). |
|
Returns true if this item represents a directory.
References endl(), and 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).
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.
References KURL::path(). Referenced by overlays(). |
|
Checks whether the file is hidden.
References KURL::fileName(), and KURL::isEmpty(). Referenced by overlays(). |
|
Returns the link destination if isLink() == true.
References KURL::path(). Referenced by getStatusBarInfo(), getToolTipText(), KFilePropsPlugin::KFilePropsPlugin(), and run(). |
|
Returns the size of the file, if known.
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
References KURL::path(). Referenced by cmp(), KFilePropsPlugin::KFilePropsPlugin(), KFileIconView::setSorting(), and timeString(). |
|
Requests the modification, access or creation time as a string, depending on
References KLocale::formatDateTime(), KGlobal::locale(), and time(). Referenced by getToolTipText(), and KFileListViewItem::init(). |
|
Returns true if the file is a local file.
Referenced by KPropsDlgPlugin::isDesktopFile(), and KFileItem(). |
|
Returns the text of the file item. It's not exactly the filename since some decoding happens ('%2F'->'/').
Referenced by getStatusBarInfo(), KFileListViewItem::init(), 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.
Referenced by KFileDialog::multiSelectionChanged(), KSimpleFileFilter::passesFilter(), KDirOperator::prepareCompletionObjects(), and KFileView::setCurrentItem(). |
|
Returns the mimetype of the file item.
If
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.
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.
Referenced by KSimpleFileFilter::passesFilter(). |
|
Returns the descriptive comment for this mime type, or the mime type itself if none is present.
References determineMimeType(). Referenced by KFilePropsPlugin::KFilePropsPlugin(). |
|
Returns the full path name to the icon that represents this mime type.
References determineMimeType(). |
|
Returns a pixmap representing the file.
References endl(), KURL::fileName(), KMimeType::findByURL(), kdWarning(), KMimeType::mimeType(), overlays(), KURL::path(), KURL::setPath(), and KGlobal::staticQString(). Referenced by KFileListViewItem::init(), 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.
References KURL::fileName(), KNFSShare::instance(), KSambaShare::instance(), KNFSShare::isDirectoryShared(), KSambaShare::isDirectoryShared(), isHidden(), 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
References determineMimeType(), KIO::filesize_t, linkDest(), size(), and text(). |
|
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.
References KIO::convertSize(), determineMimeType(), group(), KFileMetaInfo::isEmpty(), KFileMetaInfoItem::isValid(), KFileMetaInfo::isValid(), KFileMetaInfo::item(), linkDest(), 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.
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 673 of file kfileitem.cpp. References linkDest(), and url(). |
|
Returns the UDS entry. Used by the tree view to access all details by position.
|
|
Used when updating a directory. marked == seen when refreshing.
|
|
Marks the item.
|
|
Unmarks the item.
|
|
Somewhat like a comparison operator, but more explicit.
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
kfileItem->setExtraData( this, iconViewItem );
and can later access the iconViewItem by doing
KFileIconViewItem *iconViewItem = static_cast<KFileIconViewItem*>( kfileItem->extraData( this )); 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!
Referenced by KFileIconView::insertItem(), and KFileDetailView::insertItem(). |
|
Retrieves the extra data with the given
Referenced by KFileDetailView::ensureItemVisible(), KFileTreeView::findItem(), KFileTreeBranch::findTVIByURL(), KFileDetailView::isSelected(), KFileDetailView::removeItem(), KFileDetailView::setCurrentItem(), and KFileDetailView::setSelected(). |
|
Retrieves the extra data with the given
|
|
Removes the extra data associated with an item via
|
|
Sets the metainfo of this item to
Referenced by KFileMetaPropsPlugin::KFileMetaPropsPlugin(). |
|
Returns the metainfo of this item.
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.
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 171 of file kfileitem.cpp. References KIO::filesize_t, KMimeType::findByURL(), KURL::isEmpty(), KURL::isLocalFile(), mode(), and KURL::path(). Referenced by KFileItem(), refresh(), and refreshMimeType(). |
|
Parses the given permission set and provides it for access(). Definition at line 766 of file kfileitem.cpp. References isDir(), and isLink(). Referenced by getToolTipText(), and permissionsString(). |
The documentation for this class was generated from the following files: