diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-28 15:38:53 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-29 10:41:56 +0000 |
commit | 688f78552dbdfc168e96061d45d909afec3e038d (patch) | |
tree | c49c7e800e6624a672eaaefe0ab631726a6b2dbc /src/plugins | |
parent | 024eeee74528a4e9e500234b8fb2f2c8e1d941d7 (diff) |
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 <aleksei.german@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index b2f44710ad..62de72ad05 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<QByteArray> mcuProperties = {"layer", "opacity", "rotation", "scale", "gradient", - "transformOrigin", "smooth", "antialiasing", "border"}; + const QList<QByteArray> mcuProperties = {"layer", "opacity", "gradient", "smooth", "antialiasing"}; + + const QList<QByteArray> mcuTransformProperties = {"rotation", "scale", "transformOrigin"}; + const QList<QByteArray> 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; } |