Showing the changes to interface/src/main.cpp (1 of 3 files). Show all
Unified · Split
| @@ -71,7 +71,7 @@ int main(int argc, const char* argv[]) { · 70 unmodified lines | ||
| 71 | 71 | QCommandLineOption runServerOption("runServer", "Whether to run the server"); |
| 72 | 72 | QCommandLineOption serverContentPathOption("serverContentPath", "Where to find server content", "serverContentPath"); |
| 73 | 73 | QCommandLineOption allowMultipleInstancesOption("allowMultipleInstances", "Allow multiple instances to run"); |
| 74 | − QCommandLineOption overrideAppLocalDataPathOption("cache", "Override cache directory", "value"); | |
| 74 | + QCommandLineOption overrideAppLocalDataPathOption("cache", "set test cache directory"); | |
| 75 | 75 | parser.addOption(urlOption); |
| 76 | 76 | parser.addOption(noUpdaterOption); |
| 77 | 77 | parser.addOption(checkMinSpecOption); |
| @@ -99,8 +99,14 @@ int main(int argc, const char* argv[]) { · 21 unmodified lines | ||
| 99 | 99 | instanceMightBeRunning = false; |
| 100 | 100 | } |
| 101 | 101 | if (parser.isSet(overrideAppLocalDataPathOption)) { |
| 102 | − QString appLocalDataPath = parser.value(overrideAppLocalDataPathOption); | |
| 103 | − PathUtils::getAppLocalDataPath(appLocalDataPath); | |
| 102 | + // get standard path | |
| 103 | + auto standardAppDataLocation = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); | |
| 104 | + // set to test so all future paths are the test paths | |
| 105 | + QStandardPaths::setTestModeEnabled(true); | |
| 106 | + // now, we need to link everything in AppDataLocation to the test AppDataLocation. This | |
| 107 | + // leaves the test location for AppLocalDataLocation alone, but allows all the stuff in | |
| 108 | + // AppDataLocation to be usable | |
| 109 | + QFile::link(standardAppDataLocation, QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)); | |
| 104 | 110 | } |
| 105 | 111 | |
| 106 | 112 | if (instanceMightBeRunning) { |