diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-04-24 15:16:56 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-24 16:20:38 +0200 |
commit | 812461e08a21823c9527f16c3fadc1daa249bb9c (patch) | |
tree | fe320fdf4734ed511a7b6a08ed9bbc880ed630fd | |
parent | 57f8075c9610e85dfe8643980919b5baadeba1cf (diff) | |
download | qttools-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.cpp | 25 |
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'; |