diff options
Diffstat (limited to 'tikzit/src/gui/undocommands.cpp')
-rw-r--r-- | tikzit/src/gui/undocommands.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
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(); } } |