summaryrefslogtreecommitdiffstats
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2011-07-15 20:03:05 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2011-07-15 20:03:05 +0000
commitc9f70fe3043fa7b850af524f23700e66eb4e6fd1 (patch)
treefefb328a4af8bc61af1cd5826a8108ad5a475ec3 /rbutil
parent241f28eefce35e1cf9087ab06f1ee474017f6be8 (diff)
downloadrockbox-c9f70fe3043fa7b850af524f23700e66eb4e6fd1.tar.gz
rockbox-c9f70fe3043fa7b850af524f23700e66eb4e6fd1.tar.bz2
rockbox-c9f70fe3043fa7b850af524f23700e66eb4e6fd1.zip
Show volume labels on Windows.
In mountpoint selection and system info dialog show the volume name to make it easier to identify a specific device. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30141 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/base/utils.cpp19
-rw-r--r--rbutil/rbutilqt/base/utils.h1
-rw-r--r--rbutil/rbutilqt/configure.cpp5
-rw-r--r--rbutil/rbutilqt/sysinfo.cpp5
4 files changed, 25 insertions, 5 deletions
diff --git a/rbutil/rbutilqt/base/utils.cpp b/rbutil/rbutilqt/base/utils.cpp
index 1a8607b8e2..1962df2a16 100644
--- a/rbutil/rbutilqt/base/utils.cpp
+++ b/rbutil/rbutilqt/base/utils.cpp
@@ -110,6 +110,23 @@ QString Utils::resolvePathCase(QString path)
}
+QString Utils::filesystemName(QString path)
+{
+ QString name;
+#if defined(Q_OS_WIN32)
+ wchar_t volname[MAX_PATH+1];
+ bool res = GetVolumeInformationW((LPTSTR)path.utf16(), volname, MAX_PATH+1,
+ NULL, NULL, NULL, NULL, NULL);
+ if(res) {
+ name = QString::fromWCharArray(volname);
+ }
+#endif
+
+ qDebug() << "[Utils] Volume name of" << path << "is" << name;
+ return name;
+}
+
+
//! @brief figure the free disk space on a filesystem
//! @param path path on the filesystem to check
//! @return size in bytes
@@ -160,7 +177,7 @@ qulonglong Utils::filesystemSize(QString path, enum Utils::Size type)
}
}
#endif
- qDebug() << "[Utils] Filesystem free:" << path << size;
+ qDebug() << "[Utils] Filesystem:" << path << size;
return size;
}
diff --git a/rbutil/rbutilqt/base/utils.h b/rbutil/rbutilqt/base/utils.h
index bff05cce0a..20ac36eec1 100644
--- a/rbutil/rbutilqt/base/utils.h
+++ b/rbutil/rbutilqt/base/utils.h
@@ -44,6 +44,7 @@ public:
static QString findExecutable(QString name);
static QString checkEnvironment(bool permission);
static int compareVersionStrings(QString s1, QString s2);
+ static QString filesystemName(QString path);
};
#endif
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index e48a89f302..eeac492dff 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -586,10 +586,11 @@ void Config::refreshMountpoint()
// later (to include volume label or similar)
// Skip unwritable mountpoints, they are not useable for us.
if(QFileInfo(mps.at(i)).isWritable()) {
- QString title = QString("%1 (%2 GiB of %3 GiB free)")
+ QString title = QString("%1 %4 (%2 GiB of %3 GiB free)")
.arg(QDir::toNativeSeparators(mps.at(i)))
.arg((double)Utils::filesystemFree(mps.at(i))/(1<<30), 0, 'f', 2)
- .arg((double)Utils::filesystemTotal(mps.at(i))/(1<<30), 0, 'f', 2);
+ .arg((double)Utils::filesystemTotal(mps.at(i))/(1<<30), 0, 'f', 2)
+ .arg(Utils::filesystemName(mps.at(i)));
ui.mountPoint->addItem(title, mps.at(i));
}
}
diff --git a/rbutil/rbutilqt/sysinfo.cpp b/rbutil/rbutilqt/sysinfo.cpp
index a28a9bb812..0217c22a3e 100644
--- a/rbutil/rbutilqt/sysinfo.cpp
+++ b/rbutil/rbutilqt/sysinfo.cpp
@@ -63,10 +63,11 @@ QString Sysinfo::getInfo()
info += "<b>" + tr("Filesystem") + "</b><br/>";
QStringList drives = Autodetection::mountpoints();
for(int i = 0; i < drives.size(); i++) {
- info += tr("%1, %2 GiB of %3 GiB available")
+ info += tr("%1, %4 %2 GiB of %3 GiB available")
.arg(QDir::toNativeSeparators(drives.at(i)))
.arg((double)Utils::filesystemFree(drives.at(i)) / (1<<30), 0, 'f', 2)
- .arg((double)Utils::filesystemTotal(drives.at(i)) / (1<<30), 0, 'f', 2);
+ .arg((double)Utils::filesystemTotal(drives.at(i)) / (1<<30), 0, 'f', 2)
+ .arg(Utils::filesystemName(drives.at(i)));
if(i + 1 < drives.size())
info += "<br/>";
}