mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
aa7b0cadb2
commit
30d289e4a8
5 changed files with 87 additions and 65 deletions
|
@ -92,7 +92,7 @@ void DivePlannerPointsModel::loadFromDive(dive *d)
|
|||
const struct event *evd = NULL;
|
||||
enum divemode_t current_divemode = UNDEF_COMP_TYPE;
|
||||
recalc = false;
|
||||
cylinders.updateDive();
|
||||
cylinders.updateDive(&displayed_dive);
|
||||
duration_t lasttime = { 0 };
|
||||
duration_t lastrecordedtime = {};
|
||||
duration_t newtime = {};
|
||||
|
@ -165,7 +165,7 @@ void DivePlannerPointsModel::setupCylinders()
|
|||
reset_cylinders(&displayed_dive, true);
|
||||
|
||||
if (displayed_dive.cylinders.nr > 0) {
|
||||
cylinders.updateDive();
|
||||
cylinders.updateDive(&displayed_dive);
|
||||
return; // We have at least one cylinder
|
||||
}
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ void DivePlannerPointsModel::setupCylinders()
|
|||
add_to_cylinder_table(&displayed_dive.cylinders, 0, cyl);
|
||||
}
|
||||
reset_cylinders(&displayed_dive, false);
|
||||
cylinders.updateDive();
|
||||
cylinders.updateDive(&displayed_dive);
|
||||
}
|
||||
|
||||
// Update the dive's maximum depth. Returns true if max. depth changed
|
||||
|
@ -908,7 +908,7 @@ void DivePlannerPointsModel::clear()
|
|||
{
|
||||
bool oldRecalc = setRecalc(false);
|
||||
|
||||
cylinders.updateDive();
|
||||
cylinders.updateDive(&displayed_dive);
|
||||
if (rowCount() > 0) {
|
||||
beginRemoveRows(QModelIndex(), 0, rowCount() - 1);
|
||||
divepoints.clear();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue