| 152 | } |
| 153 | |
| 154 | std::optional<std::wstring> UserSelectedProcess() |
| 155 | { |
| 156 | QStringList savedProcesses = QString::fromUtf8(QTextFile(GAME_SAVE_FILE, QIODevice::ReadOnly).readAll()).split("\n", QString::SkipEmptyParts); |
| 157 | std::reverse(savedProcesses.begin(), savedProcesses.end()); |
| 158 | savedProcesses.removeDuplicates(); |
| 159 | savedProcesses.insert(1, FROM_COMPUTER); |
| 160 | QString process = QInputDialog::getItem(This, SELECT_PROCESS, SELECT_PROCESS_INFO, savedProcesses, 0, true, &ok, Qt::WindowCloseButtonHint); |
| 161 | if (process == FROM_COMPUTER) process = QDir::toNativeSeparators(QFileDialog::getOpenFileName(This, SELECT_PROCESS, "/", PROCESSES)); |
| 162 | if (ok && process.contains('\\')) return S(process); |
| 163 | return {}; |
| 164 | } |
| 165 | |
| 166 | void ViewThread(int index) |
| 167 | { |
no test coverage detected