QmlDesigner: Add helpers for experimental features

Change-Id: Iff5849c592999f1e922b23ad845d659886b7307b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
This commit is contained in:
Thomas Hartmann
2024-01-30 13:36:55 +01:00
parent e617fc96db
commit a72ebf1579
2 changed files with 20 additions and 1 deletions

View File

@@ -9,13 +9,13 @@
#include "utils/designersettings.h"
#include <coreplugin/icore.h>
#include <utils/appinfo.h>
#include <utils/uniqueobjectptr.h>
#include <QApplication>
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<Data>();

View File

@@ -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;