From a23da5fd6bca918366cfe744270e590905e97412 Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 1 Aug 2012 17:28:39 +0200 Subject: [PATCH] Add bool QStandardPaths::isTestModeEnabled() Library code might need to know this, e.g. when calling an external process, to give it the right configuration. (For instance when ksycoca code calls kbuildsycoca to recreate the DB at the right place). Change-Id: I343ddefff816586f9d391973c08ff1e1ad86bf0e Reviewed-by: Thiago Macieira --- src/corelib/io/qstandardpaths.cpp | 9 +++++++++ src/corelib/io/qstandardpaths.h | 1 + src/corelib/io/qstandardpaths_blackberry.cpp | 5 +++++ src/corelib/io/qstandardpaths_json.cpp | 5 +++++ src/corelib/io/qstandardpaths_mac.cpp | 5 +++++ src/corelib/io/qstandardpaths_unix.cpp | 5 +++++ src/corelib/io/qstandardpaths_win.cpp | 5 +++++ .../corelib/io/qstandardpaths/tst_qstandardpaths.cpp | 2 ++ 8 files changed, 37 insertions(+) diff --git a/src/corelib/io/qstandardpaths.cpp b/src/corelib/io/qstandardpaths.cpp index d066eba5a0b..37950db0182 100644 --- a/src/corelib/io/qstandardpaths.cpp +++ b/src/corelib/io/qstandardpaths.cpp @@ -333,6 +333,15 @@ QString QStandardPaths::displayName(StandardLocation type) On Windows, everything goes to a "qttest" directory under Application Data. */ + +/*! + \fn void QStandardPaths::isTestModeEnabled() + + \internal + + Returns true if test mode is enabled in QStandardPaths; otherwise returns false. +*/ + QT_END_NAMESPACE #endif // QT_NO_STANDARDPATHS diff --git a/src/corelib/io/qstandardpaths.h b/src/corelib/io/qstandardpaths.h index 15af051a470..df00b831516 100644 --- a/src/corelib/io/qstandardpaths.h +++ b/src/corelib/io/qstandardpaths.h @@ -92,6 +92,7 @@ public: static QString findExecutable(const QString &executableName, const QStringList &paths = QStringList()); static void enableTestMode(bool testMode); + static bool isTestModeEnabled(); private: // prevent construction diff --git a/src/corelib/io/qstandardpaths_blackberry.cpp b/src/corelib/io/qstandardpaths_blackberry.cpp index cfed1f38460..34948a79274 100644 --- a/src/corelib/io/qstandardpaths_blackberry.cpp +++ b/src/corelib/io/qstandardpaths_blackberry.cpp @@ -55,6 +55,11 @@ void QStandardPaths::enableTestMode(bool testMode) qsp_testMode = testMode; } +bool QStandardPaths::isTestModeEnabled() +{ + return qsp_testMode; +} + static QString testModeInsert() { if (qsp_testMode) return QStringLiteral("/.qttest"); diff --git a/src/corelib/io/qstandardpaths_json.cpp b/src/corelib/io/qstandardpaths_json.cpp index 3c734a73b6f..df52c7d0ea7 100644 --- a/src/corelib/io/qstandardpaths_json.cpp +++ b/src/corelib/io/qstandardpaths_json.cpp @@ -116,6 +116,11 @@ void QStandardPaths::enableTestMode(bool testMode) qsp_testMode = testMode; } +bool QStandardPaths::isTestModeEnabled() +{ + return qsp_testMode; +} + static void appendOrganizationAndApp(QString &path) { const QString org = QCoreApplication::organizationName(); diff --git a/src/corelib/io/qstandardpaths_mac.cpp b/src/corelib/io/qstandardpaths_mac.cpp index 0f7cc149156..0f3a950e498 100644 --- a/src/corelib/io/qstandardpaths_mac.cpp +++ b/src/corelib/io/qstandardpaths_mac.cpp @@ -97,6 +97,11 @@ void QStandardPaths::enableTestMode(bool testMode) qsp_testMode = testMode; } +bool QStandardPaths::isTestModeEnabled() +{ + return qsp_testMode; +} + /* Constructs a full unicode path from a FSRef. */ diff --git a/src/corelib/io/qstandardpaths_unix.cpp b/src/corelib/io/qstandardpaths_unix.cpp index 220e5d6c17f..f44ccd1c933 100644 --- a/src/corelib/io/qstandardpaths_unix.cpp +++ b/src/corelib/io/qstandardpaths_unix.cpp @@ -70,6 +70,11 @@ void QStandardPaths::enableTestMode(bool testMode) qsp_testMode = testMode; } +bool QStandardPaths::isTestModeEnabled() +{ + return qsp_testMode; +} + QString QStandardPaths::writableLocation(StandardLocation type) { switch (type) { diff --git a/src/corelib/io/qstandardpaths_win.cpp b/src/corelib/io/qstandardpaths_win.cpp index 0fab01dee18..245dbbfc407 100644 --- a/src/corelib/io/qstandardpaths_win.cpp +++ b/src/corelib/io/qstandardpaths_win.cpp @@ -92,6 +92,11 @@ void QStandardPaths::enableTestMode(bool testMode) qsp_testMode = testMode; } +bool QStandardPaths::isTestModeEnabled() +{ + return qsp_testMode; +} + QString QStandardPaths::writableLocation(StandardLocation type) { QString result; diff --git a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp index 29f6fe9da46..319a4607ede 100644 --- a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp +++ b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp @@ -159,7 +159,9 @@ void tst_qstandardpaths::testCustomLocations() void tst_qstandardpaths::enableTestMode() { + QVERIFY(!QStandardPaths::isTestModeEnabled()); QStandardPaths::enableTestMode(true); + QVERIFY(QStandardPaths::isTestModeEnabled()); #ifdef Q_XDG_PLATFORM setCustomLocations(); // for the global config dir