forked from qt-creator/qt-creator
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 <tim.jenssen@qt.io>
This commit is contained in:
@@ -923,6 +923,7 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi
|
|||||||
|
|
||||||
QmlFlowActionAreaNode areaNode = ModelNode();
|
QmlFlowActionAreaNode areaNode = ModelNode();
|
||||||
|
|
||||||
|
bool joinConnection = false;
|
||||||
if (from.isValid() && to.isValid())
|
if (from.isValid() && to.isValid())
|
||||||
|
|
||||||
bool isStartLine = false;
|
bool isStartLine = false;
|
||||||
@@ -931,6 +932,8 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi
|
|||||||
if (area.targetTransition() == qmlItemNode().modelNode())
|
if (area.targetTransition() == qmlItemNode().modelNode())
|
||||||
areaNode = area;
|
areaNode = area;
|
||||||
}
|
}
|
||||||
|
if (from.modelNode().hasAuxiliaryData("joinConnection"))
|
||||||
|
joinConnection = from.modelNode().auxiliaryData("joinConnection").toBool();
|
||||||
} else {
|
} else {
|
||||||
if (from == qmlItemNode().rootModelNode()) {
|
if (from == qmlItemNode().rootModelNode()) {
|
||||||
isStartLine = true;
|
isStartLine = true;
|
||||||
@@ -950,7 +953,7 @@ void FormEditorTransitionItem::paint(QPainter *painter, const QStyleOptionGraphi
|
|||||||
fromRect.translate(QmlItemNode(to).flowPosition()- QPoint(200, 0));
|
fromRect.translate(QmlItemNode(to).flowPosition()- QPoint(200, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (areaNode.isValid()) {
|
if (!joinConnection && areaNode.isValid()) {
|
||||||
fromRect = QmlItemNode(areaNode).instanceBoundingRect();
|
fromRect = QmlItemNode(areaNode).instanceBoundingRect();
|
||||||
fromRect.translate(QmlItemNode(from).flowPosition());
|
fromRect.translate(QmlItemNode(from).flowPosition());
|
||||||
fromRect.translate(areaNode.instancePosition());
|
fromRect.translate(areaNode.instancePosition());
|
||||||
|
Reference in New Issue
Block a user