From 688f78552dbdfc168e96061d45d909afec3e038d Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 28 Aug 2020 15:38:53 +0200 Subject: [PATCH] QmlDesigner: Update properties supported by MCU The transform properties are only available for Image and Text. Task-number: QDS-2512 Change-Id: I7c3eb6cb07182afe1e9d307bb5d210f1f2cf9c9f Reviewed-by: Aleksei German Reviewed-by: Thomas Hartmann --- .../propertyeditor/propertyeditorvalue.cpp | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index b2f44710ade..62de72ad056 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp @@ -260,19 +260,36 @@ bool PropertyEditorValue::isTranslated() const return false; } +static bool itemOrImage(const QmlDesigner::NodeMetaInfo &metaInfo) +{ + if (!metaInfo.isValid()) + return false; + + if (metaInfo.isSubclassOf("QtQuick.Image") || metaInfo.isSubclassOf("QtQuick.Text")) + return true; + + return false; +} + bool PropertyEditorValue::isAvailable() const { - const QList mcuProperties = {"layer", "opacity", "rotation", "scale", "gradient", - "transformOrigin", "smooth", "antialiasing", "border"}; + const QList mcuProperties = {"layer", "opacity", "gradient", "smooth", "antialiasing"}; + + const QList mcuTransformProperties = {"rotation", "scale", "transformOrigin"}; + const QList list = name().split('.'); const QByteArray pureName = list.first(); - QmlDesigner::DesignDocument *designDocument = - QmlDesigner::QmlDesignerPlugin::instance()->documentManager().currentDesignDocument(); + QmlDesigner::DesignDocument *designDocument = QmlDesigner::QmlDesignerPlugin::instance() + ->documentManager() + .currentDesignDocument(); - - if (designDocument && designDocument->isQtForMCUsProject()) - return !mcuProperties.contains(pureName); + if (designDocument && designDocument->isQtForMCUsProject()) { + if (mcuProperties.contains(pureName)) + return false; + if (mcuTransformProperties.contains(pureName) && !itemOrImage(m_modelNode.metaInfo())) + return false; + } return true; }