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

@ -712,11 +712,19 @@ void MainTab::acceptChanges()
hideMessage();
ui.equipmentTab->setEnabled(true);
if (editMode == ADD) {
// make sure that the dive site is handled as well
updateDiveSite(ui.location->currDiveSite(), &displayed_dive);
// Handle dive site
struct dive_site *pickedDs = ui.location->currDiveSite();
QString newDiveSiteName;
if (pickedDs == RECENTLY_ADDED_DIVESITE) {
newDiveSiteName = ui.location->text();
displayed_dive.dive_site = nullptr;
} else {
displayed_dive.dive_site = pickedDs;
}
copyTagsToDisplayedDive();
Command::addDive(&displayed_dive, autogroup, true);
Command::addDive(&displayed_dive, newDiveSiteName, autogroup, true);
editMode = NONE;
MainWindow::instance()->exitEditState();