mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Correctly save a re-planned dive
In commit a85a219df3
("Add ability to replan a dive that we planned
before") I completely mishandled the saving of the replanned data.
How embarrassing.
Fixes #747
See #527
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
5888fa0778
commit
7b4bf88313
2 changed files with 10 additions and 2 deletions
|
@ -1179,9 +1179,15 @@ void DivePlannerPointsModel::createPlan()
|
||||||
|
|
||||||
//TODO: C-based function here?
|
//TODO: C-based function here?
|
||||||
plan(&diveplan, &cache, isPlanner(), true);
|
plan(&diveplan, &cache, isPlanner(), true);
|
||||||
if (!current_dive || displayed_dive.id != current_dive->id)
|
if (!current_dive || displayed_dive.id != current_dive->id) {
|
||||||
// we were planning a new dive, not re-planning an existing on
|
// we were planning a new dive, not re-planning an existing on
|
||||||
record_dive(clone_dive(&displayed_dive));
|
record_dive(clone_dive(&displayed_dive));
|
||||||
|
} else if (current_dive && displayed_dive.id == current_dive->id) {
|
||||||
|
// we are replanning a dive - make sure changes are reflected
|
||||||
|
// correctly in the dive structure and copy it back into the dive table
|
||||||
|
fixup_dive(&displayed_dive);
|
||||||
|
copy_dive(&displayed_dive, current_dive);
|
||||||
|
}
|
||||||
mark_divelist_changed(true);
|
mark_divelist_changed(true);
|
||||||
|
|
||||||
// Remove and clean the diveplan, so we don't delete
|
// Remove and clean the diveplan, so we don't delete
|
||||||
|
|
|
@ -408,6 +408,8 @@ void MainWindow::planCreated()
|
||||||
dive_list()->selectDive(selected_dive);
|
dive_list()->selectDive(selected_dive);
|
||||||
set_dive_nr_for_current_dive();
|
set_dive_nr_for_current_dive();
|
||||||
}
|
}
|
||||||
|
// make sure our UI is in a consistent state
|
||||||
|
ui.InfoWidget->updateDiveInfo();
|
||||||
showProfile();
|
showProfile();
|
||||||
refreshDisplay();
|
refreshDisplay();
|
||||||
}
|
}
|
||||||
|
@ -452,7 +454,7 @@ void MainWindow::on_actionReplanDive_triggered()
|
||||||
if (!plannerStateClean())
|
if (!plannerStateClean())
|
||||||
return;
|
return;
|
||||||
if (!current_dive || !current_dive->dc.model || strcmp(current_dive->dc.model, "planned dive")) {
|
if (!current_dive || !current_dive->dc.model || strcmp(current_dive->dc.model, "planned dive")) {
|
||||||
qDebug() << current_dive->dc.model;
|
qDebug() << "trying to replan a dive that's not a planned dive:" << current_dive->dc.model;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ui.ListWidget->endSearch();
|
ui.ListWidget->endSearch();
|
||||||
|
|
Loading…
Reference in a new issue