diff options
author | Henning Gruendl <henning.gruendl@qt.io> | 2020-08-20 18:28:33 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-27 10:05:26 +0000 |
commit | ac5d35a53d81212b8ca99af792f312d336e2f087 (patch) | |
tree | ebd781d5460ecc4bff3210e2c4f94f83ac496dec /src | |
parent | d235a6d80728d605fc745f0a45d700b8ac3ba8c7 (diff) |
QmlDesigner: Remove parent as Connections target
Task-number: QDS-2651
Change-Id: Ib4520206cc2a3f8a044a66e3e01db0ec603a3029
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp index 04c6c343dc..2fd2364596 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp @@ -268,15 +268,11 @@ ModelNode ConnectionModel::getTargetNodeForConnection(const ModelNode &connectio const QString bindExpression = bindingProperty.expression(); if (bindingProperty.isValid()) { - if (bindExpression == QLatin1String("parent")) { - result = connection.parentProperty().parentModelNode(); - } else if (bindExpression.contains(".")) { + if (bindExpression.contains(".")) { QStringList substr = bindExpression.split("."); const QString itemId = substr.constFirst(); if (substr.size() > 1) { - const ModelNode aliasParent = (itemId == QLatin1String("parent") - ? connection.parentProperty().parentModelNode() - : connectionView()->modelNodeForId(itemId)); + const ModelNode aliasParent = connectionView()->modelNodeForId(itemId); substr.removeFirst(); //remove id, only alias pieces left const QString aliasBody = substr.join("."); if (aliasParent.isValid() && aliasParent.hasBindingProperty(aliasBody.toUtf8())) { @@ -303,7 +299,7 @@ void ConnectionModel::addConnection() NodeMetaInfo nodeMetaInfo = connectionView()->model()->metaInfo("QtQuick.Connections"); if (nodeMetaInfo.isValid()) { - connectionView()->executeInTransaction("ConnectionModel::addConnection", [=](){ + connectionView()->executeInTransaction("ConnectionModel::addConnection", [=, &rootModelNode](){ ModelNode newNode = connectionView()->createModelNode("QtQuick.Connections", nodeMetaInfo.majorVersion(), nodeMetaInfo.minorVersion()); @@ -316,19 +312,14 @@ void ConnectionModel::addConnection() else rootModelNode.nodeAbstractProperty(rootModelNode.metaInfo().defaultPropertyName()).reparentHere(newNode); - if (QmlItemNode(selectedNode).isFlowActionArea()) - source = selectedNode.validId() + ".trigger()"; - - if (QmlVisualNode(selectedNode).isFlowTransition()) + if (QmlItemNode(selectedNode).isFlowActionArea() || QmlVisualNode(selectedNode).isFlowTransition()) source = selectedNode.validId() + ".trigger()"; if (!connectionView()->selectedModelNodes().constFirst().id().isEmpty()) - newNode.bindingProperty("target").setExpression(selectedNode.id()); - else - newNode.bindingProperty("target").setExpression(QLatin1String("parent")); + newNode.bindingProperty("target").setExpression(selectedNode.validId()); } else { rootModelNode.nodeAbstractProperty(rootModelNode.metaInfo().defaultPropertyName()).reparentHere(newNode); - newNode.bindingProperty("target").setExpression(QLatin1String("parent")); + newNode.bindingProperty("target").setExpression(rootModelNode.validId()); } newNode.signalHandlerProperty("onClicked").setSource(source); |