aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHenning Gruendl <henning.gruendl@qt.io>2020-08-20 18:28:33 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2020-08-27 10:05:26 +0000
commitac5d35a53d81212b8ca99af792f312d336e2f087 (patch)
treeebd781d5460ecc4bff3210e2c4f94f83ac496dec /src
parentd235a6d80728d605fc745f0a45d700b8ac3ba8c7 (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.cpp21
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);