time

KFileItem(3)               Library Functions Manual               KFileItem(3)



NAME
       KFileItem - A KFileItem is a generic class to handle a file, local or
       remote.


SYNOPSIS
       #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)
           Creates an item representing a file, from a UDSEntry.
       KFileItem (mode_t _mode, mode_t _permissions, const  KURL &_url, bool
           _determineMimeTypeOnDemand=false)
           Creates an item representing a file, from all the necessary info
           for it.
       KFileItem (const  KURL &url, const  QString &mimeType, mode_t mode)
           Creates an item representing a file, for which the mimetype is
           already known.
       KFileItem (const  KFileItem &item)
           Copy constructor.
       virtual ~KFileItem ()
           Destructs the KFileItem.
       void refresh ()
           Re-reads information (currently only permissions and mimetype).
       void refreshMimeType ()
           Re-reads mimetype information.
       const  KURL & url () const
           Returns the url of the file.
       void setURL (const  KURL &url)
           Sets the item's URL.
       mode_t permissions () const
           Returns the permissions of the file (stat.st_mode containing only
           permissions).
       QString permissionsString () const
           Returns the access permissions for the file as a string.
       mode_t mode () const
           Returns the file type (stat.st_mode containing only S_IFDIR,
           S_IFLNK, ...).
       QString user () const
           Returns the owner of the file.
       QString group () const
           Returns the group of the file.
       bool isLink () const
           Returns true if this item represents a link in the UNIX sense of a
           link.
       bool isDir () const
           Returns true if this item represents a directory.
       bool isFile () const
           Returns true if this item represents a file (and not a a
           directory).
       bool isReadable () const
       QString linkDest () const
           Returns the link destination if isLink() == true.
       KIO::filesize_t size () const
           Returns the size of the file, if known.
       time_t time (unsigned int which) const
       QString timeString (unsigned int which=KIO::UDS_MODIFICATION_TIME)
           const
       bool isLocalFile () const
           Returns true if the file is a local file.
       const  QString & text () const
           Returns the text of the file item.
       const  QString & name (bool lowerCase=false) const
       QString mimetype () const
           Returns the mimetype of the file item.
       KMimeType::Ptr determineMimeType ()
           Returns the mimetype of the file item.
       KMimeType::Ptr mimeTypePtr () const
           Returns the currently known mimetype of the file item.
       bool isMimeTypeKnown () const
       QString mimeComment ()
           Returns the descriptive comment for this mime type, or the mime
           type itself if none is present.
       QString iconName ()
           Returns the full path name to the icon that represents this mime
           type.
       QPixmap pixmap (int _size, int _state=0) const
           Returns a pixmap representing the file.
       int overlays () const
           Returns the overlays (bitfield of KIcon::*Overlay flags) that are
           used for this item's pixmap.
       QString getStatusBarInfo ()
           Returns the string to be displayed in the statusbar, e.g.
       QString getToolTipText (int maxcount=6)
       bool acceptsDrops ()
           Returns true if files can be dropped over this item.
       void run ()
           Let's 'KRun' this file ! (e.g.
       const  KIO::UDSEntry & entry () const
           Returns the UDS entry.
       bool isMarked () const
       void mark ()
       void unmark ()
       bool cmp (const  KFileItem &item)
           Somewhat like a comparison operator, but more explicit.
       virtual void setExtraData (const  void *key, void *value)
           This allows to associate some 'extra' data to a KFileItem.
       virtual const  void * extraData (const  void *key) const
       virtual void * extraData (const  void *key)
           The non-const version of the previous extraData() method.
       virtual void removeExtraData (const  void *key)
           Removes the extra data associated with an item via key.
       void setMetaInfo (const  KFileMetaInfo &info)
           Sets the metainfo of this item to info.
       const  KFileMetaInfo & metaInfo (bool autoget=true, int
           what=KFileMetaInfo::Fastest) const
           Returns the metainfo of this item.
       void assign (const  KFileItem &item)
           Somewhat like an assignment operator, but more explicit.

   Protected Member Functions
       void init (bool _determineMimeTypeOnDemand)
           Computes the text, mode, and mimetype from the UDSEntry Called by
           constructor, but can be called again later.
       QString parsePermissions (mode_t perm) const
           Parses the given permission set and provides it for access().
       virtual void virtual_hook (int id, void *data)

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 40 of file kfileitem.h.

