From dc4aad776fbd734091497635766f1c57c0e91d74 Mon Sep 17 00:00:00 2001 From: Elias Date: Thu, 31 Jan 2019 18:14:11 +0100 Subject: [PATCH] Replace on version struct with QVersionNumber --- ScreenPlay/src/settings.cpp | 9 ++++++--- ScreenPlay/src/settings.h | 13 ++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/ScreenPlay/src/settings.cpp b/ScreenPlay/src/settings.cpp index de074198..a3d824eb 100644 --- a/ScreenPlay/src/settings.cpp +++ b/ScreenPlay/src/settings.cpp @@ -4,6 +4,7 @@ Settings::Settings(ProfileListModel* plm, MonitorListModel* mlm, InstalledListModel* ilm, SDKConnector* sdkc, QGuiApplication* app, QObject* parent) : QObject(parent) + , m_version(QVersionNumber(0, 0, 1)) , m_qSettings(QSettings(QSettings::NativeFormat, QSettings::Scope::UserScope, app->organizationName(), app->applicationName())) { @@ -71,16 +72,18 @@ Settings::Settings(ProfileListModel* plm, MonitorListModel* mlm, InstalledListMo } configObj = configJsonDocument.object(); + QString tmp(configObj.value("version").toVariant().toString()); int major, minor, patch; major = QString(tmp.at(0)).toInt(); minor = QString(tmp.at(2)).toInt(); patch = QString(tmp.at(4)).toInt(); + QVersionNumber fileVersion(major, minor, patch); //Checks if the settings file has the same version as ScreeenPlay - if (!(major == m_version.major && minor == m_version.minor && patch == m_version.patch)) { + if (fileVersion != m_version) { // TODO(Kelteseth): Display error message - qWarning("Version missmatch"); + qWarning() << "Version missmatch fileVersion: " << fileVersion.toString() << "m_version: " << m_version.toString(); return; } @@ -265,7 +268,7 @@ void Settings::saveWallpaper(int monitorIndex, QUrl absoluteStoragePath, QString { } -void Settings::setqSetting(const QString &key, const QString &value) +void Settings::setqSetting(const QString& key, const QString& value) { m_qSettings.setValue(key, value); m_qSettings.sync(); diff --git a/ScreenPlay/src/settings.h b/ScreenPlay/src/settings.h index 55aec3a9..71eeb8fd 100644 --- a/ScreenPlay/src/settings.h +++ b/ScreenPlay/src/settings.h @@ -22,6 +22,7 @@ #include #include #include +#include #include "installedlistmodel.h" #include "monitorlistmodel.h" @@ -52,7 +53,7 @@ public: explicit Settings(ProfileListModel* plm, MonitorListModel* mlm, InstalledListModel* ilm, SDKConnector* sdkc, QGuiApplication* app, QObject* parent = nullptr); ~Settings(); - Q_PROPERTY(Version version READ version) + Q_PROPERTY(QVersionNumber version READ version) Q_PROPERTY(bool hasWorkshopBannerSeen READ hasWorkshopBannerSeen WRITE setHasWorkshopBannerSeen NOTIFY hasWorkshopBannerSeenChanged) Q_PROPERTY(bool autostart READ autostart WRITE setAutostart NOTIFY autostartChanged) Q_PROPERTY(bool highPriorityStart READ highPriorityStart WRITE setHighPriorityStart NOTIFY highPriorityStartChanged) @@ -73,13 +74,7 @@ public: }; Q_ENUM(LocalCopyResult) - struct Version { - int major = 0; - int minor = 0; - int patch = 1; - }; - - Version version() const + QVersionNumber version() const { return m_version; } @@ -299,7 +294,7 @@ public slots: private: void createDefaultConfig(); - Version m_version; + QVersionNumber m_version; QSettings m_qSettings; QTranslator m_translator; ProfileListModel* m_plm;