KIO
kdiskfreespace.cpp
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
00021
00022
00023 #include "kdiskfreespace.h"
00024 #include "kdiskfreespaceinfo.h"
00025 #include <QtCore/QTimer>
00026
00027 #include <kdebug.h>
00028
00029
00030 class KDiskFreeSpace::Private
00031 {
00032 public:
00033 Private(KDiskFreeSpace *parent)
00034 : m_parent(parent)
00035 {}
00036
00037 bool _k_calculateFreeSpace();
00038
00039 KDiskFreeSpace *m_parent;
00040 QString m_path;
00041 };
00042
00043
00044 KDiskFreeSpace::KDiskFreeSpace(QObject *parent)
00045 : QObject(parent), d(new Private(this))
00046 {
00047 }
00048
00049
00050 KDiskFreeSpace::~KDiskFreeSpace()
00051 {
00052 delete d;
00053 }
00054
00055
00056 bool KDiskFreeSpace::readDF( const QString & mountPoint )
00057 {
00058 d->m_path = mountPoint;
00059 return d->_k_calculateFreeSpace();
00060 }
00061
00062
00063 bool KDiskFreeSpace::Private::_k_calculateFreeSpace()
00064 {
00065 KDiskFreeSpaceInfo info = KDiskFreeSpaceInfo::freeSpaceInfo( m_path );
00066 if ( info.isValid() ) {
00067 quint64 sizeKiB = info.size() / 1024;
00068 quint64 availKiB = info.available() / 1024;
00069 emit m_parent->foundMountPoint( info.mountPoint(), sizeKiB, sizeKiB-availKiB, availKiB );
00070 }
00071
00072 emit m_parent->done();
00073
00074 m_parent->deleteLater();
00075
00076 return info.isValid();
00077 }
00078
00079 KDiskFreeSpace * KDiskFreeSpace::findUsageInfo( const QString & path )
00080 {
00081 KDiskFreeSpace * job = new KDiskFreeSpace;
00082 job->d->m_path = path;
00083 QTimer::singleShot(0, job, SLOT(_k_calculateFreeSpace()));
00084 return job;
00085 }
00086
00087 #include "kdiskfreespace.moc"
00088