diff --git a/core/settings/qPrefUpdateManager.cpp b/core/settings/qPrefUpdateManager.cpp index 23952f700..709631519 100644 --- a/core/settings/qPrefUpdateManager.cpp +++ b/core/settings/qPrefUpdateManager.cpp @@ -5,6 +5,9 @@ static const QString group = QStringLiteral("UpdateManager"); +QString qPrefUpdateManager::st_uuidString; +static const QString st_uuidString_default = ""; + qPrefUpdateManager::qPrefUpdateManager(QObject *parent) : QObject(parent) { } @@ -21,6 +24,9 @@ void qPrefUpdateManager::loadSync(bool doSync) disk_dont_check_for_updates(doSync); disk_last_version_used(doSync); disk_next_check(doSync); + if (!doSync) { + load_uuidString(); + } } @@ -51,7 +57,9 @@ void qPrefUpdateManager::set_next_check(const QDate& value) void qPrefUpdateManager::disk_next_check(bool doSync) { if (doSync) - qPrefPrivate::instance()->setting.setValue(group + "/NextCheck", prefs.update_manager.next_check); + qPrefPrivate::propSetValue(group + "/NextCheck", prefs.update_manager.next_check); else - prefs.update_manager.next_check = qPrefPrivate::instance()->setting.value(group + "/NextCheck", 0).toInt(); + prefs.update_manager.next_check = qPrefPrivate::propValue(group + "/NextCheck", 0).toInt(); } + +HANDLE_PROP_QSTRING(UpdateManager, "UodateManager/UUID", uuidString); diff --git a/core/settings/qPrefUpdateManager.h b/core/settings/qPrefUpdateManager.h index a1ed468ba..151c2edc4 100644 --- a/core/settings/qPrefUpdateManager.h +++ b/core/settings/qPrefUpdateManager.h @@ -12,6 +12,7 @@ class qPrefUpdateManager : public QObject { Q_PROPERTY(bool dont_check_exists READ dont_check_exists WRITE set_dont_check_exists NOTIFY dont_check_exists_changed); Q_PROPERTY(const QString last_version_used READ last_version_used WRITE set_last_version_used NOTIFY last_version_used_changed); Q_PROPERTY(const QDate next_check READ next_check WRITE set_next_check NOTIFY next_check_changed); + Q_PROPERTY(const QString uuidString READ uuidString WRITE set_uuidString NOTIFY uuidString_changed); public: qPrefUpdateManager(QObject *parent = NULL); @@ -27,23 +28,32 @@ public: 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::fromJulianDay(prefs.update_manager.next_check); } + static const QString uuidString() { return st_uuidString; } public slots: static void set_dont_check_for_updates(bool value); static void set_dont_check_exists(bool value); static void set_last_version_used(const QString& value); static void set_next_check(const QDate& value); + static void set_uuidString(const QString& value); signals: void dont_check_for_updates_changed(bool value); void dont_check_exists_changed(bool value); void last_version_used_changed(const QString& value); void next_check_changed(const QDate& value); + void uuidString_changed(const QString& value); private: static void disk_dont_check_for_updates(bool doSync); static void disk_last_version_used(bool doSync); static void disk_next_check(bool doSync); + + // load only for class variables + static void load_uuidString(); + + // class variables not present in structure preferences + static QString st_uuidString; }; #endif diff --git a/tests/testqPrefUpdateManager.cpp b/tests/testqPrefUpdateManager.cpp index 1d2e5d98d..4dc3c2696 100644 --- a/tests/testqPrefUpdateManager.cpp +++ b/tests/testqPrefUpdateManager.cpp @@ -41,11 +41,13 @@ void TestQPrefUpdateManager::test_set_struct() tst->set_dont_check_exists(false); tst->set_last_version_used("last_version2"); tst->set_next_check(QDate::fromString("11/09/1957", "dd/MM/yyyy")); + tst->set_uuidString("uuid"); QCOMPARE(prefs.update_manager.dont_check_for_updates, false); QCOMPARE(prefs.update_manager.dont_check_exists, false); QCOMPARE(QString(prefs.update_manager.last_version_used), QString("last_version2")); QCOMPARE(QDate::fromJulianDay(prefs.update_manager.next_check), QDate::fromString("11/09/1957", "dd/MM/yyyy")); + QCOMPARE(tst->uuidString(), QString("uuid")); } void TestQPrefUpdateManager::test_set_load_struct() @@ -63,6 +65,7 @@ void TestQPrefUpdateManager::test_set_load_struct() tst->set_dont_check_exists(false); tst->set_last_version_used("last_version2"); tst->set_next_check(QDate::fromString("11/09/1957", "dd/MM/yyyy")); + tst->set_uuidString("uuid2"); prefs.update_manager.dont_check_for_updates = true; prefs.update_manager.dont_check_exists = true; @@ -73,6 +76,7 @@ void TestQPrefUpdateManager::test_set_load_struct() QCOMPARE(prefs.update_manager.dont_check_for_updates, false); QCOMPARE(QString(prefs.update_manager.last_version_used), QString("last_version2")); QCOMPARE(QDate::fromJulianDay(prefs.update_manager.next_check), QDate::fromString("11/09/1957", "dd/MM/yyyy")); + QCOMPARE(tst->uuidString(), QString("uuid2")); // dont_check_exists is NOT stored on disk QCOMPARE(prefs.update_manager.dont_check_exists, true); diff --git a/tests/tst_qPrefUpdateManager.qml b/tests/tst_qPrefUpdateManager.qml index 3554f88c8..7b3ee07a0 100644 --- a/tests/tst_qPrefUpdateManager.qml +++ b/tests/tst_qPrefUpdateManager.qml @@ -31,5 +31,9 @@ TestCase { var x4_date = Date.fromLocaleString(Qt.locale(), "01-01-2001", "dd-MM-yyyy") tst.next_check = x4_date compare(tst.next_check, x4_date) + + var x5 = tst.uuidString + tst.uuidString = "jan again" + compare(tst.uuidString, "jan again") } }