mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-07-10 13:29:52 -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 <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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue