UnixPtyProcess: Get rid of foreach

Change-Id: I9ca9092c874960e63d6a29bcd11181bb571c3615
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
Jarek Kobus
2023-08-04 18:47:35 +02:00
parent 1112705619
commit f0e7ab6228

View File

@@ -184,34 +184,33 @@ bool UnixPtyProcess::startProcess(const QString &shellPath,
m_readMasterNotify->disconnect(); m_readMasterNotify->disconnect();
}); });
QStringList defaultVars; const QStringList defaultVars = {
"TERM=xterm-256color",
defaultVars.append("TERM=xterm-256color"); "ITERM_PROFILE=Default",
defaultVars.append("ITERM_PROFILE=Default"); "XPC_FLAGS=0x0",
defaultVars.append("XPC_FLAGS=0x0"); "XPC_SERVICE_NAME=0",
defaultVars.append("XPC_SERVICE_NAME=0"); "LANG=en_US.UTF-8",
defaultVars.append("LANG=en_US.UTF-8"); "LC_ALL=en_US.UTF-8",
defaultVars.append("LC_ALL=en_US.UTF-8"); "LC_CTYPE=UTF-8",
defaultVars.append("LC_CTYPE=UTF-8"); "INIT_CWD=" + QCoreApplication::applicationDirPath(),
defaultVars.append("INIT_CWD=" + QCoreApplication::applicationDirPath()); "COMMAND_MODE=unix2003",
defaultVars.append("COMMAND_MODE=unix2003"); "COLORTERM=truecolor"
defaultVars.append("COLORTERM=truecolor"); };
QStringList varNames; QStringList varNames;
foreach (QString line, environment) { for (const QString &line : std::as_const(environment))
varNames.append(line.split("=").first()); varNames.append(line.split("=").first());
}
//append default env vars only if they don't exists in current env //append default env vars only if they don't exists in current env
foreach (QString defVar, defaultVars) { for (const QString &defVar : defaultVars) {
if (!varNames.contains(defVar.split("=").first())) if (!varNames.contains(defVar.split("=").first()))
environment.append(defVar); environment.append(defVar);
} }
QProcessEnvironment envFormat; QProcessEnvironment envFormat;
foreach (QString line, environment) { for (const QString &line : std::as_const(environment))
envFormat.insert(line.split("=").first(), line.split("=").last()); envFormat.insert(line.split("=").first(), line.split("=").last());
}
m_shellProcess.setWorkingDirectory(workingDir); m_shellProcess.setWorkingDirectory(workingDir);
m_shellProcess.setProcessEnvironment(envFormat); m_shellProcess.setProcessEnvironment(envFormat);
m_shellProcess.setReadChannel(QProcess::StandardOutput); m_shellProcess.setReadChannel(QProcess::StandardOutput);