From 7bdca47d8ea92ef78b4d8b5c05bcabbc5da3d26b Mon Sep 17 00:00:00 2001 From: plc-user <74435298+plc-user@users.noreply.github.com> Date: Fri, 28 Feb 2025 07:33:17 +0100 Subject: [PATCH 1/3] use brackets to be more clear what is meant --- sources/qetgraphicsitem/dynamicelementtextitem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index 0cbf616d4..30993ce5c 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -547,7 +547,7 @@ void DynamicElementTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event) } // Shift or no parent initiates movement of dynamic text, otherwise movement of parent element - if(event->modifiers() & Qt::ShiftModifier || !m_parent_element) + if((event->modifiers() & Qt::ShiftModifier) || !m_parent_element) { m_move_parent = false; DiagramTextItem::mousePressEvent(event); From 565374f174ea4894a086e0e27fa3735b4f2f0fb9 Mon Sep 17 00:00:00 2001 From: plc-user <74435298+plc-user@users.noreply.github.com> Date: Fri, 28 Feb 2025 07:36:53 +0100 Subject: [PATCH 2/3] additional ControlModifier does not work here as expected --- sources/qetgraphicsitem/dynamicelementtextitem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index 30993ce5c..a8ece334a 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -585,7 +585,7 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) button_down_parent_pos = mapToParent(mapFromScene(event->buttonDownScenePos(Qt::LeftButton))); QPointF new_pos = m_initial_position + current_parent_pos - button_down_parent_pos; - event->modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos)); + setPos(new_pos); if(diagram()) diagram()->elementTextsMover().continueMovement(event); From e2e84a56f7dd7ab272c3002a48e08991c2e06bf1 Mon Sep 17 00:00:00 2001 From: plc-user <74435298+plc-user@users.noreply.github.com> Date: Fri, 28 Feb 2025 07:40:59 +0100 Subject: [PATCH 3/3] limit movement to int-values to be able to re-position to original position --- sources/qetgraphicsitem/dynamicelementtextitem.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index a8ece334a..41a2474bd 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -584,7 +584,9 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) current_parent_pos = mapToParent(mapFromScene(event->scenePos())); button_down_parent_pos = mapToParent(mapFromScene(event->buttonDownScenePos(Qt::LeftButton))); - QPointF new_pos = m_initial_position + current_parent_pos - button_down_parent_pos; + int diffx = qRound(current_parent_pos.x() - button_down_parent_pos.x()); + int diffy = qRound(current_parent_pos.y() - button_down_parent_pos.y()); + QPointF new_pos = m_initial_position + QPointF(diffx, diffy); setPos(new_pos); if(diagram())