summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/undocommands.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/gui/undocommands.cpp')
-rw-r--r--tikzit/src/gui/undocommands.cpp18
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();
}
}