diff options
| author | Krzysztof Starecki <krzysztof.starecki@gmail.com> | 2019-02-15 22:01:36 +0100 |
|---|---|---|
| committer | Krzysztof Starecki <krzysztof.starecki@gmail.com> | 2019-02-15 22:01:36 +0100 |
| commit | 55249ba3a6e2b4d51c259c0eff0c1d97ab6be614 (patch) | |
| tree | 64577d4bef8a8b86427775f4e64bc276d23005e3 /src | |
| parent | 4d8920cec1f35e502c653e1b5725a49a4d321626 (diff) | |
Reject new mod installations if another one is already running
Diffstat (limited to 'src')
| -rw-r--r-- | src/installationmanager.cpp | 14 | ||||
| -rw-r--r-- | src/installationmanager.h | 7 | ||||
| -rw-r--r-- | src/organizer_en.ts | 552 | ||||
| -rw-r--r-- | src/organizercore.cpp | 14 |
4 files changed, 317 insertions, 270 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index be838867..769394e7 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -80,7 +80,8 @@ static T resolveFunction(QLibrary &lib, const char *name) InstallationManager::InstallationManager() : m_ParentWidget(nullptr), - m_SupportedExtensions({"zip", "rar", "7z", "fomod", "001"}) { + m_SupportedExtensions({"zip", "rar", "7z", "fomod", "001"}), + m_IsRunning(false) { QLibrary archiveLib(QCoreApplication::applicationDirPath() + "\\dlls\\archive.dll"); if (!archiveLib.load()) { @@ -664,6 +665,11 @@ bool InstallationManager::wasCancelled() return m_ArchiveHandler->getLastError() == Archive::ERROR_EXTRACT_CANCELLED; } +bool InstallationManager::isRunning() +{ + return m_IsRunning; +} + void InstallationManager::postInstallCleanup() { @@ -705,6 +711,7 @@ bool InstallationManager::install(const QString &fileName, bool &hasIniTweaks, int modID) { + m_IsRunning = true; QFileInfo fileInfo(fileName); if (m_SupportedExtensions.find(fileInfo.suffix()) == m_SupportedExtensions.end()) { reportError(tr("File format \"%1\" not supported").arg(fileInfo.suffix())); @@ -853,6 +860,7 @@ bool InstallationManager::install(const QString &fileName, switch (installResult) { case IPluginInstaller::RESULT_CANCELED: case IPluginInstaller::RESULT_FAILED: { + m_IsRunning = false; return false; } break; case IPluginInstaller::RESULT_SUCCESS: @@ -861,8 +869,10 @@ bool InstallationManager::install(const QString &fileName, DirectoryTree::node_iterator iniTweakNode = filesTree->nodeFind(DirectoryTreeInformation("INI Tweaks")); hasIniTweaks = (iniTweakNode != filesTree->nodesEnd()) && ((*iniTweakNode)->numLeafs() != 0); + m_IsRunning = false; return true; } else { + m_IsRunning = false; return false; } } break; @@ -871,6 +881,8 @@ bool InstallationManager::install(const QString &fileName, reportError(tr("None of the available installer plugins were able to handle that archive.\n" "This is likely due to a corrupted or incompatible download or unrecognized archive format.")); + + m_IsRunning = false; return false; } diff --git a/src/installationmanager.h b/src/installationmanager.h index 7c43b4e2..54fdf169 100644 --- a/src/installationmanager.h +++ b/src/installationmanager.h @@ -90,6 +90,11 @@ public: bool wasCancelled(); /** + * @return true if an installation is currently in progress + **/ + bool isRunning(); + + /** * @brief retrieve a string describing the specified error code * * @param errorCode an error code as returned by the archiving function @@ -202,6 +207,8 @@ private: private: + bool m_IsRunning; + QWidget *m_ParentWidget; QString m_ModsDirectory; diff --git a/src/organizer_en.ts b/src/organizer_en.ts index ed614df7..d98749c4 100644 --- a/src/organizer_en.ts +++ b/src/organizer_en.ts @@ -1280,99 +1280,99 @@ p, li { white-space: pre-wrap; } <context> <name>InstallationManager</name> <message> - <location filename="installationmanager.cpp" line="119"/> + <location filename="installationmanager.cpp" line="120"/> <source>Password required</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="120"/> + <location filename="installationmanager.cpp" line="121"/> <source>Password</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="190"/> - <location filename="installationmanager.cpp" line="289"/> + <location filename="installationmanager.cpp" line="191"/> + <location filename="installationmanager.cpp" line="290"/> <source>Extracting files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="488"/> + <location filename="installationmanager.cpp" line="489"/> <source>failed to create backup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="497"/> + <location filename="installationmanager.cpp" line="498"/> <source>Mod Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="497"/> + <location filename="installationmanager.cpp" line="498"/> <source>Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="550"/> + <location filename="installationmanager.cpp" line="551"/> <source>Invalid name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="551"/> + <location filename="installationmanager.cpp" line="552"/> <source>The name you entered is invalid, please enter a different one.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="710"/> + <location filename="installationmanager.cpp" line="717"/> <source>File format "%1" not supported</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="872"/> + <location filename="installationmanager.cpp" line="882"/> <source>None of the available installer plugins were able to handle that archive. This is likely due to a corrupted or incompatible download or unrecognized archive format.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="883"/> + <location filename="installationmanager.cpp" line="895"/> <source>no error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="886"/> + <location filename="installationmanager.cpp" line="898"/> <source>7z.dll not found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="889"/> + <location filename="installationmanager.cpp" line="901"/> <source>7z.dll isn't valid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="892"/> + <location filename="installationmanager.cpp" line="904"/> <source>archive not found</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="895"/> + <location filename="installationmanager.cpp" line="907"/> <source>failed to open archive</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="898"/> + <location filename="installationmanager.cpp" line="910"/> <source>unsupported archive type</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="901"/> + <location filename="installationmanager.cpp" line="913"/> <source>internal library error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="904"/> + <location filename="installationmanager.cpp" line="916"/> <source>archive invalid</source> <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="908"/> + <location filename="installationmanager.cpp" line="920"/> <source>unknown archive error</source> <translation type="unfinished"></translation> </message> @@ -1555,7 +1555,7 @@ p, li { white-space: pre-wrap; } <message> <location filename="mainwindow.ui" line="287"/> <location filename="mainwindow.ui" line="911"/> - <location filename="mainwindow.cpp" line="4520"/> + <location filename="mainwindow.cpp" line="4524"/> <source>Create Backup</source> <translation type="unfinished"></translation> </message> @@ -1731,8 +1731,8 @@ p, li { white-space: pre-wrap; } <message> <location filename="mainwindow.ui" line="1175"/> <location filename="mainwindow.ui" line="1318"/> - <location filename="mainwindow.cpp" line="4394"/> - <location filename="mainwindow.cpp" line="5332"/> + <location filename="mainwindow.cpp" line="4398"/> + <location filename="mainwindow.cpp" line="5336"/> <source>Refresh</source> <translation type="unfinished"></translation> </message> @@ -1927,7 +1927,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="mainwindow.ui" line="1600"/> - <location filename="mainwindow.cpp" line="5263"/> + <location filename="mainwindow.cpp" line="5267"/> <source>Update</source> <translation type="unfinished"></translation> </message> @@ -1965,7 +1965,7 @@ p, li { white-space: pre-wrap; } </message> <message> <location filename="mainwindow.ui" line="1645"/> - <location filename="mainwindow.cpp" line="5355"/> + <location filename="mainwindow.cpp" line="5359"/> <source>Endorse Mod Organizer</source> <translation type="unfinished"></translation> </message> @@ -2033,8 +2033,8 @@ Error: %1</source> </message> <message> <location filename="mainwindow.cpp" line="739"/> - <location filename="mainwindow.cpp" line="4530"/> <location filename="mainwindow.cpp" line="4534"/> + <location filename="mainwindow.cpp" line="4538"/> <source>Endorse</source> <translation type="unfinished"></translation> </message> @@ -2265,16 +2265,16 @@ Error: %1</source> </message> <message> <location filename="mainwindow.cpp" line="2527"/> - <location filename="mainwindow.cpp" line="5089"/> - <location filename="mainwindow.cpp" line="5113"/> + <location filename="mainwindow.cpp" line="5093"/> + <location filename="mainwindow.cpp" line="5117"/> <source>failed to rename "%1" to "%2"</source> <translation type="unfinished"></translation> </message> <message> <location filename="mainwindow.cpp" line="2604"/> - <location filename="mainwindow.cpp" line="4092"/> - <location filename="mainwindow.cpp" line="4100"/> - <location filename="mainwindow.cpp" line="4644"/> + <location filename="mainwindow.cpp" line="4096"/> + <location filename="mainwindow.cpp" line="4104"/> + <location filename="mainwindow.cpp" line="4648"/> <source>Confirm</source> <translation type="unfinished"></translation> </message> @@ -2371,494 +2371,494 @@ Error: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3288"/> + <location filename="mainwindow.cpp" line="3292"/> <source><table cellspacing="5"><tr><th>Type</th><th>All</th><th>Visible</th><tr><td>Enabled mods:&emsp;</td><td align=right>%1 / %2</td><td align=right>%3 / %4</td></tr><tr><td>Unmanaged/DLCs:&emsp;</td><td align=right>%5</td><td align=right>%6</td></tr><tr><td>Mod backups:&emsp;</td><td align=right>%7</td><td align=right>%8</td></tr><tr><td>Separators:&emsp;</td><td align=right>%9</td><td align=right>%10</td></tr></table></source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3343"/> + <location filename="mainwindow.cpp" line="3347"/> <source><table cellspacing="6"><tr><th>Type</th><th>Active </th><th>Total</th></tr><tr><td>All plugins:</td><td align=right>%1 </td><td align=right>%2</td></tr><tr><td>ESMs:</td><td align=right>%3 </td><td align=right>%4</td></tr><tr><td>ESPs:</td><td align=right>%7 </td><td align=right>%8</td></tr><tr><td>ESMs+ESPs:</td><td align=right>%9 </td><td align=right>%10</td></tr><tr><td>ESLs:</td><td align=right>%5 </td><td align=right>%6</td></tr></table></source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3375"/> - <location filename="mainwindow.cpp" line="3513"/> - <location filename="mainwindow.cpp" line="4456"/> + <location filename="mainwindow.cpp" line="3379"/> + <location filename="mainwindow.cpp" line="3517"/> + <location filename="mainwindow.cpp" line="4460"/> <source>Create Mod...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3376"/> + <location filename="mainwindow.cpp" line="3380"/> <source>This will create an empty mod. Please enter a name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3385"/> - <location filename="mainwindow.cpp" line="3523"/> + <location filename="mainwindow.cpp" line="3389"/> + <location filename="mainwindow.cpp" line="3527"/> <source>A mod with this name already exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3413"/> + <location filename="mainwindow.cpp" line="3417"/> <source>Create Separator...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3414"/> + <location filename="mainwindow.cpp" line="3418"/> <source>This will create a new separator. Please enter a name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3421"/> + <location filename="mainwindow.cpp" line="3425"/> <source>A separator with this name already exists</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3514"/> + <location filename="mainwindow.cpp" line="3518"/> <source>This will move all files from overwrite into a new, regular mod. Please enter a name:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3595"/> + <location filename="mainwindow.cpp" line="3599"/> <source>Move successful.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3616"/> - <location filename="mainwindow.cpp" line="5693"/> + <location filename="mainwindow.cpp" line="3620"/> + <location filename="mainwindow.cpp" line="5697"/> <source>Are you sure?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3617"/> + <location filename="mainwindow.cpp" line="3621"/> <source>About to recursively delete: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3980"/> + <location filename="mainwindow.cpp" line="3984"/> <source>Not logged in, endorsement information will be wrong</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3988"/> + <location filename="mainwindow.cpp" line="3992"/> <source>Continue?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="3989"/> + <location filename="mainwindow.cpp" line="3993"/> <source>The versioning scheme decides which version is considered newer than another. This function will guess the versioning scheme under the assumption that the installed version is outdated.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4009"/> - <location filename="mainwindow.cpp" line="5231"/> + <location filename="mainwindow.cpp" line="4013"/> + <location filename="mainwindow.cpp" line="5235"/> <source>Sorry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4010"/> + <location filename="mainwindow.cpp" line="4014"/> <source>I don't know a versioning scheme where %1 is newer than %2.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4092"/> + <location filename="mainwindow.cpp" line="4096"/> <source>Really enable all visible mods?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4100"/> + <location filename="mainwindow.cpp" line="4104"/> <source>Really disable all visible mods?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4180"/> + <location filename="mainwindow.cpp" line="4184"/> <source>Export to csv</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4183"/> + <location filename="mainwindow.cpp" line="4187"/> <source>CSV (Comma Separated Values) is a format that can be imported in programs like Excel to create a spreadsheet. You can also use online editors and converters instead.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4186"/> + <location filename="mainwindow.cpp" line="4190"/> <source>Select what mods you want export:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4187"/> + <location filename="mainwindow.cpp" line="4191"/> <source>All installed mods</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4188"/> + <location filename="mainwindow.cpp" line="4192"/> <source>Only active (checked) mods from your current profile</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4189"/> + <location filename="mainwindow.cpp" line="4193"/> <source>All currently visible mods in the mod list</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4210"/> + <location filename="mainwindow.cpp" line="4214"/> <source>Choose what Columns to export:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4213"/> + <location filename="mainwindow.cpp" line="4217"/> <source>Mod_Priority</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4215"/> + <location filename="mainwindow.cpp" line="4219"/> <source>Mod_Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4217"/> + <location filename="mainwindow.cpp" line="4221"/> <source>Notes_column</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4218"/> + <location filename="mainwindow.cpp" line="4222"/> <source>Mod_Status</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4219"/> + <location filename="mainwindow.cpp" line="4223"/> <source>Primary_Category</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4220"/> + <location filename="mainwindow.cpp" line="4224"/> <source>Nexus_ID</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4221"/> + <location filename="mainwindow.cpp" line="4225"/> <source>Mod_Nexus_URL</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4222"/> + <location filename="mainwindow.cpp" line="4226"/> <source>Mod_Version</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4223"/> + <location filename="mainwindow.cpp" line="4227"/> <source>Install_Date</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4224"/> + <location filename="mainwindow.cpp" line="4228"/> <source>Download_File_Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4331"/> + <location filename="mainwindow.cpp" line="4335"/> <source>export failed: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4350"/> + <location filename="mainwindow.cpp" line="4354"/> <source>Open Game folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4352"/> + <location filename="mainwindow.cpp" line="4356"/> <source>Open MyGames folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4354"/> + <location filename="mainwindow.cpp" line="4358"/> <source>Open INIs folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4358"/> + <location filename="mainwindow.cpp" line="4362"/> <source>Open Instance folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4360"/> + <location filename="mainwindow.cpp" line="4364"/> <source>Open Mods folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4362"/> + <location filename="mainwindow.cpp" line="4366"/> <source>Open Profile folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4364"/> + <location filename="mainwindow.cpp" line="4368"/> <source>Open Downloads folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4368"/> + <location filename="mainwindow.cpp" line="4372"/> <source>Open MO2 Install folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4370"/> + <location filename="mainwindow.cpp" line="4374"/> <source>Open MO2 Plugins folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4372"/> + <location filename="mainwindow.cpp" line="4376"/> <source>Open MO2 Logs folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4381"/> + <location filename="mainwindow.cpp" line="4385"/> <source>Install Mod...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4383"/> + <location filename="mainwindow.cpp" line="4387"/> <source>Create empty mod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4385"/> + <location filename="mainwindow.cpp" line="4389"/> <source>Create Separator</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4389"/> + <location filename="mainwindow.cpp" line="4393"/> <source>Enable all visible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4390"/> + <location filename="mainwindow.cpp" line="4394"/> <source>Disable all visible</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4392"/> + <location filename="mainwindow.cpp" line="4396"/> <source>Check all for update</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4396"/> + <location filename="mainwindow.cpp" line="4400"/> <source>Export to csv...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4408"/> - <location filename="mainwindow.cpp" line="4424"/> + <location filename="mainwindow.cpp" line="4412"/> + <location filename="mainwindow.cpp" line="4428"/> <source>Send to</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4409"/> - <location filename="mainwindow.cpp" line="4425"/> + <location filename="mainwindow.cpp" line="4413"/> + <location filename="mainwindow.cpp" line="4429"/> <source>Top</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4410"/> - <location filename="mainwindow.cpp" line="4426"/> + <location filename="mainwindow.cpp" line="4414"/> + <location filename="mainwindow.cpp" line="4430"/> <source>Bottom</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4411"/> - <location filename="mainwindow.cpp" line="4427"/> + <location filename="mainwindow.cpp" line="4415"/> + <location filename="mainwindow.cpp" line="4431"/> <source>Priority...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4412"/> + <location filename="mainwindow.cpp" line="4416"/> <source>Separator...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4448"/> + <location filename="mainwindow.cpp" line="4452"/> <source>All Mods</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4455"/> + <location filename="mainwindow.cpp" line="4459"/> <source>Sync to Mods...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4457"/> + <location filename="mainwindow.cpp" line="4461"/> <source>Move content to Mod...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4458"/> + <location filename="mainwindow.cpp" line="4462"/> <source>Clear Overwrite...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4460"/> - <location filename="mainwindow.cpp" line="4561"/> + <location filename="mainwindow.cpp" line="4464"/> + <location filename="mainwindow.cpp" line="4565"/> <source>Open in Explorer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4462"/> + <location filename="mainwindow.cpp" line="4466"/> <source>Restore Backup</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4463"/> + <location filename="mainwindow.cpp" line="4467"/> <source>Remove Backup...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4466"/> - <location filename="mainwindow.cpp" line="4485"/> + <location filename="mainwindow.cpp" line="4470"/> + <location filename="mainwindow.cpp" line="4489"/> <source>Change Categories</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4470"/> - <location filename="mainwindow.cpp" line="4490"/> + <location filename="mainwindow.cpp" line="4474"/> + <location filename="mainwindow.cpp" line="4494"/> <source>Primary Category</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4474"/> + <location filename="mainwindow.cpp" line="4478"/> <source>Rename Separator...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4475"/> + <location filename="mainwindow.cpp" line="4479"/> <source>Remove Separator...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4478"/> + <location filename="mainwindow.cpp" line="4482"/> <source>Select Color...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4480"/> + <location filename="mainwindow.cpp" line="4484"/> <source>Reset Color</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4497"/> + <location filename="mainwindow.cpp" line="4501"/> <source>Change versioning scheme</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4501"/> + <location filename="mainwindow.cpp" line="4505"/> <source>Un-ignore update</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4505"/> + <location filename="mainwindow.cpp" line="4509"/> <source>Ignore update</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4510"/> - <location filename="mainwindow.cpp" line="5806"/> + <location filename="mainwindow.cpp" line="4514"/> + <location filename="mainwindow.cpp" line="5810"/> <source>Enable selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4511"/> - <location filename="mainwindow.cpp" line="5807"/> + <location filename="mainwindow.cpp" line="4515"/> + <location filename="mainwindow.cpp" line="5811"/> <source>Disable selected</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4517"/> + <location filename="mainwindow.cpp" line="4521"/> <source>Rename Mod...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4518"/> + <location filename="mainwindow.cpp" line="4522"/> <source>Reinstall Mod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4519"/> + <location filename="mainwindow.cpp" line="4523"/> <source>Remove Mod...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4527"/> + <location filename="mainwindow.cpp" line="4531"/> <source>Un-Endorse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4531"/> + <location filename="mainwindow.cpp" line="4535"/> <source>Won't endorse</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4537"/> + <location filename="mainwindow.cpp" line="4541"/> <source>Endorsement state unknown</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4548"/> + <location filename="mainwindow.cpp" line="4552"/> <source>Ignore missing data</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4552"/> + <location filename="mainwindow.cpp" line="4556"/> <source>Mark as converted/working</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4556"/> + <location filename="mainwindow.cpp" line="4560"/> <source>Visit on Nexus</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4558"/> + <location filename="mainwindow.cpp" line="4562"/> <source>Visit web page</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4565"/> + <location filename="mainwindow.cpp" line="4569"/> <source>Information...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4573"/> - <location filename="mainwindow.cpp" line="5854"/> + <location filename="mainwindow.cpp" line="4577"/> + <location filename="mainwindow.cpp" line="5863"/> <source>Exception: </source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4575"/> - <location filename="mainwindow.cpp" line="5856"/> + <location filename="mainwindow.cpp" line="4579"/> + <location filename="mainwindow.cpp" line="5865"/> <source>Unknown exception</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4604"/> + <location filename="mainwindow.cpp" line="4608"/> <source><All></source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4606"/> + <location filename="mainwindow.cpp" line="4610"/> <source><Multiple></source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4641"/> + <location filename="mainwindow.cpp" line="4645"/> <source>%1 more</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="mainwindow.cpp" line="4645"/> + <location filename="mainwindow.cpp" line="4649"/> <source>Are you sure you want to remove the following %n save(s)?<br><ul>%1</ul><br>Removed saves will be sent to the Recycle Bin.</source> <translation type="unfinished"> <numerusform></numerusform> @@ -2866,12 +2866,12 @@ You can also use online editors and converters instead.</source> </translation> </message> <message> - <location filename="mainwindow.cpp" line="4690"/> + <location filename="mainwindow.cpp" line="4694"/> <source>Enable Mods...</source> <translation type="unfinished"></translation> </message> <message numerus="yes"> - <location filename="mainwindow.cpp" line="4705"/> + <location filename="mainwindow.cpp" line="4709"/> <source>Delete %n save(s)</source> <translation type="unfinished"> <numerusform></numerusform> @@ -2879,22 +2879,22 @@ You can also use online editors and converters instead.</source> </translation> </message> <message> - <location filename="mainwindow.cpp" line="4747"/> + <location filename="mainwindow.cpp" line="4751"/> <source>failed to remove %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4769"/> + <location filename="mainwindow.cpp" line="4773"/> <source>failed to create %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4799"/> + <location filename="mainwindow.cpp" line="4803"/> <source>Restarting MO</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4800"/> + <location filename="mainwindow.cpp" line="4804"/> <source>Changing the managed game directory requires restarting MO. Any pending downloads will be paused. @@ -2902,335 +2902,335 @@ Click OK to restart MO now.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4820"/> + <location filename="mainwindow.cpp" line="4824"/> <source>Can't change download directory while downloads are in progress!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4960"/> + <location filename="mainwindow.cpp" line="4964"/> <source>failed to write to file %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="4966"/> + <location filename="mainwindow.cpp" line="4970"/> <source>%1 written</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5008"/> + <location filename="mainwindow.cpp" line="5012"/> <source>Select binary</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5008"/> + <location filename="mainwindow.cpp" line="5012"/> <source>Binary</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5034"/> + <location filename="mainwindow.cpp" line="5038"/> <source>Enter Name</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5035"/> + <location filename="mainwindow.cpp" line="5039"/> <source>Please enter a name for the executable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5049"/> + <location filename="mainwindow.cpp" line="5053"/> <source>Not an executable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5049"/> + <location filename="mainwindow.cpp" line="5053"/> <source>This is not a recognized executable.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5074"/> - <location filename="mainwindow.cpp" line="5099"/> + <location filename="mainwindow.cpp" line="5078"/> + <location filename="mainwindow.cpp" line="5103"/> <source>Replace file?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5074"/> + <location filename="mainwindow.cpp" line="5078"/> <source>There already is a hidden version of this file. Replace it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5077"/> - <location filename="mainwindow.cpp" line="5102"/> + <location filename="mainwindow.cpp" line="5081"/> + <location filename="mainwindow.cpp" line="5106"/> <source>File operation failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5077"/> - <location filename="mainwindow.cpp" line="5102"/> + <location filename="mainwindow.cpp" line="5081"/> + <location filename="mainwindow.cpp" line="5106"/> <source>Failed to remove "%1". Maybe you lack the required file permissions?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5099"/> + <location filename="mainwindow.cpp" line="5103"/> <source>There already is a visible version of this file. Replace it?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5143"/> - <location filename="mainwindow.cpp" line="6468"/> + <location filename="mainwindow.cpp" line="5147"/> + <location filename="mainwindow.cpp" line="6477"/> <source>Set Priority</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5143"/> + <location filename="mainwindow.cpp" line="5147"/> <source>Set the priority of the selected plugins</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5198"/> + <location filename="mainwindow.cpp" line="5202"/> <source>file not found: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5211"/> + <location filename="mainwindow.cpp" line="5215"/> <source>failed to generate preview for %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5231"/> + <location filename="mainwindow.cpp" line="5235"/> <source>Sorry, can't preview anything. This function currently does not support extracting from bsas.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5265"/> + <location filename="mainwindow.cpp" line="5269"/> <source>Update available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5312"/> + <location filename="mainwindow.cpp" line="5316"/> <source>Open/Execute</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5313"/> + <location filename="mainwindow.cpp" line="5317"/> <source>Add as Executable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5317"/> + <location filename="mainwindow.cpp" line="5321"/> <source>Preview</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5323"/> + <location filename="mainwindow.cpp" line="5327"/> <source>Un-Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5325"/> + <location filename="mainwindow.cpp" line="5329"/> <source>Hide</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5331"/> + <location filename="mainwindow.cpp" line="5335"/> <source>Write To File...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5356"/> + <location filename="mainwindow.cpp" line="5360"/> <source>Do you want to endorse Mod Organizer on %1 now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5495"/> + <location filename="mainwindow.cpp" line="5499"/> <source>Thank you!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5495"/> + <location filename="mainwindow.cpp" line="5499"/> <source>Thank you for your endorsement!</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5530"/> + <location filename="mainwindow.cpp" line="5534"/> <source>Request to Nexus failed: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5545"/> - <location filename="mainwindow.cpp" line="5607"/> + <location filename="mainwindow.cpp" line="5549"/> + <location filename="mainwindow.cpp" line="5611"/> <source>failed to read %1: %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5557"/> - <location filename="mainwindow.cpp" line="6044"/> + <location filename="mainwindow.cpp" line="5561"/> + <location filename="mainwindow.cpp" line="6053"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5557"/> + <location filename="mainwindow.cpp" line="5561"/> <source>failed to extract %1 (errorcode %2)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5589"/> + <location filename="mainwindow.cpp" line="5593"/> <source>Extract BSA</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5618"/> + <location filename="mainwindow.cpp" line="5622"/> <source>This archive contains invalid hashes. Some files may be broken.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5664"/> + <location filename="mainwindow.cpp" line="5668"/> <source>Extract...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5694"/> + <location filename="mainwindow.cpp" line="5698"/> <source>This will restart MO, continue?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5741"/> + <location filename="mainwindow.cpp" line="5745"/> <source>Edit Categories...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5742"/> + <location filename="mainwindow.cpp" line="5746"/> <source>Deselect filter</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5795"/> + <location filename="mainwindow.cpp" line="5799"/> <source>Remove</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5811"/> + <location filename="mainwindow.cpp" line="5815"/> <source>Enable all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5812"/> + <location filename="mainwindow.cpp" line="5816"/> <source>Disable all</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5833"/> + <location filename="mainwindow.cpp" line="5837"/> <source>Unlock load order</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5836"/> + <location filename="mainwindow.cpp" line="5840"/> <source>Lock load order</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5840"/> + <location filename="mainwindow.cpp" line="5850"/> <source>Open Origin in Explorer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5847"/> + <location filename="mainwindow.cpp" line="5855"/> <source>Open Origin Info...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5990"/> + <location filename="mainwindow.cpp" line="5999"/> <source>depends on missing "%1"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="5994"/> + <location filename="mainwindow.cpp" line="6003"/> <source>incompatible with "%1"</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6020"/> + <location filename="mainwindow.cpp" line="6029"/> <source>Please wait while LOOT is running</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6117"/> + <location filename="mainwindow.cpp" line="6126"/> <source>loot failed. Exit code was: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6139"/> + <location filename="mainwindow.cpp" line="6148"/> <source>failed to start loot</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6142"/> + <location filename="mainwindow.cpp" line="6151"/> <source>failed to run loot: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6146"/> + <location filename="mainwindow.cpp" line="6155"/> <source>Errors occured</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6193"/> + <location filename="mainwindow.cpp" line="6202"/> <source>Backup of load order created</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6203"/> + <location filename="mainwindow.cpp" line="6212"/> <source>Choose backup to restore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6216"/> + <location filename="mainwindow.cpp" line="6225"/> <source>No Backups</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6216"/> + <location filename="mainwindow.cpp" line="6225"/> <source>There are no backups to restore</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6237"/> - <location filename="mainwindow.cpp" line="6259"/> + <location filename="mainwindow.cpp" line="6246"/> + <location filename="mainwindow.cpp" line="6268"/> <source>Restore failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6238"/> - <location filename="mainwindow.cpp" line="6260"/> + <location filename="mainwindow.cpp" line="6247"/> + <location filename="mainwindow.cpp" line="6269"/> <source>Failed to restore the backup. Errorcode: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6249"/> + <location filename="mainwindow.cpp" line="6258"/> <source>Backup of modlist created</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6355"/> + <location filename="mainwindow.cpp" line="6364"/> <source>A file with the same name has already been downloaded. What would you like to do?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6357"/> + <location filename="mainwindow.cpp" line="6366"/> <source>Overwrite</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6358"/> + <location filename="mainwindow.cpp" line="6367"/> <source>Rename new file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6359"/> + <location filename="mainwindow.cpp" line="6368"/> <source>Ignore file</source> <translation type="unfinished"></translation> </message> <message> - <location filename="mainwindow.cpp" line="6468"/> + <location filename="mainwindow.cpp" line="6477"/> <source>Set the priority of the selected mods</source> <translation type="unfinished"></translation> </message> @@ -4422,172 +4422,180 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="992"/> - <location filename="organizercore.cpp" line="1050"/> + <location filename="organizercore.cpp" line="1006"/> + <location filename="organizercore.cpp" line="1071"/> <source>Installation successful</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1000"/> - <location filename="organizercore.cpp" line="1060"/> + <location filename="organizercore.cpp" line="1014"/> + <location filename="organizercore.cpp" line="1081"/> <source>Configure Mod</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1001"/> - <location filename="organizercore.cpp" line="1061"/> + <location filename="organizercore.cpp" line="1015"/> + <location filename="organizercore.cpp" line="1082"/> <source>This mod contains ini tweaks. Do you want to configure them now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1013"/> - <location filename="organizercore.cpp" line="1071"/> + <location filename="organizercore.cpp" line="1027"/> + <location filename="organizercore.cpp" line="1092"/> <source>mod not found: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1016"/> - <location filename="organizercore.cpp" line="1078"/> + <location filename="organizercore.cpp" line="993"/> + <location filename="organizercore.cpp" line="1030"/> + <location filename="organizercore.cpp" line="1041"/> + <location filename="organizercore.cpp" line="1099"/> <source>Installation cancelled</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1017"/> - <location filename="organizercore.cpp" line="1079"/> + <location filename="organizercore.cpp" line="994"/> + <location filename="organizercore.cpp" line="1042"/> + <source>Another installation is currently in progress.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="organizercore.cpp" line="1031"/> + <location filename="organizercore.cpp" line="1100"/> <source>The mod was not installed completely.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1297"/> + <location filename="organizercore.cpp" line="1318"/> <source>Executable not found: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1325"/> + <location filename="organizercore.cpp" line="1346"/> <source>Start Steam?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1326"/> + <location filename="organizercore.cpp" line="1347"/> <source>Steam is required to be running already to correctly start the game. Should MO try to start steam now?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1357"/> + <location filename="organizercore.cpp" line="1378"/> <source>Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1365"/> + <location filename="organizercore.cpp" line="1386"/> <source>Windows Event Log Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1366"/> + <location filename="organizercore.cpp" line="1387"/> <source>The Windows Event Log service is disabled and/or not running. This prevents USVFS from running properly. Your mods may not be working in the executable that you are launching. Note that you may have to restart MO and/or your PC after the service is fixed. Continue launching %1?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1378"/> + <location filename="organizercore.cpp" line="1399"/> <source>Blacklisted Executable</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1379"/> + <location filename="organizercore.cpp" line="1400"/> <source>The executable you are attempted to launch is blacklisted in the virtual file system. This will likely prevent the executable, and any executables that are launched by this one, from seeing any mods. This could extend to INI files, save games and any other virtualized files. Continue launching %1?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1474"/> + <location filename="organizercore.cpp" line="1495"/> <source>No profile set</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1770"/> + <location filename="organizercore.cpp" line="1791"/> <source>Failed to refresh list of esps: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1879"/> + <location filename="organizercore.cpp" line="1900"/> <source>Multiple esps/esls activated, please check that they don't conflict.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1967"/> + <location filename="organizercore.cpp" line="1988"/> <source>Download?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="1968"/> + <location filename="organizercore.cpp" line="1989"/> <source>A download has been started but no installed page plugin recognizes it. If you download anyway no information (i.e. version) will be associated with the download. Continue?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2103"/> - <location filename="organizercore.cpp" line="2152"/> + <location filename="organizercore.cpp" line="2124"/> + <location filename="organizercore.cpp" line="2173"/> <source>failed to update mod list: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2159"/> - <location filename="organizercore.cpp" line="2176"/> + <location filename="organizercore.cpp" line="2180"/> + <location filename="organizercore.cpp" line="2197"/> <source>login successful</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2183"/> + <location filename="organizercore.cpp" line="2204"/> <source>Login failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2184"/> + <location filename="organizercore.cpp" line="2205"/> <source>Login failed, try again?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2193"/> + <location filename="organizercore.cpp" line="2214"/> <source>login failed: %1. Download will not be associated with an account</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2201"/> + <location filename="organizercore.cpp" line="2222"/> <source>login failed: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2211"/> + <location filename="organizercore.cpp" line="2232"/> <source>login failed: %1. You need to log-in with Nexus to update MO.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2264"/> + <location filename="organizercore.cpp" line="2285"/> <source>MO1 "Script Extender" load mechanism has left hook.dll in your game folder</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2267"/> - <location filename="organizercore.cpp" line="2283"/> + <location filename="organizercore.cpp" line="2288"/> + <location filename="organizercore.cpp" line="2304"/> <source>Description missing</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2276"/> + <location filename="organizercore.cpp" line="2297"/> <source><a href="%1">hook.dll</a> has been found in your game folder (right click to copy the full path). This is most likely a leftover of setting the ModOrganizer 1 load mechanism to "Script Extender", in which case you must remove this file either by changing the load mechanism in ModOrganizer 1 or manually removing the file, otherwise the game is likely to crash and burn.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2310"/> + <location filename="organizercore.cpp" line="2331"/> <source>failed to save load order: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="organizercore.cpp" line="2382"/> + <location filename="organizercore.cpp" line="2403"/> <source>The designated write target "%1" is not enabled.</source> <translation type="unfinished"></translation> </message> @@ -5362,7 +5370,7 @@ p, li { white-space: pre-wrap; } <translation type="unfinished"></translation> </message> <message> - <location filename="installationmanager.cpp" line="87"/> + <location filename="installationmanager.cpp" line="88"/> <source>archive.dll not loaded: "%1"</source> <translation type="unfinished"></translation> </message> @@ -5584,42 +5592,48 @@ If the folder was still in use, restart MO and try again.</source> <message> <location filename="main.cpp" line="357"/> <location filename="main.cpp" line="375"/> + <location filename="main.cpp" line="388"/> <source>Please select the game to manage</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="385"/> + <location filename="main.cpp" line="396"/> + <source>Canceled finding game in "%1".</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="401"/> <source>No game identified in "%1". The directory is required to contain the game binary.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="537"/> + <location filename="main.cpp" line="554"/> <source>Please select the game edition you have (MO can't start the game correctly if this is set incorrectly!)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="574"/> + <location filename="main.cpp" line="591"/> <source>failed to start shortcut: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="596"/> + <location filename="main.cpp" line="613"/> <source>failed to start application: %1</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="682"/> + <location filename="main.cpp" line="699"/> <location filename="settings.cpp" line="1126"/> <source>Mod Organizer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="683"/> + <location filename="main.cpp" line="700"/> <source>An instance of Mod Organizer is already running</source> <translation type="unfinished"></translation> </message> <message> - <location filename="main.cpp" line="698"/> + <location filename="main.cpp" line="715"/> <source>Failed to set up instance</source> <translation type="unfinished"></translation> </message> @@ -5630,7 +5644,7 @@ If the folder was still in use, restart MO and try again.</source> </message> <message> <location filename="mainwindow.cpp" line="1428"/> - <location filename="mainwindow.cpp" line="4917"/> + <location filename="mainwindow.cpp" line="4921"/> <source><Manage...></source> <translation type="unfinished"></translation> </message> diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 4dceefbf..a668de6b 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -988,6 +988,13 @@ MOBase::IModInterface *OrganizerCore::installMod(const QString &fileName, return nullptr;
}
+ if (m_InstallationManager.isRunning()) {
+ QMessageBox::information(
+ qApp->activeWindow(), tr("Installation cancelled"),
+ tr("Another installation is currently in progress."), QMessageBox::Ok);
+ return nullptr;
+ }
+
bool hasIniTweaks = false;
GuessedValue<QString> modName;
if (!initModName.isEmpty()) {
@@ -1029,6 +1036,13 @@ MOBase::IModInterface *OrganizerCore::installMod(const QString &fileName, void OrganizerCore::installDownload(int index)
{
+ if (m_InstallationManager.isRunning()) {
+ QMessageBox::information(
+ qApp->activeWindow(), tr("Installation cancelled"),
+ tr("Another installation is currently in progress."), QMessageBox::Ok);
+ return;
+ }
+
try {
QString fileName = m_DownloadManager.getFilePath(index);
QString gameName = m_DownloadManager.getGameName(index);
|
