QList<QStorageInfo> QStorageInfoPrivate::mountedVolumes() { QList<QStorageInfo> volumes; QCFType<CFURLEnumeratorRef> enumerator; enumerator = CFURLEnumeratorCreateForMountedVolumes(Q_NULLPTR, kCFURLEnumeratorSkipInvisibles, Q_NULLPTR); CFURLEnumeratorResult result = kCFURLEnumeratorSuccess; do { CFURLRef url; CFErrorRef error; result = CFURLEnumeratorGetNextURL(enumerator, &url, &error); if (result == kCFURLEnumeratorSuccess) { const QCFString urlString = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); volumes.append(QStorageInfo(urlString)); } } while (result != kCFURLEnumeratorEnd); return volumes; }
double MapDownloadsModel::getFreeSpace(QString dir) { #ifdef HAS_QSTORAGE QStorageInfo storage=QStorageInfo(QDir(dir)); return storage.bytesAvailable(); #else return -1; #endif }
QList<QStorageInfo> QStorageInfoPrivate::mountedVolumes() { QStorageIterator it; if (!it.isValid()) return QList<QStorageInfo>() << root(); QList<QStorageInfo> volumes; while (it.next()) { if (isPseudoFs(it)) continue; const QString mountDir = it.rootPath(); volumes.append(QStorageInfo(mountDir)); } return volumes; }
QList<QStorageInfo> QStorageInfoPrivate::mountedVolumes() { QStorageIterator it; if (!it.isValid()) return QList<QStorageInfo>() << root(); QList<QStorageInfo> volumes; while (it.next()) { const QString mountDir = it.rootPath(); const QByteArray fsName = it.fileSystemType(); if (isPseudoFs(mountDir, fsName)) continue; volumes.append(QStorageInfo(mountDir)); } return volumes; }
QStorageInfo QStorageInfoPrivate::root() { return QStorageInfo(QStringLiteral("/")); }
qint64 Utils::Fs::freeDiskSpaceOnPath(const QString &path) { if (path.isEmpty()) return -1; return QStorageInfo(path).bytesAvailable(); }