kdirsize.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __KDIRSIZE_H
00021 #define __KDIRSIZE_H
00022
00023 #include <kio/job.h>
00024 #include <kfileitem.h>
00025
00030 class KIO_EXPORT KDirSize : public KIO::Job
00031 {
00032 Q_OBJECT
00033 protected:
00034 KDirSize( const KURL & directory );
00035 KDirSize( const KFileItemList & lstItems );
00036 ~KDirSize() {}
00037
00038 public:
00042 KIO::filesize_t totalSize() const { return m_totalSize; }
00043
00049 KIO::filesize_t totalFiles() const { return m_totalFiles; }
00050
00057 KIO::filesize_t totalSubdirs() const { return m_totalSubdirs; }
00058
00063 static KDirSize * dirSizeJob( const KURL & directory );
00064
00072 static KDirSize * dirSizeJob( const KFileItemList & lstItems );
00073
00078 static KIO::filesize_t dirSize( const KURL & directory );
00079
00080 protected:
00084 void setSync() { m_bAsync = false; }
00085
00086 void startNextJob( const KURL & url );
00087
00088 protected slots:
00089
00090 virtual void slotResult( KIO::Job *job );
00091 void slotEntries( KIO::Job * , const KIO::UDSEntryList &);
00092 void processList();
00093
00094 private:
00095 bool m_bAsync;
00096 KIO::filesize_t m_totalSize;
00097 KIO::filesize_t m_totalFiles;
00098 KIO::filesize_t m_totalSubdirs;
00099 KFileItemList m_lstItems;
00100 protected:
00101 virtual void virtual_hook( int id, void* data );
00102 private:
00103 class KDirSize* d;
00104 };
00105
00106 #endif
|