KIO
kfileitem.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KFILEITEM_H
00021 #define KFILEITEM_H
00022
00023 #include <sys/stat.h>
00024
00025 #include <kio/global.h>
00026 #include <kio/udsentry.h>
00027 #include <kurl.h>
00028
00029 #include <kacl.h>
00030 #include <kmimetype.h>
00031 #include <kfilemetainfo.h>
00032 #include <kdatetime.h>
00033 #include <QtCore/QList>
00034
00035 class KFileItemPrivate;
00036
00045 class KIO_EXPORT KFileItem
00046 {
00047 public:
00048 enum { Unknown = (mode_t) - 1 };
00049
00056 enum FileTimes {
00057
00058 ModificationTime = 0,
00059 AccessTime = 1,
00060 CreationTime = 2
00061
00062 };
00063
00070 KFileItem();
00071
00087 KFileItem( const KIO::UDSEntry& entry, const KUrl& itemOrDirUrl,
00088 bool delayedMimeTypes = false,
00089 bool urlIsDirectory = false );
00090
00104 KFileItem( mode_t mode, mode_t permissions, const KUrl& url,
00105 bool delayedMimeTypes = false );
00106
00113 KFileItem( const KUrl &url, const QString &mimeType, mode_t mode );
00114
00118 KFileItem(const KFileItem& other);
00122 KFileItem& operator=(const KFileItem& other);
00123
00128 ~KFileItem();
00129
00134 void refresh();
00135
00140 void refreshMimeType();
00141
00146 KUrl url() const;
00147
00153 void setUrl( const KUrl &url );
00154
00161 void setName( const QString &name );
00162
00167 mode_t permissions() const;
00168
00173 QString permissionsString() const;
00174
00179 bool hasExtendedACL() const;
00180
00185 KACL ACL() const;
00186
00191 KACL defaultACL() const;
00192
00197 mode_t mode() const;
00198
00203 QString user() const;
00204
00209 QString group() const;
00210
00216 bool isLink() const;
00217
00222 bool isDir() const;
00223
00228 bool isFile() const;
00229
00236 bool isReadable() const;
00237
00244 bool isWritable() const;
00245
00250 bool isHidden() const;
00251
00258 bool isDesktopFile() const;
00259
00264 QString linkDest() const;
00265
00272 KUrl targetUrl() const;
00273
00282 KUrl nepomukUri() const;
00283
00289 QString localPath() const;
00290
00295 KIO::filesize_t size() const;
00296
00303 KDateTime time( FileTimes which ) const;
00304 KDE_DEPRECATED time_t time( unsigned int which ) const;
00305
00313 QString timeString( FileTimes which = ModificationTime ) const;
00314 KDE_DEPRECATED QString timeString( unsigned int which) const;
00315
00320 bool isLocalFile() const;
00321
00327 QString text() const;
00328
00336 QString name( bool lowerCase = false ) const;
00337
00344 QString mimetype() const;
00345
00352 KMimeType::Ptr determineMimeType() const;
00353
00359 KMimeType::Ptr mimeTypePtr() const;
00360
00367 bool isMimeTypeKnown() const;
00368
00374 QString mimeComment() const;
00375
00381 QString iconName() const;
00382
00391 QPixmap pixmap( int _size, int _state=0 ) const;
00392
00399 QStringList overlays() const;
00400
00406 QString getStatusBarInfo() const;
00407
00416 QString getToolTipText(int maxcount = 6) const;
00417
00428 KDE_DEPRECATED bool acceptsDrops() const;
00429
00434 void run( QWidget* parentWidget = 0 ) const;
00435
00441 KIO::UDSEntry entry() const;
00442
00447 bool isMarked() const;
00452 void mark();
00457 void unmark();
00458
00464 bool isRegularFile() const;
00465
00474 bool cmp( const KFileItem & item ) const;
00475
00476 bool operator==(const KFileItem& other) const;
00477
00478 bool operator!=(const KFileItem& other) const;
00479
00480
00485 operator QVariant() const;
00486
00522 KDE_DEPRECATED void setExtraData( const void *key, void *value );
00523
00533 KDE_DEPRECATED const void * extraData( const void *key ) const;
00534
00541 KDE_DEPRECATED void removeExtraData( const void *key );
00542
00549 void setMetaInfo( const KFileMetaInfo & info ) const;
00550
00556 KFileMetaInfo metaInfo(bool autoget = true,
00557 int what = KFileMetaInfo::Fastest) const;
00558
00562 KDE_DEPRECATED void assign( const KFileItem & item );
00563
00583 KDE_DEPRECATED void setUDSEntry( const KIO::UDSEntry& entry, const KUrl& url,
00584 bool delayedMimeTypes = false,
00585 bool urlIsDirectory = false );
00586
00591 KUrl mostLocalUrl(bool &local) const;
00592
00596 bool isNull() const;
00597
00598 private:
00599 QSharedDataPointer<KFileItemPrivate> d;
00600
00601 private:
00602 KIO_EXPORT friend QDataStream & operator<< ( QDataStream & s, const KFileItem & a );
00603 KIO_EXPORT friend QDataStream & operator>> ( QDataStream & s, KFileItem & a );
00604 };
00605
00606 Q_DECLARE_METATYPE(KFileItem)
00607
00608 Q_CORE_EXPORT uint qHash(const QString &key);
00609 inline uint qHash(const KFileItem& item){ return qHash(item.url().url()); }
00610
00615 class KIO_EXPORT KFileItemList : public QList<KFileItem>
00616 {
00617 public:
00619 KFileItemList();
00620
00622 KFileItemList( const QList<KFileItem> &items );
00623
00629 KFileItem findByName( const QString& fileName ) const;
00630
00636 KFileItem findByUrl( const KUrl& url ) const;
00637
00639 KUrl::List urlList() const;
00640
00643 KUrl::List targetUrlList() const;
00644
00645
00646 };
00647
00648 KIO_EXPORT QDataStream & operator<< ( QDataStream & s, const KFileItem & a );
00649 KIO_EXPORT QDataStream & operator>> ( QDataStream & s, KFileItem & a );
00650
00655 KIO_EXPORT QDebug operator<<(QDebug stream, const KFileItem& item);
00656
00657 #endif