summaryrefslogtreecommitdiff
path: root/tikzit/src/gui/undocommands.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2017-12-19 23:02:35 +0000
committerAleks Kissinger <aleks0@gmail.com>2017-12-19 23:02:35 +0000
commit82bdd42a475d240bb08e201a47b0972d0b2862a6 (patch)
tree9e8dac8124ee46e6416edb710e2d0ca499ddd8d6 /tikzit/src/gui/undocommands.cpp
parent144c37b05a065126aaf6ece7f9e5a8b56ec45f45 (diff)
undo move works
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();
}
}