summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp16
-rw-r--r--src/settings.cpp10
-rw-r--r--src/settings.h5
-rw-r--r--src/settingsdialog.ui7
-rw-r--r--src/settingsdialoggeneral.cpp2
5 files changed, 34 insertions, 6 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 9ea554a2..844456a6 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -6139,14 +6139,18 @@ void MainWindow::on_actionNotifications_triggered()
void MainWindow::on_actionChange_Game_triggered()
{
- const auto r = QMessageBox::question(
- this, tr("Are you sure?"), tr("This will restart MO, continue?"),
- QMessageBox::Yes | QMessageBox::Cancel);
+ if (m_OrganizerCore.settings().interface().showChangeGameConfirmation()) {
+ const auto r = QMessageBox::question(
+ this, tr("Are you sure?"), tr("This will restart MO, continue?"),
+ QMessageBox::Yes | QMessageBox::Cancel);
- if (r == QMessageBox::Yes) {
- InstanceManager::instance().clearCurrentInstance();
- ExitModOrganizer(Exit::Restart);
+ if (r != QMessageBox::Yes) {
+ return;
+ }
}
+
+ InstanceManager::instance().clearCurrentInstance();
+ ExitModOrganizer(Exit::Restart);
}
void MainWindow::setCategoryListVisible(bool visible)
diff --git a/src/settings.cpp b/src/settings.cpp
index b533b400..e1e5c2da 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -1961,6 +1961,16 @@ void InterfaceSettings::setTutorialCompleted(const QString& windowName, bool b)
set(m_Settings, "CompletedWindowTutorials", windowName, b);
}
+bool InterfaceSettings::showChangeGameConfirmation() const
+{
+ return get<bool>(m_Settings, "Settings", "show_change_game_confirmation", true);
+}
+
+void InterfaceSettings::setShowChangeGameConfirmation(bool b) const
+{
+ set(m_Settings, "Settings", "show_change_game_confirmation", b);
+}
+
DiagnosticsSettings::DiagnosticsSettings(QSettings& settings)
: m_Settings(settings)
diff --git a/src/settings.h b/src/settings.h
index d71fabf4..870e0fc4 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -605,6 +605,11 @@ public:
bool isTutorialCompleted(const QString& windowName) const;
void setTutorialCompleted(const QString& windowName, bool b=true);
+ // whether to show the confirmation when switching instances
+ //
+ bool showChangeGameConfirmation() const;
+ void setShowChangeGameConfirmation(bool b) const;
+
private:
QSettings& m_Settings;
};
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index b88c8b71..e63ca692 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -109,6 +109,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="changeGameConfirmation">
+ <property name="text">
+ <string>Show confirmation when changing instance</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="resetDialogsButton">
<property name="maximumSize">
<size>
diff --git a/src/settingsdialoggeneral.cpp b/src/settingsdialoggeneral.cpp
index e21fc5d0..b0e64305 100644
--- a/src/settingsdialoggeneral.cpp
+++ b/src/settingsdialoggeneral.cpp
@@ -17,6 +17,7 @@ GeneralSettingsTab::GeneralSettingsTab(Settings& s, SettingsDialog& d)
ui->colorTable->load(s);
ui->centerDialogs->setChecked(settings().geometry().centerDialogs());
+ ui->changeGameConfirmation->setChecked(settings().interface().showChangeGameConfirmation());
ui->compactBox->setChecked(settings().interface().compactDownloads());
ui->showMetaBox->setChecked(settings().interface().metaDownloads());
ui->checkForUpdates->setChecked(settings().checkForUpdates());
@@ -59,6 +60,7 @@ void GeneralSettingsTab::update()
ui->colorTable->commitColors();
settings().geometry().setCenterDialogs(ui->centerDialogs->isChecked());
+ settings().interface().setShowChangeGameConfirmation(ui->changeGameConfirmation->isChecked());
settings().interface().setCompactDownloads(ui->compactBox->isChecked());
settings().interface().setMetaDownloads(ui->showMetaBox->isChecked());
settings().setCheckForUpdates(ui->checkForUpdates->isChecked());