From 73cdb6239dd25305603e2ce4628f354e998398e3 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 2 Nov 2022 13:39:04 +0100 Subject: [PATCH] QmlDesigner: Show Effect wizard only in enterprise version Change-Id: If0c99beec083514ed5c531bb7a67cd7a392c3108 Reviewed-by: Tim Jenssen --- .../studio_templates/files/effect/wizard.json | 4 +-- src/plugins/qmldesigner/qmldesignerplugin.cpp | 26 ++++++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/share/qtcreator/qmldesigner/studio_templates/files/effect/wizard.json b/share/qtcreator/qmldesigner/studio_templates/files/effect/wizard.json index 82e80e65a90..3837321b1ae 100644 --- a/share/qtcreator/qmldesigner/studio_templates/files/effect/wizard.json +++ b/share/qtcreator/qmldesigner/studio_templates/files/effect/wizard.json @@ -7,8 +7,8 @@ "trDisplayName": "Effect File (Effect Maker)", "trDisplayCategory": "Effects", "iconText": "qep", - "platformIndependent": false, - "enabled": true, + "platformIndependent": true, + "enabled": "%{JS: value('Features').indexOf('QmlDesigner.Wizards.Enterprise') >= 0}", "featuresRequired": [ "QmlDesigner.Wizards.Enterprise" ], "options": { "key": "DefaultSuffix", "value": "qep" }, diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp index d8c71fcd056..5e10ab394b1 100644 --- a/src/plugins/qmldesigner/qmldesignerplugin.cpp +++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "qmldesignerplugin.h" +#include "coreplugin/iwizardfactory.h" #include "designmodecontext.h" #include "designmodewidget.h" #include "dynamiclicensecheck.h" @@ -61,8 +62,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -74,19 +77,19 @@ #include #include +#include #include #include -#include #include -#include +#include #include -#include #include #include #include +#include #include -#include +#include #include "nanotrace/nanotrace.h" #include @@ -99,6 +102,17 @@ namespace QmlDesigner { namespace Internal { +class EnterpriseFeatureProvider : public Core::IFeatureProvider +{ +public: + QSet availableFeatures(Utils::Id id) const override + { + return {"QmlDesigner.Wizards.Enterprise"}; + } + QSet availablePlatforms() const override { return {}; } + QString displayNameForPlatform(Utils::Id id) const override { return {}; } +}; + QString normalizeIdentifier(const QString &string) { if (string.isEmpty()) @@ -283,6 +297,10 @@ bool QmlDesignerPlugin::initialize(const QStringList & /*arguments*/, QString *e #endif //TODO Move registering those types out of the property editor, since they are used also in the states editor Quick2PropertyEditorView::registerQmlTypes(); + + if (QmlDesigner::checkLicense() == QmlDesigner::FoundLicense::enterprise) + Core::IWizardFactory::registerFeatureProvider(new EnterpriseFeatureProvider); + return true; }