Undo: consider dive site in AddDive()

If a dive site was added for a new dive, remove it on undo.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-03-03 17:10:09 +01:00 committed by Dirk Hohndel
parent 2134d99d0c
commit a2be015a43
8 changed files with 49 additions and 16 deletions

View file

@ -17,10 +17,13 @@ QAction *redoAction(QObject *parent); // Create an redo action.
// 2) Dive-list related commands
void addDive(dive *d, bool autogroup, bool newNumber); // If d->dive_trip is null and autogroup is true, dives within the auto-group
// distance are added to a trip. dive d is consumed (the structure is reset)!
// If newNumber is true, the dive is assigned a new number, depending on the
// insertion position.
// If d->dive_trip is null and autogroup is true, dives within the auto-group
// distance are added to a trip. dive d is consumed (the structure is reset)!
// If newNumber is true, the dive is assigned a new number, depending on the
// insertion position.
// Id newDS is not empty, a dive site with that name will be created. d->dive_site
// should be null in this case.
void addDive(dive *d, const QString &newDS, bool autogroup, bool newNumber);
void importDives(struct dive_table *dives, struct trip_table *trips, struct dive_site_table *sites, int flags, const QString &source);
void deleteDive(const QVector<struct dive*> &divesToDelete);
void shiftTime(const QVector<dive *> &changedDives, int amount);