From 025bdfe702c4c4b8dd0022367139210663b9057c Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 24 Aug 2022 14:54:30 +0200 Subject: [PATCH] VCS: 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: I364e5b663353f37121279a58f4a9fd514cddbbf0 Reviewed-by: Qt CI Bot Reviewed-by: Orgad Shaneh --- src/plugins/git/gerrit/gerritparameters.cpp | 3 ++- src/plugins/git/gitclient.cpp | 5 ++--- src/plugins/git/gitsettings.cpp | 14 +++++++------- src/plugins/vcsbase/commonvcssettings.cpp | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/plugins/git/gerrit/gerritparameters.cpp b/src/plugins/git/gerrit/gerritparameters.cpp index 75b76158c1a..f93ecd65286 100644 --- a/src/plugins/git/gerrit/gerritparameters.cpp +++ b/src/plugins/git/gerrit/gerritparameters.cpp @@ -27,6 +27,7 @@ #include "gerritplugin.h" #include +#include #include #include @@ -81,7 +82,7 @@ static FilePath detectApp(const QString &defaultExe) static FilePath detectSsh() { - const QString gitSsh = qEnvironmentVariable("GIT_SSH"); + const QString gitSsh = qtcEnvironmentVariable("GIT_SSH"); if (!gitSsh.isEmpty()) return FilePath::fromString(gitSsh); return detectApp("ssh"); diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index a14577c3665..275400149b6 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2244,11 +2244,10 @@ Environment GitClient::processEnvironment() const environment.prependOrSetPath(FilePath::fromUserInput(gitPath)); if (HostOsInfo::isWindowsHost() && settings().winSetHomeEnvironment.value()) { QString homePath; - if (qEnvironmentVariableIsEmpty("HOMESHARE")) { + if (qtcEnvironmentVariableIsEmpty("HOMESHARE")) { homePath = QDir::toNativeSeparators(QDir::homePath()); } else { - homePath = QString::fromLocal8Bit(qgetenv("HOMEDRIVE")) - + QString::fromLocal8Bit(qgetenv("HOMEPATH")); + homePath = qtcEnvironmentVariable("HOMEDRIVE") + qtcEnvironmentVariable("HOMEPATH"); } environment.set("HOME", homePath); } diff --git a/src/plugins/git/gitsettings.cpp b/src/plugins/git/gitsettings.cpp index 148ad861d7c..8fa610399ed 100644 --- a/src/plugins/git/gitsettings.cpp +++ b/src/plugins/git/gitsettings.cpp @@ -79,14 +79,14 @@ GitSettings::GitSettings() winSetHomeEnvironment.setDefaultValue(true); winSetHomeEnvironment.setLabelText(tr("Set \"HOME\" environment variable")); if (HostOsInfo::isWindowsHost()) { - const QByteArray currentHome = qgetenv("HOME"); + const QString currentHome = qtcEnvironmentVariable("HOME"); const QString toolTip - = tr("Set the environment variable HOME to \"%1\"\n(%2).\n" - "This causes Git to look for the SSH-keys in that location\n" - "instead of its installation directory when run outside git bash."). - arg(QDir::homePath(), - currentHome.isEmpty() ? tr("not currently set") : - tr("currently set to \"%1\"").arg(QString::fromLocal8Bit(currentHome))); + = tr("Set the environment variable HOME to \"%1\"\n(%2).\n" + "This causes Git to look for the SSH-keys in that location\n" + "instead of its installation directory when run outside git bash.") + .arg(QDir::homePath(), + currentHome.isEmpty() ? tr("not currently set") + : tr("currently set to \"%1\"").arg(currentHome)); winSetHomeEnvironment.setToolTip(toolTip); } else { winSetHomeEnvironment.setVisible(false); diff --git a/src/plugins/vcsbase/commonvcssettings.cpp b/src/plugins/vcsbase/commonvcssettings.cpp index 90ced3f1502..45458efc02f 100644 --- a/src/plugins/vcsbase/commonvcssettings.cpp +++ b/src/plugins/vcsbase/commonvcssettings.cpp @@ -47,9 +47,9 @@ namespace Internal { // Return default for the ssh-askpass command (default to environment) static QString sshPasswordPromptDefault() { - const QByteArray envSetting = qgetenv("SSH_ASKPASS"); + const QString envSetting = qtcEnvironmentVariable("SSH_ASKPASS"); if (!envSetting.isEmpty()) - return QString::fromLocal8Bit(envSetting); + return envSetting; if (HostOsInfo::isWindowsHost()) return QLatin1String("win-ssh-askpass"); return QLatin1String("ssh-askpass");