From 1bf76dd3db9106fe99ee2f4bae7d7ecc4766faef Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 27 Aug 2016 12:26:13 -0700 Subject: Settings update: Fix broken UpdateManger logic In commit b76c1846bbfd ("Settings update: Simplify Update Manager") the logic for when to show the UpdateManger question to the user got broken. Unintuitively, a boolean setting actually has three possible values. True, False, and Unset. This patch fixes things to work as designed again. Signed-off-by: Dirk Hohndel --- core/subsurface-qt/SettingsObjectWrapper.cpp | 7 +++++++ core/subsurface-qt/SettingsObjectWrapper.h | 1 + 2 files changed, 8 insertions(+) (limited to 'core/subsurface-qt') diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index 16e7ab7f9..e71e1b1e8 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -78,6 +78,11 @@ bool UpdateManagerSettings::dontCheckForUpdates() const return prefs.update_manager.dont_check_for_updates; } +bool UpdateManagerSettings::dontCheckExists() const +{ + return prefs.update_manager.dont_check_exists; +} + QString UpdateManagerSettings::lastVersionUsed() const { return prefs.update_manager.last_version_used; @@ -94,6 +99,7 @@ void UpdateManagerSettings::setDontCheckForUpdates(bool value) s.beginGroup(group); s.setValue("DontCheckForUpdates", value); prefs.update_manager.dont_check_for_updates = value; + prefs.update_manager.dont_check_exists = true; emit dontCheckForUpdatesChanged(value); } @@ -1934,6 +1940,7 @@ void SettingsObjectWrapper::load() s.endGroup(); s.beginGroup("UpdateManager"); + prefs.update_manager.dont_check_exists = s.contains("DontCheckForUpdates"); prefs.update_manager.dont_check_for_updates = s.value("DontCheckForUpdates").toBool(); prefs.update_manager.last_version_used = copy_string(qPrintable(s.value("LastVersionUsed").toString())); prefs.update_manager.next_check = copy_string(qPrintable(s.value("NextCheck").toString())); diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index 2f9bffd67..129fd2325 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -47,6 +47,7 @@ class UpdateManagerSettings : public QObject { public: UpdateManagerSettings(QObject *parent); bool dontCheckForUpdates() const; + bool dontCheckExists() const; QString lastVersionUsed() const; QDate nextCheck() const; -- cgit v1.2.3-70-g09d2