diff options
Diffstat (limited to 'rbutil/rbutilqt/base')
-rw-r--r-- | rbutil/rbutilqt/base/utils.cpp | 14 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/utils.h | 1 |
2 files changed, 15 insertions, 0 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 | |||
1050 | qint64 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 |