mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-10 08:03:04 -04:00
rbutilqt: Simplify Utils::recursiveFolderSize() using QDirIterator
Co-authored-by: Qwen3.7-Plus Change-Id: I73ee0f25c0b06d120364e245f8adf66e9fa09bbf
This commit is contained in:
parent
40b9d09022
commit
f9504df7bd
1 changed files with 5 additions and 7 deletions
|
|
@ -30,6 +30,7 @@
|
||||||
#include <QtCore>
|
#include <QtCore>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QStorageInfo>
|
#include <QStorageInfo>
|
||||||
|
#include <QDirIterator>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
@ -963,13 +964,10 @@ bool Utils::ejectDevice(const QString &device)
|
||||||
qint64 Utils::recursiveFolderSize(QString path)
|
qint64 Utils::recursiveFolderSize(QString path)
|
||||||
{
|
{
|
||||||
qint64 size = 0;
|
qint64 size = 0;
|
||||||
QList<QFileInfo> items = QDir(path).entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
|
QDirIterator it(path, QDir::Files | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
|
||||||
for (const auto &item: std::as_const(items)) {
|
while (it.hasNext()) {
|
||||||
size += item.size();
|
it.next();
|
||||||
}
|
size += it.fileInfo().size();
|
||||||
QList<QString> folders = QDir(path).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
|
|
||||||
for (auto const& folder: std::as_const(folders)) {
|
|
||||||
size += recursiveFolderSize(path + "/" + folder);
|
|
||||||
}
|
}
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue