00001
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