Constructor & Destructor Documentation
   KFileItem::KFileItem (const KIO::UDSEntry & _entry, const KURL & _url, bool
       _determineMimeTypeOnDemand = false, bool _urlIsDirectory = false)
       Creates an item representing a file, from a UDSEntry. This is the
       preferred constructor when using KIO::listDir().

       Parameters:
           _entry the KIO entry used to get the file, contains info about it
           _url the file url
           _determineMimeTypeOnDemand specifies if the mimetype of the given
           URL should be determined immediately or on demand
           _urlIsDirectory specifies if the url is just the directory of the
           fileitem and the filename from the UDSEntry should be used.

       Definition at line 47 of file kfileitem.cpp.

       References KURL::addPath(), QValueList::begin(), KIO::decodeFileName(),
       QValueList::end(), init(), QString::isEmpty(), KMimeType::mimeType(),
       KGlobal::staticQString(), and KIO::UDSEntry.

   KFileItem::KFileItem (mode_t _mode, mode_t _permissions, const KURL & _url,
       bool _determineMimeTypeOnDemand = false)
       Creates an item representing a file, from all the necessary info for
       it. Parameters:
           _mode the file mode (according to stat() (e.g. S_IFDIR...) Set to
           KFileItem::Unknown if unknown. For local files, KFileItem will use
           stat().
           _permissions the access permissions If you set both the mode and
           the permissions, you save a ::stat() for local files. Set to
           KFileItem::Unknown if you don't know the mode or the permission.
           _url the file url
           _determineMimeTypeOnDemand specify if the mimetype of the given URL
           should be determined immediately or on demand

       Definition at line 113 of file kfileitem.cpp.

       References KIO::decodeFileName(), and init().

   KFileItem::KFileItem (const KURL & url, const QString & mimeType, mode_t
       mode)
       Creates an item representing a file, for which the mimetype is already
       known. Parameters:
           url the file url
           mimeType the name of the file's mimetype
           mode the mode (S_IFDIR...)

       Definition at line 130 of file kfileitem.cpp.

       References KIO::decodeFileName(), init(), and KMimeType::mimeType().

   KFileItem::KFileItem (const KFileItem & item)
       Copy constructor. Note that extra-data set via setExtraData() is not
       deeply copied -- just the pointers are copied. Definition at line 149
       of file kfileitem.cpp.

       References assign().

   KFileItem::~KFileItem () [virtual]
       Destructs the KFileItem. Extra data set via setExtraData() is not
       deleted. Definition at line 155 of file kfileitem.cpp.

Member Function Documentation
   void KFileItem::refresh ()
       Re-reads information (currently only permissions and mimetype). This is
       called when the _file_ changes. Definition at line 217 of file
       kfileitem.cpp.

       References init(), and KIO::UDSEntry.

       Referenced by KDirListerCache::FilesChanged().

   void KFileItem::refreshMimeType ()
       Re-reads mimetype information. This is called when the mimetype
       database changes. Definition at line 237 of file kfileitem.cpp.

       References init().

       Referenced by KDirListerCache::FileRenamed().

   const KURL& KFileItem::url () const [inline]
       Returns the url of the file. Definition at line 111 of file
       kfileitem.h.

       Referenced by KDirListerCache::FilesRemoved(),
       KDirOperator::insertNewFiles(), KPropsDlgPlugin::isDesktopFile(),
       KFilePropsPlugin::KFilePropsPlugin(),
       KPropertiesDialog::KPropertiesDialog(), run(),
       KDirOperator::selectDir(), and KFileTreeViewItem::url().

   void KFileItem::setURL (const KURL & 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 243 of
       file kfileitem.cpp.

       References KIO::decodeFileName().

       Referenced by KDirListerCache::FileRenamed().

   mode_t KFileItem::permissions () const [inline]
       Returns the permissions of the file (stat.st_mode containing only
       permissions). Definition at line 122 of file kfileitem.h.

       Referenced by
       KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin().

   QString KFileItem::permissionsString () const
       Returns the access permissions for the file as a string. Definition at
       line 720 of file kfileitem.cpp.

       References QString::isNull(), and parsePermissions().

       Referenced by KFileListViewItem::init().

   mode_t KFileItem::mode () const [inline]
       Returns the file type (stat.st_mode containing only S_IFDIR, S_IFLNK,
       ...). Definition at line 132 of file kfileitem.h.

       Referenced by acceptsDrops(), init(), KPropsDlgPlugin::isDesktopFile(),
       and KFilePropsPlugin::KFilePropsPlugin().

   QString KFileItem::user () const
       Returns the owner of the file. Definition at line 337 of file
       kfileitem.cpp.

       References QFile::encodeName(), QString::fromLocal8Bit(),
       QString::isEmpty(), KURL::path(), and user().

       Referenced by getToolTipText(), KFileListViewItem::init(),
       KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(), and user().

   QString KFileItem::group () const
       Returns the group of the file. Definition at line 352 of file
       kfileitem.cpp.

       References QFile::encodeName(), QString::fromLocal8Bit(), group(),
       QString::isEmpty(), KURL::path(), and QString::sprintf().

       Referenced by getToolTipText(), group(), KFileListViewItem::init(), and
       KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin().

   bool KFileItem::isLink () const [inline]
       Returns true if this item represents a link in the UNIX sense of a
       link. Definition at line 148 of file kfileitem.h.

       Referenced by
       KFilePermissionsPropsPlugin::KFilePermissionsPropsPlugin(),
       KFilePropsPlugin::KFilePropsPlugin(), and parsePermissions().

   bool KFileItem::isDir () const
       Returns true if this item represents a directory. Definition at line
       497 of file kfileitem.cpp.

       References QString::isEmpty().

       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().

   bool KFileItem::isFile () const [inline]
       Returns true if this item represents a file (and not a a directory).
       Definition at line 158 of file kfileitem.h.

       References isDir().

       Referenced by KFileView::updateNumbers().

   bool KFileItem::isReadable () const
       Returns:
           true if the file can be read - more precisely, returns false if we
           know for sure it can't. In some cases (remote files), we may return
           true even though it can't be read.

       Definition at line 476 of file kfileitem.cpp.

       References QFile::encodeName(), and KURL::path().

       Referenced by overlays().

   QString KFileItem::linkDest () const
       Returns the link destination if isLink() == true. Definition at line
       250 of file kfileitem.cpp.

       References QValueList::begin(), QFile::decodeName(),
       QFile::encodeName(), QValueList::end(), and KURL::path().

       Referenced by getStatusBarInfo(), KFilePropsPlugin::KFilePropsPlugin(),
       and run().

   KIO::filesize_t KFileItem::size () const
       Returns the size of the file, if known. Definition at line 271 of file
       kfileitem.cpp.

       References QValueList::begin(), QFile::encodeName(), QValueList::end(),
       and KURL::path().

       Referenced by cmp(), getStatusBarInfo(), getToolTipText(),
       KFileListViewItem::init(), KFilePropsPlugin::KFilePropsPlugin(), and
       KFileIconView::setSorting().

   time_t KFileItem::time (unsigned int which) const
       Parameters:
           which UDS_MODIFICATION_TIME, UDS_ACCESS_TIME or even
           UDS_CREATION_TIME

       Returns:
           the time asked for, (time_t)0 if not available

       See also:
           timeString

       Definition at line 293 of file kfileitem.cpp.

       References QValueList::begin(), QFile::encodeName(), QValueList::end(),
       and KURL::path().

       Referenced by cmp(), KFilePropsPlugin::KFilePropsPlugin(),
       KFileIconView::setSorting(), and timeString().

   QString KFileItem::timeString (unsigned int which =
       KIO::UDS_MODIFICATION_TIME) const
       Parameters:
           which UDS_MODIFICATION_TIME, UDS_ACCESS_TIME or even
           UDS_CREATION_TIME

       Returns:
           a formatted string of the requested time.

       See also:
           time

       Definition at line 762 of file kfileitem.cpp.

       References KLocale::formatDateTime(), KGlobal::locale(),
       QDateTime::setTime_t(), and time().

       Referenced by getToolTipText(), and KFileListViewItem::init().

   bool KFileItem::isLocalFile () const [inline]
       Returns true if the file is a local file. Definition at line 195 of
       file kfileitem.h.

       Referenced by KPropsDlgPlugin::isDesktopFile().

   const QString& KFileItem::text () const [inline]
       Returns the text of the file item. It's not exactly the filename since
       some decoding happens ('%2F'->'/'). Definition at line 201 of file
       kfileitem.h.

       Referenced by getStatusBarInfo(), KFileListViewItem::init(),
       KFileIconView::insertItem(), KDirLister::matchesFilter(), and
       KFileIconView::setSorting().

   const QString& KFileItem::name (bool lowerCase = false) const [inline]
       Returns:
           the name of the file item (without a path) Similar to text(), but
           unencoded, i.e. the original name If lowerCase is true, the name
           will be returned in lower case, which is useful to speed up sorting
           by name, case insensitively.

       Definition at line 209 of file kfileitem.h.

       References QString::isNull(), and QString::lower().

       Referenced by KFileDialog::multiSelectionChanged(),
       KDirOperator::prepareCompletionObjects(), and
       KFileView::setCurrentItem().

   QString KFileItem::mimetype () const
       Returns the mimetype of the file item. If determineMimeTypeOnDemand was
       used, this will determine the mimetype first. Equivalent to
       determineMimeType()->name() Definition at line 371 of file
       kfileitem.cpp.

       References determineMimeType().

       Referenced by acceptsDrops(), KPropsDlgPlugin::isDesktopFile(),
       KDirLister::matchesMimeFilter(), and metaInfo().

   KMimeType::Ptr KFileItem::determineMimeType ()
       Returns the mimetype of the file item. If determineMimeTypeOnDemand was
       used, this will determine the mimetype first. Definition at line 377 of
       file kfileitem.cpp.

       References KMimeType::findByURL().

       Referenced by assign(), getStatusBarInfo(), getToolTipText(),
       iconName(), mimeComment(), and mimetype().

   KMimeType::Ptr KFileItem::mimeTypePtr () const [inline]
       Returns the currently known mimetype of the file item. This will not
       try to determine the mimetype if unknown. Definition at line 235 of
       file kfileitem.h.

   QString KFileItem::mimeComment ()
       Returns the descriptive comment for this mime type, or the mime type
       itself if none is present. Definition at line 397 of file
       kfileitem.cpp.

       References determineMimeType(), and QString::isEmpty().

       Referenced by KFilePropsPlugin::KFilePropsPlugin().

   QString KFileItem::iconName ()
       Returns the full path name to the icon that represents this mime type.
       Definition at line 407 of file kfileitem.cpp.

       References determineMimeType().

   QPixmap KFileItem::pixmap (int _size, int _state = 0) const
       Returns a pixmap representing the file. Parameters:
           _size Size for the pixmap in pixels. Zero will return the globally
           configured default size.
           _state The state of the icon: KIcon::DefaultState,
           KIcon::ActiveState or KIcon::DisabledState.

       Returns:
           the pixmap

       Definition at line 439 of file kfileitem.cpp.

       References KURL::fileName(), KMimeType::findByURL(),
       KServiceType::icon(), QString::isEmpty(), QPixmap::isNull(),
       QString::left(), QString::length(), KMimeType::mimeType(), overlays(),
       KURL::path(), QString::right(), and KGlobal::staticQString().

       Referenced by KFileListViewItem::init(), KFileIconView::insertItem(),
       and KFileDetailView::updateView().

   int KFileItem::overlays () const
       Returns the overlays (bitfield of KIcon::*Overlay flags) that are used
       for this item's pixmap. Definition at line 412 of file kfileitem.cpp.

       References KURL::fileName(), KIcon::HiddenOverlay,
       KFileShare::isDirectoryShared(), isReadable(), KIcon::LinkOverlay,
       KIcon::LockOverlay, KURL::path(), QString::right(),
       KIcon::ShareOverlay, and KIcon::ZipOverlay.

       Referenced by pixmap().

   QString KFileItem::getStatusBarInfo ()
       Returns the string to be displayed in the statusbar, e.g. when the
       mouse is over this item Definition at line 532 of file kfileitem.cpp.

       References QString::arg(), determineMimeType(), QString::isEmpty(),
       linkDest(), size(), and text().

   QString KFileItem::getToolTipText (int maxcount = 6)
       Parameters:
           maxcount the maximum number of entries shown

       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 571 of file kfileitem.cpp.

       References QString::arg(), KIO::convertSize(), determineMimeType(),
       KStdAccel::end(), QStyleSheet::escape(), group(), QString::isEmpty(),
       KFileMetaInfo::isEmpty(), KFileMetaInfoItem::isValid(),
       KFileMetaInfo::isValid(), KFileMetaInfo::item(), QString::left(),
       QString::length(), metaInfo(), parsePermissions(),
       KFileMetaInfo::preferredKeys(), size(), KFileMetaInfoItem::string(),
       timeString(), KFileMetaInfoItem::translatedKey(), and user().

   bool KFileItem::acceptsDrops ()
       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 507 of file
       kfileitem.cpp.

       References QFile::encodeName(), mimetype(), mode(), and KURL::path().

   void KFileItem::run ()
       Let's 'KRun' this file ! (e.g. when file is clicked or double-clicked
       or return is pressed) Definition at line 639 of file kfileitem.cpp.

       References linkDest(), and url().

   const KIO::UDSEntry& KFileItem::entry () const [inline]
       Returns the UDS entry. Used by the tree view to access all details by
       position. Definition at line 298 of file kfileitem.h.

       References KIO::UDSEntry.

   bool KFileItem::cmp (const KFileItem & item)
       Somewhat like a comparison operator, but more explicit. Definition at
       line 650 of file kfileitem.cpp.

       References m_bIsLocalURL, m_bLink, m_fileMode, m_group, m_permissions,
       m_strName, m_user, size(), and time().

   void KFileItem::setExtraData (const void * key, void * value) [virtual]
       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!

       See also:
           extraData

           removeExtraData

       Definition at line 691 of file kfileitem.cpp.

       References KStdAccel::key().

       Referenced by KFileIconView::insertItem(), and KFileDetailView::insertItem().

   const  void * KFileItem::extraData (const void * key) const [virtual]
       Returns:
           the extra data associated to an item with key via setExtraData.
           Returns 0L if nothing was associated with key.

       See also:
           extraData

       Definition at line 699 of file kfileitem.cpp.

       References QMapConstIterator::data(), and KStdAccel::key().

       Referenced by KFileDetailView::ensureItemVisible(),
       KFileTreeView::findItem(), KFileTreeBranch::findTVIByURL(),
       KFileDetailView::isSelected(), KFileDetailView::removeItem(),
       KFileDetailView::setCurrentItem(), and KFileDetailView::setSelected().

   void * KFileItem::extraData (const void * key) [virtual]
       The non-const version of the previous extraData() method. Definition at
       line 707 of file kfileitem.cpp.

       References QMapIterator::data(), and KStdAccel::key().

   void KFileItem::removeExtraData (const void * key) [virtual]
       Removes the extra data associated with an item via key. Definition at
       line 715 of file kfileitem.cpp.

       References KStdAccel::key().

   void KFileItem::setMetaInfo (const KFileMetaInfo & info)
       Sets the metainfo of this item to info. Definition at line 769 of file
       kfileitem.cpp.

       Referenced by KFileMetaPropsPlugin::KFileMetaPropsPlugin().

   const  KFileMetaInfo & KFileItem::metaInfo (bool autoget = true, int what =
       KFileMetaInfo::Fastest) const
       Returns the metainfo of this item. If autoget is true, it will
       automatically be created Definition at line 774 of file kfileitem.cpp.

       References KURL::isLocalFile(), KFileMetaInfo::isValid(), mimetype(),
       and KURL::path().

       Referenced by getToolTipText(), and
       KFileMetaPropsPlugin::KFileMetaPropsPlugin().

   void KFileItem::assign (const KFileItem & item)
       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 663 of file kfileitem.cpp.

       References 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().

   void KFileItem::init (bool _determineMimeTypeOnDemand) [protected]
       Computes the text, mode, and mimetype from the UDSEntry Called by
       constructor, but can be called again later. Definition at line 159 of
       file kfileitem.cpp.

       References KMimeType::defaultMimeType(), QFile::encodeName(),
       KMimeType::findByURL(), KURL::isLocalFile(), mode(), and KURL::path().

       Referenced by KFileItem(), refresh(), and refreshMimeType().

   QString KFileItem::parsePermissions (mode_t perm) const [protected]
       Parses the given permission set and provides it for access().
       Definition at line 728 of file kfileitem.cpp.

       References QString::fromLatin1(), isDir(), and isLink().

       Referenced by getToolTipText(), and permissionsString().


Author
       Generated automatically by Doxygen for kio Library from the source
       code.




kio Library                       28 Jan 2004                     KFileItem(3)