From 62672276d0457e8890aed57e4ca114e9daac16f2 Mon Sep 17 00:00:00 2001 From: jan Iversen Date: Wed, 15 Aug 2018 17:19:29 +0200 Subject: 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 --- core/pref.h | 2 +- core/settings/qPrefUpdateManager.cpp | 15 ++++++++++----- core/settings/qPrefUpdateManager.h | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) (limited to 'core') 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); -- cgit v1.2.3-70-g09d2