diff options
author | jan Iversen <jani@apache.org> | 2018-08-15 17:19:29 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2018-08-23 05:19:16 -0700 |
commit | 62672276d0457e8890aed57e4ca114e9daac16f2 (patch) | |
tree | f9abfdab852b8f67fb8ed15926c88c452c62e104 /core | |
parent | fa62ffdbf018f32758e2828179f8f7f243a874a5 (diff) | |
download | subsurface-62672276d0457e8890aed57e4ca114e9daac16f2.tar.gz |
core: correct error in qPrefUpdateManager
make next_check (in qPrefUpdateManager) long instead of string
Correct test cases (compare time_t not strings)
Add test case to check time_t works as expected
Signed-off-by: Jan Iversen <jani@apache.org>
Diffstat (limited to 'core')
-rw-r--r-- | core/pref.h | 2 | ||||
-rw-r--r-- | core/settings/qPrefUpdateManager.cpp | 15 | ||||
-rw-r--r-- | core/settings/qPrefUpdateManager.h | 2 |
3 files changed, 12 insertions, 7 deletions
diff --git a/core/pref.h b/core/pref.h index d7a7432a4..a27c7d6c4 100644 --- a/core/pref.h +++ b/core/pref.h @@ -55,7 +55,7 @@ typedef struct { bool dont_check_for_updates; bool dont_check_exists; const char *last_version_used; - const char *next_check; + int next_check; } update_manager_prefs_t; typedef struct { diff --git a/core/settings/qPrefUpdateManager.cpp b/core/settings/qPrefUpdateManager.cpp index 2b2bb373d..23952f700 100644 --- a/core/settings/qPrefUpdateManager.cpp +++ b/core/settings/qPrefUpdateManager.cpp @@ -41,12 +41,17 @@ HANDLE_PREFERENCE_TXT_EXT(UpdateManager, "/LastVersionUsed", last_version_used, void qPrefUpdateManager::set_next_check(const QDate& value) { - QString valueString = value.toString("dd/MM/yyyy"); - if (valueString != prefs.update_manager.next_check) { - qPrefPrivate::copy_txt(&prefs.update_manager.next_check, valueString); + long time_value = value.toJulianDay(); + if (time_value != prefs.update_manager.next_check) { + prefs.update_manager.next_check = time_value; disk_next_check(true); emit instance()->next_check_changed(value); } } -DISK_LOADSYNC_TXT_EXT(UpdateManager, "/NextCheck", next_check, update_manager.); - +void qPrefUpdateManager::disk_next_check(bool doSync) +{ + if (doSync) + qPrefPrivate::instance()->setting.setValue(group + "/NextCheck", prefs.update_manager.next_check); + else + prefs.update_manager.next_check = qPrefPrivate::instance()->setting.value(group + "/NextCheck", 0).toInt(); +} diff --git a/core/settings/qPrefUpdateManager.h b/core/settings/qPrefUpdateManager.h index 773ca3b4b..a1ed468ba 100644 --- a/core/settings/qPrefUpdateManager.h +++ b/core/settings/qPrefUpdateManager.h @@ -26,7 +26,7 @@ public: static bool dont_check_for_updates() { return prefs.update_manager.dont_check_for_updates; } static bool dont_check_exists() { return prefs.update_manager.dont_check_exists; } static const QString last_version_used() { return prefs.update_manager.last_version_used; } - static const QDate next_check() { return QDate::fromString(QString(prefs.update_manager.next_check), "dd/MM/yyyy"); } + static const QDate next_check() { return QDate::fromJulianDay(prefs.update_manager.next_check); } public slots: static void set_dont_check_for_updates(bool value); |