CylinderModel: make dive dynamic

The CylinderModel always accessed the global "displayed_dive" and in
some special cases also "current_dive". To implement cylinder undo,
the model should work on an arbitrary dive. Therefore, in analogy
to the weight model, make the dive dynamic.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-02-23 12:44:09 +01:00
parent aa7b0cadb2
commit 30d289e4a8
5 changed files with 87 additions and 65 deletions

View file

@ -918,7 +918,7 @@ void MainWindow::on_actionReplanDive_triggered()
divePlannerWidget->setSalinity(current_dive->salinity);
DivePlannerPointsModel::instance()->loadFromDive(current_dive);
reset_cylinders(&displayed_dive, true);
DivePlannerPointsModel::instance()->cylindersModel()->updateDive();
DivePlannerPointsModel::instance()->cylindersModel()->updateDive(&displayed_dive);
}
void MainWindow::on_actionDivePlanner_triggered()

View file

@ -129,7 +129,7 @@ void TabDiveEquipment::toggleTriggeredColumn()
void TabDiveEquipment::updateData()
{
cylindersModel->updateDive();
cylindersModel->updateDive(current_dive);
weightModel->updateDive(current_dive);
suitModel.updateModel();
@ -262,7 +262,7 @@ void TabDiveEquipment::acceptChanges()
void TabDiveEquipment::rejectChanges()
{
cylindersModel->model()->changed = false;
cylindersModel->updateDive();
cylindersModel->updateDive(current_dive);
weightModel->updateDive(current_dive);
}