| 183 | } |
| 184 | |
| 185 | QStringList EnvironmentProfileList::createEnvironment(const QString& profileName, |
| 186 | const QStringList& defaultEnvironment) const |
| 187 | { |
| 188 | QMap<QString, QString> retMap; |
| 189 | for (const QString& line : defaultEnvironment) { |
| 190 | QString varName = line.section(QLatin1Char('='), 0, 0); |
| 191 | QString varValue = line.section(QLatin1Char('='), 1); |
| 192 | retMap.insert(varName, varValue); |
| 193 | } |
| 194 | |
| 195 | if (!profileName.isEmpty()) { |
| 196 | const auto userMap = variables(profileName); |
| 197 | |
| 198 | for (QMap<QString, QString>::const_iterator it = userMap.constBegin(); |
| 199 | it != userMap.constEnd(); ++it) { |
| 200 | retMap.insert(it.key(), it.value()); |
| 201 | } |
| 202 | } |
| 203 | |
| 204 | QStringList env; |
| 205 | env.reserve(retMap.size()); |
| 206 | for (QMap<QString, QString>::const_iterator it = retMap.constBegin(); |
| 207 | it != retMap.constEnd(); ++it) { |
| 208 | env << it.key() + QLatin1Char('=') + it.value(); |
| 209 | } |
| 210 | |
| 211 | return env; |
| 212 | } |
| 213 | |
| 214 | static QString expandVariable(const QString &key, const QString &value, |
| 215 | QMap<QString, QString> &output, |