profile: add plan-mode flag to ProfileWidget::plotDive()

The flag is passed down to the ProfileView to give a different
background.

Amazingly, this seems to survive light testing.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-03-09 17:08:13 +01:00
parent c1ede48552
commit 2d56f70e5f
3 changed files with 7 additions and 15 deletions

View file

@ -674,7 +674,7 @@ void MainWindow::on_actionReplanDive_triggered()
disableShortcuts(true); disableShortcuts(true);
plannerWidgets->prepareReplanDive(current_dive, profile->dc); plannerWidgets->prepareReplanDive(current_dive, profile->dc);
profile->setPlanState(plannerWidgets->getDive(), plannerWidgets->getDcNr()); profile->plotDive(plannerWidgets->getDive(), profile->dc, true);
plannerWidgets->replanDive(); plannerWidgets->replanDive();
} }
@ -689,7 +689,7 @@ void MainWindow::on_actionDivePlanner_triggered()
disableShortcuts(true); disableShortcuts(true);
profile->exitEditMode(); profile->exitEditMode();
plannerWidgets->preparePlanDive(current_dive, profile->dc); plannerWidgets->preparePlanDive(current_dive, profile->dc);
profile->setPlanState(plannerWidgets->getDive(), plannerWidgets->getDcNr()); profile->plotDive(plannerWidgets->getDive(), plannerWidgets->getDcNr(), true);
plannerWidgets->planDive(); plannerWidgets->planDive();
} }

View file

@ -274,7 +274,7 @@ void ProfileWidget::plotCurrentDive()
plotDive(d, dc); plotDive(d, dc);
} }
void ProfileWidget::plotDive(dive *dIn, int dcIn) void ProfileWidget::plotDive(dive *dIn, int dcIn, bool planMode)
{ {
bool endEditMode = false; bool endEditMode = false;
if (editedDive && (dIn != d || dcIn != dc)) if (editedDive && (dIn != d || dcIn != dc))
@ -308,9 +308,10 @@ void ProfileWidget::plotDive(dive *dIn, int dcIn)
view->plotDive(editedDive.get(), dc, ProfileView::RenderFlags::EditMode); view->plotDive(editedDive.get(), dc, ProfileView::RenderFlags::EditMode);
setDive(editedDive.get(), dc); setDive(editedDive.get(), dc);
} else if (d) { } else if (d) {
//view->setProfileState(d, dc); int flags = planMode ? ProfileView::RenderFlags::PlanMode
: ProfileView::RenderFlags::None;
view->resetZoom(); // when switching dive, reset the zoomLevel view->resetZoom(); // when switching dive, reset the zoomLevel
view->plotDive(d, dc); view->plotDive(d, dc, flags);
setDive(d, dc); setDive(d, dc);
} else { } else {
view->clear(); view->clear();
@ -383,13 +384,6 @@ void ProfileWidget::cylindersChanged(struct dive *changed, int pos)
} }
} }
void ProfileWidget::setPlanState(const struct dive *d, int dcNr)
{
dc = dcNr;
//view->setPlanState(d, dcNr);
setDive(d, dcNr);
}
void ProfileWidget::unsetProfHR() void ProfileWidget::unsetProfHR()
{ {
ui.profHR->setChecked(false); ui.profHR->setChecked(false);
@ -413,7 +407,6 @@ void ProfileWidget::editDive()
QSignalBlocker blocker(DivePlannerPointsModel::instance()); QSignalBlocker blocker(DivePlannerPointsModel::instance());
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::EDIT); DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::EDIT);
DivePlannerPointsModel::instance()->loadFromDive(editedDive.get(), dc); DivePlannerPointsModel::instance()->loadFromDive(editedDive.get(), dc);
//view->setEditState(editedDive.get(), editedDc);
} }
void ProfileWidget::exitEditMode() void ProfileWidget::exitEditMode()

View file

@ -20,9 +20,8 @@ class ProfileWidget : public QWidget {
public: public:
ProfileWidget(); ProfileWidget();
~ProfileWidget(); ~ProfileWidget();
void plotDive(struct dive *d, int dc); // Attempt to keep DC number id dc < 0 void plotDive(struct dive *d, int dc, bool planMode = false); // Attempt to keep DC number id dc < 0
void plotCurrentDive(); void plotCurrentDive();
void setPlanState(const struct dive *d, int dc);
void setEnabledToolbar(bool enabled); void setEnabledToolbar(bool enabled);
void nextDC(); void nextDC();
void prevDC(); void prevDC();