KIO
Go to the documentation of this file.
22 #include <QtCore/QTimer>
32 DirectorySizeJobPrivate()
43 , m_lstItems(lstItems)
54 void startNextJob(
const KUrl & url );
56 void processNextItem();
62 DirectorySizeJobPrivate *d =
new DirectorySizeJobPrivate;
65 d->startNextJob(directory);
71 DirectorySizeJobPrivate *d =
new DirectorySizeJobPrivate(lstItems);
74 QTimer::singleShot( 0, job, SLOT(processNextItem()) );
95 return d_func()->m_totalSize;
100 return d_func()->m_totalFiles;
105 return d_func()->m_totalSubdirs;
108 void DirectorySizeJobPrivate::processNextItem()
111 while (m_currentItem < m_lstItems.count())
113 const KFileItem item = m_lstItems[m_currentItem++];
125 m_totalSize += item.
size();
137 void DirectorySizeJobPrivate::startNextJob(
const KUrl & url )
145 q->addSubjob( listJob );
150 KIO::UDSEntryList::ConstIterator it = list.begin();
151 const KIO::UDSEntryList::ConstIterator
end = list.end();
152 for (; it != end; ++it) {
159 QSet<long> & visitedInodes = m_visitedInodes[device];
160 if (visitedInodes.contains(inode)) {
163 visitedInodes.insert(inode);
170 }
else if (name !=
"..") {
187 if (d->m_currentItem < d->m_lstItems.count())
189 d->processNextItem();
204 return DirectorySizeJobPrivate::newJob(directory);
210 return DirectorySizeJobPrivate::newJob(lstItems);
213 #include "directorysizejob.moc"
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Mon May 5 2014 18:13:35 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.