summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-04-24 15:16:56 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-24 16:20:38 +0200
commit812461e08a21823c9527f16c3fadc1daa249bb9c (patch)
treefe320fdf4734ed511a7b6a08ed9bbc880ed630fd
parent57f8075c9610e85dfe8643980919b5baadeba1cf (diff)
downloadqttools-812461e08a21823c9527f16c3fadc1daa249bb9c.tar.gz
qtdiag: Dump writable locations of QStandardPaths.
Indicate writable locations by asterisks. Task-number: QTBUG-38483 Change-Id: I3e5efbd6db032b4feaee2b5013a9304c6cbfc73d Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/qtdiag/qtdiag.cpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/qtdiag/qtdiag.cpp b/src/qtdiag/qtdiag.cpp
index 4f9eed813..acf4bce84 100644
--- a/src/qtdiag/qtdiag.cpp
+++ b/src/qtdiag/qtdiag.cpp
@@ -183,10 +183,29 @@ static QStringList toNativeSeparators(QStringList in)
if (platformIntegration->hasCapability(QPlatformIntegration::capability)) \
str << ' ' << #capability;
+// Dump values of QStandardPaths, indicate writable locations by asterisk.
+static void dumpStandardLocation(QTextStream &str, QStandardPaths::StandardLocation location)
+{
+ str << '"' << QStandardPaths::displayName(location) << '"';
+ const QStringList directories = QStandardPaths::standardLocations(location);
+ const QString writableDirectory = QStandardPaths::writableLocation(location);
+ const int writableIndex = directories.indexOf(writableDirectory);
+ for (int i = 0; i < directories.size(); ++i) {
+ str << ' ';
+ if (i == writableIndex)
+ str << '*';
+ str << QDir::toNativeSeparators(directories.at(i));
+ if (i == writableIndex)
+ str << '*';
+ }
+ if (!writableDirectory.isEmpty() && writableIndex < 0)
+ str << " *" << QDir::toNativeSeparators(writableDirectory) << '*';
+}
+
#define DUMP_STANDARDPATH(str, location) \
- str << " " << #location << ": \"" \
- << QStandardPaths::displayName(QStandardPaths::location) << '"' \
- << ' ' << toNativeSeparators(QStandardPaths::standardLocations(QStandardPaths::location)) << '\n';
+ str << " " << #location << ": "; \
+ dumpStandardLocation(str, QStandardPaths::location); \
+ str << '\n';
#define DUMP_LIBRARYPATH(str, loc) \
str << " " << #loc << ": " << QDir::toNativeSeparators(QLibraryInfo::location(QLibraryInfo::loc)) << '\n';