summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/undocommands.h
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/undocommands.h')
-rw-r--r--desktop-widgets/undocommands.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/desktop-widgets/undocommands.h b/desktop-widgets/undocommands.h
index c30ae5fae..128c62e51 100644
--- a/desktop-widgets/undocommands.h
+++ b/desktop-widgets/undocommands.h
@@ -180,7 +180,7 @@ private:
void redo() override;
// For redo
- QVector<struct dive*> divesToDelete;
+ std::vector<struct dive*> divesToDelete;
std::vector<OwningTripPtr> tripsToAdd;
std::vector<DiveToAdd> divesToAdd;
@@ -246,4 +246,25 @@ private:
dive *divesToUnsplit[2];
};
+class UndoMergeDives : public QUndoCommand {
+public:
+ UndoMergeDives(const QVector<dive *> &dives);
+private:
+ void undo() override;
+ void redo() override;
+
+ // For redo
+ // Add one and remove a batch of dives
+ DiveToAdd mergedDive;
+ std::vector<dive *> divesToMerge;
+
+ // For undo
+ // Remove one and add a batch of dives
+ dive *diveToUnmerge;
+ std::vector<DiveToAdd> unmergedDives;
+
+ // For undo and redo
+ QVector<QPair<int, int>> divesToRenumber;
+};
+
#endif // UNDOCOMMANDS_H