diff --git a/src/core/mainwindow.cpp b/src/core/mainwindow.cpp index 72c765c18..6bdb0e0c7 100644 --- a/src/core/mainwindow.cpp +++ b/src/core/mainwindow.cpp @@ -2117,6 +2117,7 @@ SettingsDialog *MainWindow::CreateSettingsDialog() { // Settings connect(settings_dialog, SIGNAL(accepted()), SLOT(ReloadAllSettings())); + connect(settings_dialog, SIGNAL(ReloadSettings()), SLOT(ReloadAllSettings())); // Allows custom notification preview connect(settings_dialog, SIGNAL(NotificationPreview(OSD::Behaviour, QString, QString)), SLOT(HandleNotificationPreview(OSD::Behaviour, QString, QString))); diff --git a/src/settings/settingsdialog.cpp b/src/settings/settingsdialog.cpp index 4d5eab2f2..e1f2b7b62 100644 --- a/src/settings/settingsdialog.cpp +++ b/src/settings/settingsdialog.cpp @@ -232,9 +232,12 @@ void SettingsDialog::AddPage(Page id, SettingsPage *page, QTreeWidgetItem *paren } void SettingsDialog::Save() { + for (const PageData &data : pages_.values()) { data.page_->Save(); } + emit ReloadSettings(); + } void SettingsDialog::accept() { diff --git a/src/settings/settingsdialog.h b/src/settings/settingsdialog.h index 02820655e..ad2ceb467 100644 --- a/src/settings/settingsdialog.h +++ b/src/settings/settingsdialog.h @@ -113,6 +113,7 @@ class SettingsDialog : public QDialog { void ComboBoxLoadFromSettings(QSettings &s, QComboBox *combobox, QString setting, QString default_value); signals: + void ReloadSettings(); void NotificationPreview(OSD::Behaviour, QString, QString); private slots: