diff options
| author | Tannin <devnull@localhost> | 2013-12-11 20:43:30 +0100 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-12-11 20:43:30 +0100 |
| commit | 22b8eb7c5a5d3a0d7033bbb57b2d248fc7c0fe11 (patch) | |
| tree | 985d8a59d8b11a9148a2d8cffac8c690257d3336 /src/installationmanager.cpp | |
| parent | 9ee90a35dc3ebdbc76b18cbeb72995345ee37052 (diff) | |
- downgrading a mod (using replace) will now change the version
- bain installer will now accept archives with omod conversion data.
Diffstat (limited to 'src/installationmanager.cpp')
| -rw-r--r-- | src/installationmanager.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/installationmanager.cpp b/src/installationmanager.cpp index 224602a8..07c015ea 100644 --- a/src/installationmanager.cpp +++ b/src/installationmanager.cpp @@ -426,7 +426,7 @@ QString InstallationManager::generateBackupName(const QString &directoryName) co } -bool InstallationManager::testOverwrite(GuessedValue<QString> &modName) const +bool InstallationManager::testOverwrite(GuessedValue<QString> &modName, bool *merge) const { QString targetDirectory = QDir::fromNativeSeparators(m_ModsDirectory + "\\" + modName); @@ -440,6 +440,7 @@ bool InstallationManager::testOverwrite(GuessedValue<QString> &modName) const return false; } } + *merge = (overwriteDialog.action() == QueryOverwriteDialog::ACT_MERGE); if (overwriteDialog.action() == QueryOverwriteDialog::ACT_RENAME) { bool ok = false; QString name = QInputDialog::getText(m_ParentWidget, tr("Mod Name"), tr("Name"), @@ -513,8 +514,9 @@ bool InstallationManager::doInstall(GuessedValue<QString> &modName, int modID, return false; } + bool merge = false; // determine target directory - if (!testOverwrite(modName)) { + if (!testOverwrite(modName, &merge)) { return false; } @@ -549,7 +551,7 @@ bool InstallationManager::doInstall(GuessedValue<QString> &modName, int modID, } if (!settingsFile.contains("version") || (!version.isEmpty() && - (VersionInfo(version) >= VersionInfo(settingsFile.value("version").toString())))) { + (!merge || (VersionInfo(version) >= VersionInfo(settingsFile.value("version").toString()))))) { settingsFile.setValue("version", version); } if (!newestVersion.isEmpty() || !settingsFile.contains("newestVersion")) { |
