subsurface/qt-ui/undocommands.h
Grace Karanja 193edd9f13 Add ability to undo removing of dives from trips
Add the functionality to undo/redo removing of dives from trips. The
code calling remove_dive_from_trip has moved to the UndoCommands class.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-14 10:29:15 -07:00

50 lines
984 B
C++

#ifndef UNDOCOMMANDS_H
#define UNDOCOMMANDS_H
#include <QUndoCommand>
#include <QMap>
#include "dive.h"
class UndoDeleteDive : public QUndoCommand {
public:
UndoDeleteDive(QList<struct dive*> deletedDives);
virtual void undo();
virtual void redo();
private:
QList<struct dive*> diveList;
};
class UndoShiftTime : public QUndoCommand {
public:
UndoShiftTime(QList<int> changedDives, int amount);
virtual void undo();
virtual void redo();
private:
QList<int> diveList;
int timeChanged;
};
class UndoRenumberDives : public QUndoCommand {
public:
UndoRenumberDives(QMap<int,int> originalNumbers, int startNumber);
virtual void undo();
virtual void redo();
private:
QMap<int,int> oldNumbers;
int start;
};
class UndoRemoveDivesFromTrip : public QUndoCommand {
public:
UndoRemoveDivesFromTrip(QMap<struct dive*, dive_trip*> removedDives);
virtual void undo();
virtual void redo();
private:
QMap<struct dive*, dive_trip*> divesToUndo;
};
#endif // UNDOCOMMANDS_H