diff options
Diffstat (limited to 'desktop-widgets/undocommands.h')
-rw-r--r-- | desktop-widgets/undocommands.h | 23 |
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 |