QmlDesigner: Add and check feature for 3D wizards

In QML Lite Designer mode we do not show 3D wizards.
For this we introduce a feature ("QDS.3D") and check for it.

Change-Id: Ifca2cea5373181434bee6cb7813ebc64c8df6983
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
Thomas Hartmann
2024-07-10 15:05:54 +02:00
parent 553f567227
commit 07d8a8109f
3 changed files with 7 additions and 2 deletions

View File

@@ -7,6 +7,8 @@
#include <coreplugin/icore.h>
#include <coreplugin/iwizardfactory.h>
#include <qmldesignerbase/qmldesignerbaseplugin.h>
#include <projectexplorer/jsonwizard/jsonwizardfactory.h>
#include <qmldesigner/components/componentcore/theme.h>
@@ -47,8 +49,9 @@ void WizardFactories::sortByCategoryAndId()
void WizardFactories::filter()
{
QList<JsonWizardFactory *> acceptedFactories = Utils::filtered(m_factories, [&](auto *wizard) {
return wizard->isAvailable(m_platform)
&& wizard->kind() == JsonWizardFactory::ProjectWizard;
const bool liteDesigner = QmlDesigner::QmlDesignerBasePlugin::isLiteModeEnabled();
return wizard->isAvailable(m_platform) && wizard->kind() == JsonWizardFactory::ProjectWizard
&& (!liteDesigner || !wizard->requiredFeatures().contains("QDS.3D"));
});
m_factories = acceptedFactories;