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 <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2022-08-24 14:55:41 +02:00
parent d5bacfc087
commit 54bce73089
3 changed files with 12 additions and 8 deletions

View File

@@ -138,7 +138,7 @@ static void startTerminalEmulator(const QString &workingDir, const Environment &
} }
return programName; return programName;
}; };
const QString cmdLine = quoteWinCommand(QString::fromLocal8Bit(qgetenv("COMSPEC"))); const QString cmdLine = quoteWinCommand(qtcEnvironmentVariable("COMSPEC"));
// cmdLine is assumed to be detached - // cmdLine is assumed to be detached -
// https://blogs.msdn.microsoft.com/oldnewthing/20090601-00/?p=18083 // https://blogs.msdn.microsoft.com/oldnewthing/20090601-00/?p=18083

View File

@@ -12,8 +12,9 @@
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/qtcassert.h> #include <utils/environment.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <QApplication> #include <QApplication>
#include <QDebug> #include <QDebug>
@@ -856,9 +857,9 @@ QString ICore::systemInformation()
return result; 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; return path;
} }

View File

@@ -3,6 +3,7 @@
#include "loggingmanager.h" #include "loggingmanager.h"
#include <utils/environment.h>
#include <utils/filepath.h> #include <utils/filepath.h>
#include <QCoreApplication> #include <QCoreApplication>
@@ -18,6 +19,8 @@
// Using static functions of QLoggingCategory may cause dead locks as well. // Using static functions of QLoggingCategory may cause dead locks as well.
// //
using namespace Utils;
namespace Core { namespace Core {
namespace Internal { namespace Internal {
@@ -111,12 +114,12 @@ static QList<FilterRuleSpec> fetchOriginalRules()
if (!qtProjectString.isEmpty()) if (!qtProjectString.isEmpty())
appendRulesFromFile(qtProjectString); appendRulesFromFile(qtProjectString);
iniFile = Utils::FilePath::fromString(qEnvironmentVariable("QT_LOGGING_CONF")); iniFile = Utils::FilePath::fromString(qtcEnvironmentVariable("QT_LOGGING_CONF"));
if (iniFile.exists()) if (iniFile.exists())
appendRulesFromFile(iniFile.toString()); appendRulesFromFile(iniFile.toString());
if (qEnvironmentVariableIsSet("QT_LOGGING_RULES")) { if (qtcEnvironmentVariableIsSet("QT_LOGGING_RULES")) {
const QStringList rulesStrings = qEnvironmentVariable("QT_LOGGING_RULES").split(';'); const QStringList rulesStrings = qtcEnvironmentVariable("QT_LOGGING_RULES").split(';');
for (const QString &rule : rulesStrings) { for (const QString &rule : rulesStrings) {
FilterRuleSpec filterRule; FilterRuleSpec filterRule;
if (parseLine(rule, &filterRule)) if (parseLine(rule, &filterRule))
@@ -128,7 +131,7 @@ static QList<FilterRuleSpec> fetchOriginalRules()
LoggingViewManager::LoggingViewManager(QObject *parent) LoggingViewManager::LoggingViewManager(QObject *parent)
: QObject(parent) : QObject(parent)
, m_originalLoggingRules(qEnvironmentVariable("QT_LOGGING_RULES")) , m_originalLoggingRules(qtcEnvironmentVariable("QT_LOGGING_RULES"))
{ {
qRegisterMetaType<Core::Internal::LoggingCategoryEntry>(); qRegisterMetaType<Core::Internal::LoggingCategoryEntry>();
s_instance = this; s_instance = this;