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 <QDebug>
#include <QStorageInfo>
#include <QDirIterator>
#include <cstdlib>
#include <stdio.h>
@ -963,13 +964,10 @@ bool Utils::ejectDevice(const QString &device)
qint64 Utils::recursiveFolderSize(QString path)
{
qint64 size = 0;
QList<QFileInfo> items = QDir(path).entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
for (const auto &item: std::as_const(items)) {
size += item.size();
}
QList<QString> folders = QDir(path).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
for (auto const& folder: std::as_const(folders)) {
size += recursiveFolderSize(path + "/" + folder);
QDirIterator it(path, QDir::Files | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
while (it.hasNext()) {
it.next();
size += it.fileInfo().size();
}
return size;
}