From df1a21f92f957695f86276bc984f63b90cbbd76f Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 24 Mar 2020 16:57:36 +0100 Subject: [PATCH] QmlDesigner: Implement joinConnection This flag indicates that the connections are ignoring the FlowActions and connect the FlowItems directly. Change-Id: I84587700e406d03ed9e30c224d93f46d2367034f Reviewed-by: Tim Jenssen --- .../qmldesigner/components/formeditor/formeditoritem.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp index 41a593e9cd8..b83606bd8a1 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp @@ -923,6 +923,7 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi QmlFlowActionAreaNode areaNode = ModelNode(); + bool joinConnection = false; if (from.isValid() && to.isValid()) bool isStartLine = false; @@ -931,6 +932,8 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi if (area.targetTransition() == qmlItemNode().modelNode()) areaNode = area; } + if (from.modelNode().hasAuxiliaryData("joinConnection")) + joinConnection = from.modelNode().auxiliaryData("joinConnection").toBool(); } else { if (from == qmlItemNode().rootModelNode()) { isStartLine = true; @@ -950,7 +953,7 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi fromRect.translate(QmlItemNode(to).flowPosition()- QPoint(200, 0)); } - if (areaNode.isValid()) { + if (!joinConnection && areaNode.isValid()) { fromRect = QmlItemNode(areaNode).instanceBoundingRect(); fromRect.translate(QmlItemNode(from).flowPosition()); fromRect.translate(areaNode.instancePosition());