diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-29 01:07:36 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2021-01-02 15:38:15 +0100 |
| commit | 6e802d7327495bbd64153e503b1aff44a80f0e0f (patch) | |
| tree | 085da19c6fcab23336d43f358c264796f54c715b /src/organizercore.cpp | |
| parent | 54ea4445b00301fe30eb346eb10f83e55e6d0ea0 (diff) | |
Do not move installed mod after merge/replace.
Diffstat (limited to 'src/organizercore.cpp')
| -rw-r--r-- | src/organizercore.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 159296b7..ecd4b34e 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -692,8 +692,8 @@ MOBase::IPluginGame *OrganizerCore::getGame(const QString &name) const MOBase::IModInterface *OrganizerCore::createMod(GuessedValue<QString> &name) { - bool merge = false; - if (m_InstallationManager.testOverwrite(name, &merge) != IPluginInstaller::EInstallResult::RESULT_SUCCESS) { + auto result = m_InstallationManager.testOverwrite(name); + if (!result) { return nullptr; } @@ -706,7 +706,7 @@ MOBase::IModInterface *OrganizerCore::createMod(GuessedValue<QString> &name) QSettings settingsFile(targetDirectory + "/meta.ini", QSettings::IniFormat); - if (!merge) { + if (!result.merged()) { settingsFile.setValue("modid", 0); settingsFile.setValue("version", ""); settingsFile.setValue("newestVersion", ""); @@ -783,7 +783,7 @@ MOBase::IModInterface *OrganizerCore::installMod(const QString &fileName, m_InstallationManager.setModsDirectory(m_Settings.paths().mods()); m_InstallationManager.notifyInstallationStart(fileName, reinstallation, currentMod); auto result = m_InstallationManager.install(fileName, modName, hasIniTweaks); - if (result == IPluginInstaller::RESULT_SUCCESS) { + if (result) { MessageDialog::showMessage(tr("Installation successful"), qApp->activeWindow()); refresh(); @@ -865,7 +865,7 @@ ModInfo::Ptr OrganizerCore::installDownload(int index, int priority) m_InstallationManager.setModsDirectory(m_Settings.paths().mods()); m_InstallationManager.notifyInstallationStart(fileName, false, currentMod); auto result = m_InstallationManager.install(fileName, modName, hasIniTweaks); - if (result == IPluginInstaller::RESULT_SUCCESS) { + if (result) { MessageDialog::showMessage(tr("Installation successful"), qApp->activeWindow()); refresh(); @@ -876,7 +876,7 @@ ModInfo::Ptr OrganizerCore::installDownload(int index, int priority) modInfo = ModInfo::getByIndex(modIndex); modInfo->addInstalledFile(modID, fileID); - if (priority != -1) { + if (priority != -1 && !result.mergedOrReplaced()) { m_ModList.changeModPriority(modIndex, priority); } @@ -891,7 +891,7 @@ ModInfo::Ptr OrganizerCore::installDownload(int index, int priority) } m_ModList.notifyModInstalled(modInfo.get()); - m_InstallationManager.notifyInstallationEnd(IPluginInstaller::RESULT_SUCCESS, modInfo); + m_InstallationManager.notifyInstallationEnd(result, modInfo); } else { reportError(tr("mod not found: %1").arg(qUtf8Printable(modName))); } |
