| 210 | } |
| 211 | |
| 212 | void ConsoleManager::executeCommand(const QString &name, const QString &program, const QStringList &args, const QString &workingDir, const QStringList &env) |
| 213 | { |
| 214 | auto startNow = env.isEmpty(); // console start after set environment |
| 215 | auto console = createConsole(name, startNow); |
| 216 | if (!env.isEmpty()) { |
| 217 | console->setEnvironment(env); |
| 218 | console->startShellProgram(); |
| 219 | } |
| 220 | |
| 221 | auto dir = workingDir; |
| 222 | if (!dir.isEmpty() && QFile::exists(dir)) { |
| 223 | console->changeDir(dir); |
| 224 | console->sendText("clear\n"); |
| 225 | } |
| 226 | |
| 227 | QString cmd = program + ' '; |
| 228 | cmd += args.join(' ') + '\n'; |
| 229 | console->sendText(cmd); |
| 230 | } |
| 231 | |
| 232 | QUuid ConsoleManager::newConsole(const QString &name, bool rename) |
| 233 | { |
no test coverage detected