summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLostDragonist <lost.dragonist@gmail.com>2019-01-11 16:21:43 -0600
committerLostDragonist <lost.dragonist@gmail.com>2019-01-11 16:21:43 -0600
commit64a242d9220868a5b564c32f75f191efb01ad18e (patch)
tree9c616f7135e982d8d9cb0bad00f756a070dfd943 /src
parentb41c99b742bbb9eee854f177a26da3218f24f2ac (diff)
Remove profile-specific executable settings when removing the executable
Diffstat (limited to 'src')
-rw-r--r--src/editexecutablesdialog.cpp4
-rw-r--r--src/profile.cpp7
-rw-r--r--src/profile.h3
3 files changed, 11 insertions, 3 deletions
diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp
index 4b1cdb5d..bea497ef 100644
--- a/src/editexecutablesdialog.cpp
+++ b/src/editexecutablesdialog.cpp
@@ -124,7 +124,7 @@ void EditExecutablesDialog::saveExecutable()
m_Profile->removeSetting("custom_overwrites", ui->titleEdit->text());
}
- m_Profile->saveForcedLibraries(ui->titleEdit->text(), m_ForcedLibraries);
+ m_Profile->storeForcedLibraries(ui->titleEdit->text(), m_ForcedLibraries);
m_Profile->setForcedLibrariesEnabled(ui->titleEdit->text(), ui->forceLoadCheckBox->isChecked());
}
@@ -218,6 +218,8 @@ void EditExecutablesDialog::on_removeButton_clicked()
{
if (QMessageBox::question(this, tr("Confirm"), tr("Really remove \"%1\" from executables?").arg(ui->titleEdit->text()),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
+ m_Profile->removeSetting("custom_overwrites", ui->titleEdit->text());
+ m_Profile->removeForcedLibraries(ui->titleEdit->text());
m_ExecutablesList.remove(ui->titleEdit->text());
}
diff --git a/src/profile.cpp b/src/profile.cpp
index 02257de9..afe6fdc7 100644
--- a/src/profile.cpp
+++ b/src/profile.cpp
@@ -1014,7 +1014,7 @@ QList<ExecutableForcedLoadSetting> Profile::determineForcedLibraries(const QStri
return results;
}
-void Profile::saveForcedLibraries(const QString &executable, const QList<ExecutableForcedLoadSetting> &values)
+void Profile::storeForcedLibraries(const QString &executable, const QList<ExecutableForcedLoadSetting> &values)
{
QList<QVariantMap> rawSettings;
for (auto setting : values) {
@@ -1026,3 +1026,8 @@ void Profile::saveForcedLibraries(const QString &executable, const QList<Executa
}
storeSettingsByArray("forced_libraries/" + executable, rawSettings);
}
+
+void Profile::removeForcedLibraries(const QString &executable)
+{
+ m_Settings->remove("forced_libraries/" + executable);
+}
diff --git a/src/profile.h b/src/profile.h
index d7fb7785..dea933ad 100644
--- a/src/profile.h
+++ b/src/profile.h
@@ -323,7 +323,8 @@ public:
bool forcedLibrariesEnabled(const QString &executable);
void setForcedLibrariesEnabled(const QString &executable, bool enabled);
QList<MOBase::ExecutableForcedLoadSetting> determineForcedLibraries(const QString &executable);
- void saveForcedLibraries(const QString &executable, const QList<MOBase::ExecutableForcedLoadSetting> &values);
+ void storeForcedLibraries(const QString &executable, const QList<MOBase::ExecutableForcedLoadSetting> &values);
+ void removeForcedLibraries(const QString &executable);
signals: