aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/studiowelcome/studiowelcomeplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/studiowelcome/studiowelcomeplugin.cpp')
-rw-r--r--src/plugins/studiowelcome/studiowelcomeplugin.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp
index ac6a17de87..fe209b5fd0 100644
--- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp
+++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp
@@ -333,6 +333,37 @@ public:
Core::EditorManager::openEditor(qmlFile);
}
+ Q_INVOKABLE bool exampleVersionOk(const QString &exampleVersion)
+ {
+ if (exampleVersion.isEmpty())
+ return true;
+
+ const QStringList exampleVersionParts = exampleVersion.split('.');
+ const QStringList qdsVersionParts = QCoreApplication::applicationVersion().split('.');
+
+ QList<int> exampleVerInts;
+ QList<int> qdsVerInts;
+ for (const QString &part : exampleVersionParts)
+ exampleVerInts.append(part.toInt());
+
+ for (const QString &part : qdsVersionParts)
+ qdsVerInts.append(part.toInt());
+
+ // pad zeros so both lists are same size
+ while (qdsVerInts.size() < exampleVerInts.size())
+ qdsVerInts.append(0);
+
+ while (exampleVerInts.size() < qdsVerInts.size())
+ exampleVerInts.append(0);
+
+ for (int i = 0; i < qdsVerInts.size(); ++i) {
+ if (exampleVerInts[i] < qdsVerInts[i])
+ return false;
+ }
+
+ return true;
+ }
+
public slots:
void resetProjects();
void delayedResetProjects();