mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-31 20:23:25 +00:00
profile: populate dive handlers when switching to edit/plan mode
The dive handlers are only updated by signals. This means that switching into edit-mode has to be done in steps: 1) initialize the DivePointsPlannerModel 2) switch profile mode 3) load dive into DivePointsPlannerModel 2) and 3) cannot be exchanged, or the dive handlers are not initialized. To avoid this sandwitching of profile- and model-initialization, populate the dive handlers when switching the profile mode. Thus, the profile can be switched into edit/plan mode when the DivePointsPlannerModel is fully initialized. This will be important in upcoming commits, when the initialization of the dive is moved from the profile to the DivePointsPlannerModel. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
51b16a43c4
commit
71e117669d
2 changed files with 7 additions and 1 deletions
|
@ -1518,9 +1518,9 @@ void MainWindow::editCurrentDive()
|
|||
disableShortcuts();
|
||||
copy_dive(current_dive, &displayed_dive); // Work on a copy of the dive
|
||||
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::ADD);
|
||||
DivePlannerPointsModel::instance()->loadFromDive(&displayed_dive);
|
||||
graphics->setAddState(&displayed_dive, 0);
|
||||
setApplicationState(ApplicationState::EditDive);
|
||||
DivePlannerPointsModel::instance()->loadFromDive(&displayed_dive);
|
||||
mainTab->enableEdition();
|
||||
}
|
||||
|
||||
|
|
|
@ -1300,6 +1300,9 @@ void ProfileWidget2::setAddState(const dive *d, int dc)
|
|||
diveCeiling->setVisible(true);
|
||||
decoModelParameters->setVisible(true);
|
||||
setBackgroundBrush(QColor("#A7DCFF"));
|
||||
|
||||
pointsReset();
|
||||
repositionDiveHandlers();
|
||||
}
|
||||
|
||||
void ProfileWidget2::setPlanState(const dive *d, int dc)
|
||||
|
@ -1328,6 +1331,9 @@ void ProfileWidget2::setPlanState(const dive *d, int dc)
|
|||
diveCeiling->setVisible(true);
|
||||
decoModelParameters->setVisible(true);
|
||||
setBackgroundBrush(QColor("#D7E3EF"));
|
||||
|
||||
pointsReset();
|
||||
repositionDiveHandlers();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue