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
00279 QString localPath() const;
00280
00285 KIO::filesize_t size() const;
00286
00293 KDateTime time( FileTimes which ) const;
00294 KDE_DEPRECATED time_t time( unsigned int which ) const;
00295
00303 QString timeString( FileTimes which = ModificationTime ) const;
00304 KDE_DEPRECATED QString timeString( unsigned int which) const;
00305
00310 bool isLocalFile() const;
00311
00317 QString text() const;
00318
00326 QString name( bool lowerCase = false ) const;
00327
00334 QString mimetype() const;
00335
00342 KMimeType::Ptr determineMimeType() const;
00343
00349 KMimeType::Ptr mimeTypePtr() const;
00350
00357 bool isMimeTypeKnown() const;
00358
00364 QString mimeComment() const;
00365
00371 QString iconName() const;
00372
00381 QPixmap pixmap( int _size, int _state=0 ) const;
00382
00389 QStringList overlays() const;
00390
00396 QString getStatusBarInfo() const;
00397
00406 QString getToolTipText(int maxcount = 6) const;
00407
00418 KDE_DEPRECATED bool acceptsDrops() const;
00419
00424 void run( QWidget* parentWidget = 0 ) const;
00425
00431 KIO::UDSEntry entry() const;
00432
00437 bool isMarked() const;
00442 void mark();
00447 void unmark();
00448
00454 bool isRegularFile() const;
00455
00464 bool cmp( const KFileItem & item ) const;
00465
00466 bool operator==(const KFileItem& other) const;
00467
00468 bool operator!=(const KFileItem& other) const;
00469
00470
00475 operator QVariant() const;
00476
00512 KDE_DEPRECATED void setExtraData( const void *key, void *value );
00513
00523 KDE_DEPRECATED const void * extraData( const void *key ) const;
00524
00531 KDE_DEPRECATED void removeExtraData( const void *key );
00532
00539 void setMetaInfo( const KFileMetaInfo & info ) const;
00540
00546 KFileMetaInfo metaInfo(bool autoget = true,
00547 int what = KFileMetaInfo::Fastest) const;
00548
00552 KDE_DEPRECATED void assign( const KFileItem & item );
00553
00573 KDE_DEPRECATED void setUDSEntry( const KIO::UDSEntry& entry, const KUrl& url,
00574 bool delayedMimeTypes = false,
00575 bool urlIsDirectory = false );
00576
00581 KUrl mostLocalUrl(bool &local) const;
00582
00586 bool isNull() const;
00587
00588 private:
00589 QSharedDataPointer<KFileItemPrivate> d;
00590
00591 private:
00592 KIO_EXPORT friend QDataStream & operator<< ( QDataStream & s, const KFileItem & a );
00593 KIO_EXPORT friend QDataStream & operator>> ( QDataStream & s, KFileItem & a );
00594 };
00595
00596 Q_DECLARE_METATYPE(KFileItem)
00597
00598 Q_CORE_EXPORT uint qHash(const QString &key);
00599 inline uint qHash(const KFileItem& item){ return qHash(item.url().url()); }
00600
00605 class KIO_EXPORT KFileItemList : public QList<KFileItem>
00606 {
00607 public:
00609 KFileItemList();
00610
00612 KFileItemList( const QList<KFileItem> &items );
00613
00619 KFileItem findByName( const QString& fileName ) const;
00620
00626 KFileItem findByUrl( const KUrl& url ) const;
00627
00629 KUrl::List urlList() const;
00630
00633 KUrl::List targetUrlList() const;
00634
00635
00636 };
00637
00638 KIO_EXPORT QDataStream & operator<< ( QDataStream & s, const KFileItem & a );
00639 KIO_EXPORT QDataStream & operator>> ( QDataStream & s, KFileItem & a );
00640
00641
00642 #endif