planner: move repopulation of models to planner

The gas and dive-type models were repopulated in the
diveplanner model. The former are used in the planner.
However, the latter is also used outside of the planner,
when editing non-planned dives. Thus the former shouldn't
be repopulated by the latter, but by the code that needs
it.

Side note: repopulating the dive-type model seems to
make no sense whatsoever since the values never change,
but let's keep it for now.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2022-11-07 18:45:30 +01:00 committed by bstoeger
parent d51589b9a7
commit 3dd09b31e3
3 changed files with 5 additions and 5 deletions

View file

@ -560,6 +560,8 @@ void PlannerWidgets::planDive(dive *currentDive)
else // No salinity means salt water
plannerWidget.setSalinity(SEAWATER_SALINITY);
}
GasSelectionModel::instance()->repopulate();
DiveTypeSelectionModel::instance()->repopulate();
plannerWidget.setReplanButton(false);
plannerWidget.setupStartTime(timestampToDateTime(displayed_dive.when)); // This will reload the profile!
@ -570,6 +572,7 @@ void PlannerWidgets::replanDive(int currentDC)
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::PLAN);
DivePlannerPointsModel::instance()->loadFromDive(&displayed_dive, currentDC);
DiveTypeSelectionModel::instance()->repopulate();
plannerWidget.setReplanButton(true);
plannerWidget.setupStartTime(timestampToDateTime(displayed_dive.when));
if (displayed_dive.surface_pressure.mbar)

View file

@ -5,8 +5,8 @@
#include "core/divelog.h"
#include "core/subsurface-string.h"
#include "qt-models/cylindermodel.h"
#include "qt-models/models.h" // For defaultModelFont().
#include "core/planner.h"
#include "qt-models/models.h"
#include "core/device.h"
#include "core/qthelper.h"
#include "core/range.h"
@ -87,8 +87,6 @@ void DivePlannerPointsModel::createSimpleDive(struct dive *dIn)
addStop(M_OR_FT(5, 15), 45 * 60, 0, cylinderid, true, UNDEF_COMP_TYPE);
}
updateDiveProfile();
GasSelectionModel::instance()->repopulate();
DiveTypeSelectionModel::instance()->repopulate();
}
void DivePlannerPointsModel::setupStartTime()
@ -179,7 +177,6 @@ void DivePlannerPointsModel::loadFromDive(dive *dIn, int dcNrIn)
current_divemode = get_current_divemode(dc, d->dc.duration.seconds, &evd, &current_divemode);
if (!hasMarkedSamples && !dc->last_manual_time.seconds)
addStop(0, d->dc.duration.seconds,cylinderid, last_sp.mbar, true, current_divemode);
DiveTypeSelectionModel::instance()->repopulate();
preserved_until = d->duration;
updateDiveProfile();

View file

@ -51,7 +51,7 @@ DiveTypeSelectionModel *DiveTypeSelectionModel::instance()
void DiveTypeSelectionModel::repopulate()
{
QStringList modes = QStringList();
QStringList modes;
for (int i = 0; i < FREEDIVE; i++)
modes.append(gettextFromC::tr(divemode_text_ui[i]));
setStringList(modes);