summaryrefslogtreecommitdiff
path: root/src/gui/undocommands.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/undocommands.cpp')
-rw-r--r--src/gui/undocommands.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui/undocommands.cpp b/src/gui/undocommands.cpp
index 8ad15d0..c5c26af 100644
--- a/src/gui/undocommands.cpp
+++ b/src/gui/undocommands.cpp
@@ -128,9 +128,12 @@ void EdgeBendCommand::redo()
DeleteCommand::DeleteCommand(TikzScene *scene,
QMap<int, Node *> deleteNodes,
QMap<int, Edge *> deleteEdges,
- QSet<Edge *> selEdges, QUndoCommand *parent) :
+ QSet<Node *> selNodes,
+ QSet<Edge *> selEdges,
+ QUndoCommand *parent) :
GraphUpdateCommand(scene, parent),
- _deleteNodes(deleteNodes), _deleteEdges(deleteEdges), _selEdges(selEdges)
+ _deleteNodes(deleteNodes), _deleteEdges(deleteEdges),
+ _selNodes(selNodes), _selEdges(selEdges)
{}
void DeleteCommand::undo()
@@ -142,7 +145,7 @@ void DeleteCommand::undo()
NodeItem *ni = new NodeItem(n);
_scene->nodeItems().insert(n, ni);
_scene->addItem(ni);
- ni->setSelected(true);
+ if (_selNodes.contains(n)) ni->setSelected(true);
}
for (auto it = _deleteEdges.begin(); it != _deleteEdges.end(); ++it) {
@@ -229,6 +232,7 @@ AddEdgeCommand::AddEdgeCommand(TikzScene *scene,
{
}
+
void AddEdgeCommand::undo()
{
EdgeItem *ei = _scene->edgeItems()[_edge];