From a72ebf1579e9a16ea33162d1ac943f6f1ce95540 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Jan 2024 13:36:55 +0100 Subject: [PATCH] QmlDesigner: Add helpers for experimental features Change-Id: Iff5849c592999f1e922b23ad845d659886b7307b Reviewed-by: Tim Jenssen Reviewed-by: Qt CI Patch Build Bot --- .../qmldesignerbase/qmldesignerbaseplugin.cpp | 18 +++++++++++++++++- .../qmldesignerbase/qmldesignerbaseplugin.h | 3 +++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesignerbase/qmldesignerbaseplugin.cpp b/src/plugins/qmldesignerbase/qmldesignerbaseplugin.cpp index 703c1cf7605..11a180578f4 100644 --- a/src/plugins/qmldesignerbase/qmldesignerbaseplugin.cpp +++ b/src/plugins/qmldesignerbase/qmldesignerbaseplugin.cpp @@ -9,13 +9,13 @@ #include "utils/designersettings.h" #include +#include #include #include namespace QmlDesigner { - class QmlDesignerBasePlugin::Data { public: @@ -29,6 +29,9 @@ public: }; namespace { + +const char experimentalFeatures[] = "QML/Designer/UseExperimentalFeatures"; + QmlDesignerBasePlugin *global; } @@ -57,6 +60,19 @@ StudioConfigSettingsPage *QmlDesignerBasePlugin::studioConfigSettingsPage() return global->d->studioConfigSettingsPage.get(); } +bool QmlDesignerBasePlugin::experimentalFeaturesEnabled() +{ + return Core::ICore::settings()->value(experimentalFeaturesSettingsKey(), false).toBool(); +} + +QByteArray QmlDesignerBasePlugin::experimentalFeaturesSettingsKey() +{ + QString version = Utils::appInfo().displayVersion; + version.remove('.'); + + return QByteArray(experimentalFeatures) + version.toLatin1(); +} + bool QmlDesignerBasePlugin::initialize(const QStringList &, QString *) { d = std::make_unique(); diff --git a/src/plugins/qmldesignerbase/qmldesignerbaseplugin.h b/src/plugins/qmldesignerbase/qmldesignerbaseplugin.h index 997189dacf6..0820c1ef245 100644 --- a/src/plugins/qmldesignerbase/qmldesignerbaseplugin.h +++ b/src/plugins/qmldesignerbase/qmldesignerbaseplugin.h @@ -28,6 +28,9 @@ public: static QStyle *style(); static class StudioConfigSettingsPage *studioConfigSettingsPage(); + static bool experimentalFeaturesEnabled(); + static QByteArray experimentalFeaturesSettingsKey(); + private: bool initialize(const QStringList &arguments, QString *errorMessage) override;