aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2021-08-24 12:36:58 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2021-08-26 14:18:37 +0000
commit30827fe4016cbbc62d4eb0291d4af7c5dc54d007 (patch)
tree12339129b14b1557fc244286a7c06ae83634ba12 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
parent90027cd298359a70f35b6feca98609a3c7fc67e3 (diff)
QmlDesigner: Implement visibility for unified render path
If the item is set to invisible we set visible to false in the render and preview puppets. This will have no effect on the value in the property editor. Changing the actual value of visible can have side-effects on the rendering in some rare cases. Task-number: QDS-4932 Change-Id: I5ce0925ebff8f5e4e64bc71fd5d33d6154b85f91 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
index 51b1dcd1c0..ab38b33aaf 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
@@ -295,6 +295,27 @@ bool QuickItemNodeInstance::unifiedRenderPathOrQt6()
#endif
}
+void QuickItemNodeInstance::setHiddenInEditor(bool hide)
+{
+ ObjectNodeInstance::setHiddenInEditor(hide);
+ if (s_unifiedRenderPath && !nodeInstanceServer()->isInformationServer()) {
+ QQmlProperty property(object(), "visible", context());
+
+ if (!property.isValid())
+ return;
+
+ bool visible = property.read().toBool();
+
+ if (hide && visible) {
+ setPropertyVariant("visible", false);
+ m_hidden = true;
+ } else if (!hide && !visible && m_hidden) {
+ setPropertyVariant("visible", true);
+ m_hidden = false;
+ }
+ }
+}
+
QRectF QuickItemNodeInstance::contentItemBoundingBox() const
{
if (contentItem()) {