rbutilqt: Simplify Utils::recursiveFolderSize() using QDirIterator

Co-authored-by: Qwen3.7-Plus
Change-Id: I73ee0f25c0b06d120364e245f8adf66e9fa09bbf
This commit is contained in:
Vencislav Atanasov 2026-07-07 23:33:30 +03:00
parent 40b9d09022
commit f9504df7bd

View file

@ -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;
} }