summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/base/utils.cpp14
-rw-r--r--rbutil/rbutilqt/base/utils.h1
-rw-r--r--rbutil/rbutilqt/configure.cpp7
3 files changed, 16 insertions, 6 deletions
diff --git a/rbutil/rbutilqt/base/utils.cpp b/rbutil/rbutilqt/base/utils.cpp
index 3ab8aa6906..f2d3f04887 100644
--- a/rbutil/rbutilqt/base/utils.cpp
+++ b/rbutil/rbutilqt/base/utils.cpp
@@ -1046,3 +1046,17 @@ bool Utils::ejectDevice(QString device)
1046 return false; 1046 return false;
1047} 1047}
1048 1048
1049
1050qint64 Utils::recursiveFolderSize(QString path)
1051{
1052 qint64 size = 0;
1053 QList<QFileInfo> items = QDir(path).entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
1054 for (auto item: items) {
1055 size += item.size();
1056 }
1057 QList<QString> folders = QDir(path).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
1058 for (auto folder: folders) {
1059 size += recursiveFolderSize(path + "/" + folder);
1060 }
1061 return size;
1062}
diff --git a/rbutil/rbutilqt/base/utils.h b/rbutil/rbutilqt/base/utils.h
index f46f713525..7f27c7d321 100644
--- a/rbutil/rbutilqt/base/utils.h
+++ b/rbutil/rbutilqt/base/utils.h
@@ -57,6 +57,7 @@ public:
57 static QMap<QString, QList<int> > findRunningProcess(QStringList names); 57 static QMap<QString, QList<int> > findRunningProcess(QStringList names);
58 static QList<int> suspendProcess(QList<int> pidlist, bool suspend); 58 static QList<int> suspendProcess(QList<int> pidlist, bool suspend);
59 static bool ejectDevice(QString device); 59 static bool ejectDevice(QString device);
60 static qint64 recursiveFolderSize(QString path);
60}; 61};
61 62
62#endif 63#endif
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index c2ab61b36d..507d0bec41 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -306,12 +306,7 @@ void Config::setUserSettings()
306 306
307void Config::updateCacheInfo(QString path) 307void Config::updateCacheInfo(QString path)
308{ 308{
309 QList<QFileInfo> fs; 309 qint64 sz = Utils::recursiveFolderSize(path + "/rbutil-cache");
310 fs = QDir(path + "/rbutil-cache/").entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
311 qint64 sz = 0;
312 for(int i = 0; i < fs.size(); i++) {
313 sz += fs.at(i).size();
314 }
315 ui.cacheSize->setText(tr("Current cache size is %L1 kiB.") 310 ui.cacheSize->setText(tr("Current cache size is %L1 kiB.")
316 .arg(sz/1024)); 311 .arg(sz/1024));
317} 312}