Changed: Added getDirectorySize() function

This commit is contained in:
kervala 2016-05-29 20:27:49 +02:00
parent 482865ca74
commit f96d20dedb
2 changed files with 29 additions and 0 deletions

View file

@ -34,6 +34,33 @@ QString qBytesToHumanReadable(qint64 bytes)
return QString::fromUtf8(NLMISC::bytesToHumanReadable(bytes).c_str()); return QString::fromUtf8(NLMISC::bytesToHumanReadable(bytes).c_str());
} }
qint64 getDirectorySize(const QString &directory)
{
qint64 size = 0;
QDir dir(directory);
if (dir.exists())
{
QFileInfoList list = dir.entryInfoList(QDir::Files | QDir::Dirs | QDir::Hidden | QDir::NoSymLinks | QDir::NoDotAndDotDot);
for (int i = 0; i < list.size(); ++i)
{
QFileInfo fileInfo = list.at(i);
if (fileInfo.isDir())
{
size += getDirectorySize(fileInfo.absoluteFilePath());
}
else
{
size += fileInfo.size();
}
}
}
return size;
}
QString qFromUtf8(const std::string &str) QString qFromUtf8(const std::string &str)
{ {
return QString::fromUtf8(str.c_str()); return QString::fromUtf8(str.c_str());

View file

@ -30,6 +30,8 @@
QString qBytesToHumanReadable(qint64 bytes); QString qBytesToHumanReadable(qint64 bytes);
qint64 getDirectorySize(const QString &directory);
// Convert a UTF-8 string to QString // Convert a UTF-8 string to QString
QString qFromUtf8(const std::string &str); QString qFromUtf8(const std::string &str);