From 3125e0e69513a421c6821d1bd0f545501ede85b1 Mon Sep 17 00:00:00 2001 From: Gehad Date: Mon, 7 Apr 2014 19:12:34 +0200 Subject: [PATCH] Fix incorrect behavior in preference window When doing some changes in the preference window and clicking "Apply", the 'Close without saving' button is supposed to restore the previous values. However some fields were not restored correctly. - The Animations Slider was never restored to its initial value. (A new member in the pref struct was added - pref.animation) - The 'Font' and 'Font size' were restored correctly to the previous values but their effects weren't restored to the UI and that required to open the prefrences window again and press ok. Fixes #481 Signed-off-by: Gehad elrobey Signed-off-by: Dirk Hohndel --- pref.h | 1 + qt-ui/preferences.cpp | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/pref.h b/pref.h index c9cb27149..4a6b2ad53 100644 --- a/pref.h +++ b/pref.h @@ -33,6 +33,7 @@ struct preferences { short calc_ndl_tts; short gflow; short gfhigh; + short animation; bool gf_low_at_maxdepth; short display_invalid_dives; short unit_system; diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index e49984c2a..27570dc23 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -90,6 +90,7 @@ void PreferencesDialog::setUiFromPrefs() ui.show_average_depth->setChecked(prefs.show_average_depth); ui.vertical_speed_minutes->setChecked(prefs.units.vertical_speed_time == units::MINUTES); ui.vertical_speed_seconds->setChecked(prefs.units.vertical_speed_time == units::SECONDS); + ui.velocitySlider->setValue(prefs.animation); QSortFilterProxyModel *filterModel = new QSortFilterProxyModel(); filterModel->setSourceModel(LanguageModel::instance()); @@ -107,9 +108,6 @@ void PreferencesDialog::setUiFromPrefs() ui.languageView->setCurrentIndex(languages.first()); s.endGroup(); - s.beginGroup("Animations"); - int animVelocity = s.value("animation_speed",500).toInt(); - ui.velocitySlider->setValue(animVelocity); } void PreferencesDialog::restorePrefs() @@ -298,8 +296,7 @@ void PreferencesDialog::loadSettings() s.endGroup(); s.beginGroup("Animations"); - int animVelocity = s.value("animation_speed",500).toInt(); - ui.velocitySlider->setValue(animVelocity); + GET_INT("animation_speed", animation); } void PreferencesDialog::buttonClicked(QAbstractButton *button) @@ -307,6 +304,7 @@ void PreferencesDialog::buttonClicked(QAbstractButton *button) switch (ui.buttonBox->standardButton(button)) { case QDialogButtonBox::Discard: restorePrefs(); + syncSettings(); close(); break; case QDialogButtonBox::Apply: