diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-11-02 12:50:17 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-11-02 12:53:47 -0800 |
commit | df7818a9b8495285b4d9812e5d6d50d6f9c08813 (patch) | |
tree | 02377a879039cfce5d15936ac4d147f65c049904 /desktop-widgets/preferences | |
parent | 9f93b9a934e23be05322ff47a0c6a8fa3b8b3adb (diff) | |
download | subsurface-df7818a9b8495285b4d9812e5d6d50d6f9c08813.tar.gz |
Preferences: make apply work
We didn't respond at all to that button. Also, the language settings
didn't propagate without this explicit call.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'desktop-widgets/preferences')
-rw-r--r-- | desktop-widgets/preferences/preferences_language.cpp | 2 | ||||
-rw-r--r-- | desktop-widgets/preferences/preferencesdialog.cpp | 12 | ||||
-rw-r--r-- | desktop-widgets/preferences/preferencesdialog.h | 4 |
3 files changed, 11 insertions, 7 deletions
diff --git a/desktop-widgets/preferences/preferences_language.cpp b/desktop-widgets/preferences/preferences_language.cpp index 1b5ee19a8..31bbd1c20 100644 --- a/desktop-widgets/preferences/preferences_language.cpp +++ b/desktop-widgets/preferences/preferences_language.cpp @@ -1,5 +1,6 @@ #include "preferences_language.h" #include "ui_prefs_language.h" +#include "subsurface-core/helpers.h" #include <QApplication> #include <QSettings> @@ -67,4 +68,5 @@ void PreferencesLanguage::syncSettings() s.setValue("date_format_short", ui->shortDateFormatEntry->text()); } s.endGroup(); + uiLanguage(NULL); } diff --git a/desktop-widgets/preferences/preferencesdialog.cpp b/desktop-widgets/preferences/preferencesdialog.cpp index a7934a96d..d8798879a 100644 --- a/desktop-widgets/preferences/preferencesdialog.cpp +++ b/desktop-widgets/preferences/preferencesdialog.cpp @@ -74,9 +74,10 @@ void PreferencesDialog::buttonClicked(QAbstractButton* btn) { QDialogButtonBox::ButtonRole role = buttonBox->buttonRole(btn); switch(role) { - case QDialogButtonBox::AcceptRole : applyRequested(); return; - case QDialogButtonBox::RejectRole : cancelRequested(); return; - case QDialogButtonBox::ResetRole : defaultsRequested(); return; + case QDialogButtonBox::ApplyRole : applyRequested(false); return; + case QDialogButtonBox::AcceptRole : applyRequested(true); return; + case QDialogButtonBox::RejectRole : cancelRequested(); return; + case QDialogButtonBox::ResetRole : defaultsRequested(); return; } } @@ -110,13 +111,14 @@ void PreferencesDialog::refreshPages() } } -void PreferencesDialog::applyRequested() +void PreferencesDialog::applyRequested(bool closeIt) { Q_FOREACH(AbstractPreferencesWidget *page, pages) { page->syncSettings(); } emit settingsChanged(); - accept(); + if (closeIt) + accept(); } void PreferencesDialog::cancelRequested() diff --git a/desktop-widgets/preferences/preferencesdialog.h b/desktop-widgets/preferences/preferencesdialog.h index 611bd5fac..5f7f5f979 100644 --- a/desktop-widgets/preferences/preferencesdialog.h +++ b/desktop-widgets/preferences/preferencesdialog.h @@ -23,7 +23,7 @@ signals: private: PreferencesDialog(); void cancelRequested(); - void applyRequested(); + void applyRequested(bool closeIt); void defaultsRequested(); void buttonClicked(QAbstractButton *btn); QList<AbstractPreferencesWidget*> pages; @@ -32,4 +32,4 @@ private: QDialogButtonBox *buttonBox; }; -#endif
\ No newline at end of file +#endif |