From 5d48d55c7fc004c7496a96d6d9987a1110623c76 Mon Sep 17 00:00:00 2001 From: Craig Watson Date: Sat, 11 Mar 2017 17:15:39 -0500 Subject: [PATCH] Fix for duplicated strokes being positioned badly Bug likely surfaced when fixing positioning of saved strokes. Quick tests show that positioning now works both for duplication and saving/loading --- src/board/UBBoardController.cpp | 3 --- src/domain/UBGraphicsStrokesGroup.cpp | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 04ea0d22..7ff7a9ca 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -593,9 +593,6 @@ UBGraphicsItem *UBBoardController::duplicateItem(UBItem *item) itemSize = commonItem->boundingRect().size(); commonItem->setSelected(false); - UBGraphicsStrokesGroup *stroke = dynamic_cast(commonItem); - if (stroke) - itemPos = QPointF(shifting, shifting); } UBMimeType::Enum itemMimeType; diff --git a/src/domain/UBGraphicsStrokesGroup.cpp b/src/domain/UBGraphicsStrokesGroup.cpp index 5d418d01..da2c4deb 100644 --- a/src/domain/UBGraphicsStrokesGroup.cpp +++ b/src/domain/UBGraphicsStrokesGroup.cpp @@ -148,12 +148,15 @@ void UBGraphicsStrokesGroup::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) UBItem* UBGraphicsStrokesGroup::deepCopy() const { QTransform groupTransform = transform(); + QPointF groupPos = pos(); UBGraphicsStrokesGroup* copy = new UBGraphicsStrokesGroup(); copyItemParameters(copy); copy->resetTransform(); + copy->setPos(0,0); const_cast(this)->resetTransform(); + const_cast(this)->setPos(0,0); QList chl = childItems(); @@ -175,7 +178,9 @@ UBItem* UBGraphicsStrokesGroup::deepCopy() const } } const_cast(this)->setTransform(groupTransform); + const_cast(this)->setPos(groupPos); copy->setTransform(groupTransform); + copy->setPos(groupPos); return copy; }