From 54bce73089ada9f77a9c287e64e98450c32adfb6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 24 Aug 2022 14:55:41 +0200 Subject: [PATCH] Core: Use qtcEnvironmentVariable* instead of qEnvironmentVariable* And instead of qgetenv. Takes Qt Creator's setting at "Environment > System > Environment" into account, which makes it easier on some platforms to set them (e.g. macOS), can be configured differently in different settings paths, and potentially can be changed at runtime (depending on usage). Change-Id: Idfc8a7e255b4a0527f4651d6f9e5334e95b4351f Reviewed-by: David Schulz --- src/plugins/coreplugin/fileutils.cpp | 2 +- src/plugins/coreplugin/icore.cpp | 7 ++++--- src/plugins/coreplugin/loggingmanager.cpp | 11 +++++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/plugins/coreplugin/fileutils.cpp b/src/plugins/coreplugin/fileutils.cpp index edf63c90a92..aa4ce215be5 100644 --- a/src/plugins/coreplugin/fileutils.cpp +++ b/src/plugins/coreplugin/fileutils.cpp @@ -138,7 +138,7 @@ static void startTerminalEmulator(const QString &workingDir, const Environment & } return programName; }; - const QString cmdLine = quoteWinCommand(QString::fromLocal8Bit(qgetenv("COMSPEC"))); + const QString cmdLine = quoteWinCommand(qtcEnvironmentVariable("COMSPEC")); // cmdLine is assumed to be detached - // https://blogs.msdn.microsoft.com/oldnewthing/20090601-00/?p=18083 diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index ec60c434f54..b51276aec7f 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -12,8 +12,9 @@ #include #include -#include +#include #include +#include #include #include @@ -856,9 +857,9 @@ QString ICore::systemInformation() return result; } -static const QByteArray &screenShotsPath() +static const QString &screenShotsPath() { - static const QByteArray path = qgetenv("QTC_SCREENSHOTS_PATH"); + static const QString path = qtcEnvironmentVariable("QTC_SCREENSHOTS_PATH"); return path; } diff --git a/src/plugins/coreplugin/loggingmanager.cpp b/src/plugins/coreplugin/loggingmanager.cpp index c10d583b041..5f2fadfb9d4 100644 --- a/src/plugins/coreplugin/loggingmanager.cpp +++ b/src/plugins/coreplugin/loggingmanager.cpp @@ -3,6 +3,7 @@ #include "loggingmanager.h" +#include #include #include @@ -18,6 +19,8 @@ // Using static functions of QLoggingCategory may cause dead locks as well. // +using namespace Utils; + namespace Core { namespace Internal { @@ -111,12 +114,12 @@ static QList fetchOriginalRules() if (!qtProjectString.isEmpty()) appendRulesFromFile(qtProjectString); - iniFile = Utils::FilePath::fromString(qEnvironmentVariable("QT_LOGGING_CONF")); + iniFile = Utils::FilePath::fromString(qtcEnvironmentVariable("QT_LOGGING_CONF")); if (iniFile.exists()) appendRulesFromFile(iniFile.toString()); - if (qEnvironmentVariableIsSet("QT_LOGGING_RULES")) { - const QStringList rulesStrings = qEnvironmentVariable("QT_LOGGING_RULES").split(';'); + if (qtcEnvironmentVariableIsSet("QT_LOGGING_RULES")) { + const QStringList rulesStrings = qtcEnvironmentVariable("QT_LOGGING_RULES").split(';'); for (const QString &rule : rulesStrings) { FilterRuleSpec filterRule; if (parseLine(rule, &filterRule)) @@ -128,7 +131,7 @@ static QList fetchOriginalRules() LoggingViewManager::LoggingViewManager(QObject *parent) : QObject(parent) - , m_originalLoggingRules(qEnvironmentVariable("QT_LOGGING_RULES")) + , m_originalLoggingRules(qtcEnvironmentVariable("QT_LOGGING_RULES")) { qRegisterMetaType(); s_instance = this;