mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
planner: access divemode (a.k.a. rebreathermode) from model
The mode was accessed via the global `displayed_dive`. In an effort to remove globals, access it via the DivePlannerPointsModel instead. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
c5d6e0f44f
commit
d65f2f422c
3 changed files with 12 additions and 6 deletions
|
@ -214,6 +214,7 @@ void DivePlannerWidget::customSalinityChanged(double density)
|
||||||
|
|
||||||
void PlannerSettingsWidget::disableDecoElements(int mode)
|
void PlannerSettingsWidget::disableDecoElements(int mode)
|
||||||
{
|
{
|
||||||
|
divemode_t rebreathermode = DivePlannerPointsModel::instance()->getRebreatherMode();
|
||||||
if (mode == RECREATIONAL) {
|
if (mode == RECREATIONAL) {
|
||||||
ui.label_gflow->setDisabled(false);
|
ui.label_gflow->setDisabled(false);
|
||||||
ui.label_gfhigh->setDisabled(false);
|
ui.label_gfhigh->setDisabled(false);
|
||||||
|
@ -248,8 +249,7 @@ void PlannerSettingsWidget::disableDecoElements(int mode)
|
||||||
ui.sacfactor->blockSignals(false);
|
ui.sacfactor->blockSignals(false);
|
||||||
ui.problemsolvingtime->blockSignals(false);
|
ui.problemsolvingtime->blockSignals(false);
|
||||||
ui.display_variations->setDisabled(true);
|
ui.display_variations->setDisabled(true);
|
||||||
}
|
} else if (mode == VPMB) {
|
||||||
else if (mode == VPMB) {
|
|
||||||
ui.label_gflow->setDisabled(true);
|
ui.label_gflow->setDisabled(true);
|
||||||
ui.label_gfhigh->setDisabled(true);
|
ui.label_gfhigh->setDisabled(true);
|
||||||
ui.gflow->setDisabled(true);
|
ui.gflow->setDisabled(true);
|
||||||
|
@ -266,7 +266,7 @@ void PlannerSettingsWidget::disableDecoElements(int mode)
|
||||||
ui.backgasBreaks->setChecked(false);
|
ui.backgasBreaks->setChecked(false);
|
||||||
ui.backgasBreaks->blockSignals(false);
|
ui.backgasBreaks->blockSignals(false);
|
||||||
}
|
}
|
||||||
ui.bailout->setDisabled(!(displayed_dive.dc.divemode == CCR || displayed_dive.dc.divemode == PSCR));
|
ui.bailout->setDisabled(!(rebreathermode == CCR || rebreathermode == PSCR));
|
||||||
ui.bottompo2->setDisabled(false);
|
ui.bottompo2->setDisabled(false);
|
||||||
ui.decopo2->setDisabled(false);
|
ui.decopo2->setDisabled(false);
|
||||||
ui.safetystop->setDisabled(true);
|
ui.safetystop->setDisabled(true);
|
||||||
|
@ -283,8 +283,7 @@ void PlannerSettingsWidget::disableDecoElements(int mode)
|
||||||
ui.sacfactor->setValue(PlannerShared::sacfactor());
|
ui.sacfactor->setValue(PlannerShared::sacfactor());
|
||||||
ui.problemsolvingtime->setValue(prefs.problemsolvingtime);
|
ui.problemsolvingtime->setValue(prefs.problemsolvingtime);
|
||||||
ui.display_variations->setDisabled(false);
|
ui.display_variations->setDisabled(false);
|
||||||
}
|
} else if (mode == BUEHLMANN) {
|
||||||
else if (mode == BUEHLMANN) {
|
|
||||||
ui.label_gflow->setDisabled(false);
|
ui.label_gflow->setDisabled(false);
|
||||||
ui.label_gfhigh->setDisabled(false);
|
ui.label_gfhigh->setDisabled(false);
|
||||||
ui.gflow->setDisabled(false);
|
ui.gflow->setDisabled(false);
|
||||||
|
@ -301,7 +300,7 @@ void PlannerSettingsWidget::disableDecoElements(int mode)
|
||||||
ui.backgasBreaks->setChecked(false);
|
ui.backgasBreaks->setChecked(false);
|
||||||
ui.backgasBreaks->blockSignals(false);
|
ui.backgasBreaks->blockSignals(false);
|
||||||
}
|
}
|
||||||
ui.bailout->setDisabled(!(displayed_dive.dc.divemode == CCR || displayed_dive.dc.divemode == PSCR));
|
ui.bailout->setDisabled(!(rebreathermode == CCR || rebreathermode == PSCR));
|
||||||
ui.bottompo2->setDisabled(false);
|
ui.bottompo2->setDisabled(false);
|
||||||
ui.decopo2->setDisabled(false);
|
ui.decopo2->setDisabled(false);
|
||||||
ui.safetystop->setDisabled(true);
|
ui.safetystop->setDisabled(true);
|
||||||
|
|
|
@ -545,6 +545,11 @@ void DivePlannerPointsModel::setRebreatherMode(int mode)
|
||||||
emitDataChanged();
|
emitDataChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
divemode_t DivePlannerPointsModel::getRebreatherMode() const
|
||||||
|
{
|
||||||
|
return d->dc.divemode;
|
||||||
|
}
|
||||||
|
|
||||||
void DivePlannerPointsModel::setVpmbConservatism(int level)
|
void DivePlannerPointsModel::setVpmbConservatism(int level)
|
||||||
{
|
{
|
||||||
if (diveplan.vpmb_conservatism != level) {
|
if (diveplan.vpmb_conservatism != level) {
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "core/deco.h"
|
#include "core/deco.h"
|
||||||
|
#include "core/divemode.h"
|
||||||
#include "core/planner.h"
|
#include "core/planner.h"
|
||||||
#include "qt-models/cylindermodel.h"
|
#include "qt-models/cylindermodel.h"
|
||||||
|
|
||||||
|
@ -62,6 +63,7 @@ public:
|
||||||
|
|
||||||
void loadFromDive(dive *d, int dcNr);
|
void loadFromDive(dive *d, int dcNr);
|
||||||
void addStop(int millimeters, int seconds);
|
void addStop(int millimeters, int seconds);
|
||||||
|
divemode_t getRebreatherMode() const;
|
||||||
public
|
public
|
||||||
slots:
|
slots:
|
||||||
void addDefaultStop();
|
void addDefaultStop();
|
||||||
|
|
Loading…
Reference in a new issue