From 1e2c8d42e3400ce724f5a4b1a297687f5803ab5a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 23 Mar 2023 15:58:09 +0100 Subject: [PATCH] QmlDesigner: Make connection generation a bit more robust * Do not hardcode the typename * Handle types without defailt property/non visual nodes Change-Id: I0db0173f7ec645dc42cdf52824fdc5ba1389bb13 Reviewed-by: Aleksei German --- .../componentcore/designeractionmanager.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp index 66862e37267..c18f77cf57a 100644 --- a/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp +++ b/src/plugins/qmldesigner/components/componentcore/designeractionmanager.cpp @@ -587,10 +587,15 @@ QList getSlotsLists(const ModelNode &node) ModelNode createNewConnection(ModelNode targetNode) { NodeMetaInfo connectionsMetaInfo = targetNode.view()->model()->qtQuickConnectionsMetaInfo(); - ModelNode newConnectionNode = targetNode.view()->createModelNode( - "QtQuick.Connections", connectionsMetaInfo.majorVersion(), connectionsMetaInfo.minorVersion()); - if (QmlItemNode::isValidQmlItemNode(targetNode)) + ModelNode newConnectionNode = targetNode.view()->createModelNode(connectionsMetaInfo.typeName(), + connectionsMetaInfo.majorVersion(), + connectionsMetaInfo.minorVersion()); + if (QmlItemNode::isValidQmlItemNode(targetNode)) { targetNode.nodeAbstractProperty("data").reparentHere(newConnectionNode); + } else { + targetNode.view()->rootModelNode().defaultNodeAbstractProperty().reparentHere( + newConnectionNode); + } newConnectionNode.bindingProperty("target").setExpression(targetNode.id());