From f9504df7bdaf0231ac508d1daba40d5c89572248 Mon Sep 17 00:00:00 2001 From: Vencislav Atanasov Date: Tue, 7 Jul 2026 23:33:30 +0300 Subject: [PATCH] rbutilqt: Simplify Utils::recursiveFolderSize() using QDirIterator Co-authored-by: Qwen3.7-Plus Change-Id: I73ee0f25c0b06d120364e245f8adf66e9fa09bbf --- utils/rbutilqt/base/utils.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/utils/rbutilqt/base/utils.cpp b/utils/rbutilqt/base/utils.cpp index 92e09de569..566782205d 100644 --- a/utils/rbutilqt/base/utils.cpp +++ b/utils/rbutilqt/base/utils.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -963,13 +964,10 @@ bool Utils::ejectDevice(const QString &device) qint64 Utils::recursiveFolderSize(QString path) { qint64 size = 0; - QList items = QDir(path).entryInfoList(QDir::Files | QDir::NoDotAndDotDot); - for (const auto &item: std::as_const(items)) { - size += item.size(); - } - QList 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; }