From 82bdd42a475d240bb08e201a47b0972d0b2862a6 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Tue, 19 Dec 2017 23:02:35 +0000 Subject: undo move works --- tikzit/src/gui/undocommands.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'tikzit/src/gui/undocommands.cpp') diff --git a/tikzit/src/gui/undocommands.cpp b/tikzit/src/gui/undocommands.cpp index 6d48fc4..b8a045b 100644 --- a/tikzit/src/gui/undocommands.cpp +++ b/tikzit/src/gui/undocommands.cpp @@ -15,15 +15,29 @@ MoveCommand::MoveCommand(TikzScene *scene, void MoveCommand::undo() { foreach (NodeItem *ni, _scene->nodeItems()) { - if (_oldNodePositions.contains(ni->node())) + if (_oldNodePositions.contains(ni->node())) { ni->node()->setPoint(_oldNodePositions.value(ni->node())); + ni->readPos(); + } + } + + foreach (EdgeItem *ei, _scene->edgeItems()) { + ei->edge()->updateControls(); + ei->syncPos(); } } void MoveCommand::redo() { foreach (NodeItem *ni, _scene->nodeItems()) { - if (_newNodePositions.contains(ni->node())) + if (_newNodePositions.contains(ni->node())) { ni->node()->setPoint(_newNodePositions.value(ni->node())); + ni->readPos(); + } + } + + foreach (EdgeItem *ei, _scene->edgeItems()) { + ei->edge()->updateControls(); + ei->syncPos(); } } -- cgit v1.2.3