mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
desktop-widgets: replace o2narcotic from plannerModel to plannerShared
Use plannerShared setter to update o2narcotic. This will also signal the cylindermodel to calculate a new bestmix. Signed-off-by: Jan Iversen <jan@casacondor.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c4d9b737cd
commit
738ee360ba
4 changed files with 48 additions and 10 deletions
|
@ -222,3 +222,37 @@ void plannerShared::set_o2narcotic(bool value)
|
|||
DivePlannerPointsModel::instance()->emitDataChanged();
|
||||
CylindersModel::instance()->updateBestMixes();
|
||||
}
|
||||
|
||||
double plannerShared::bottompo2()
|
||||
{
|
||||
return (qPrefDivePlanner::bottompo2() / 1000.0);
|
||||
}
|
||||
void plannerShared::set_bottompo2(double value)
|
||||
{
|
||||
// NO conversion, this is done in the planner model.
|
||||
qPrefDivePlanner::set_bottompo2((int) (value * 1000.0));
|
||||
CylindersModel::instance()->updateBestMixes();
|
||||
}
|
||||
|
||||
double plannerShared::decopo2()
|
||||
{
|
||||
return qPrefDivePlanner::decopo2() / 1000;
|
||||
}
|
||||
void plannerShared::set_decopo2(double value)
|
||||
{
|
||||
pressure_t olddecopo2;
|
||||
olddecopo2.mbar = prefs.decopo2;
|
||||
qPrefDivePlanner::instance()->set_decopo2((int) (value * 1000.0));
|
||||
CylindersModel::instance()->updateDecoDepths(olddecopo2);
|
||||
CylindersModel::instance()->updateBestMixes();
|
||||
}
|
||||
|
||||
int plannerShared::bestmixend()
|
||||
{
|
||||
return lrint(get_depth_units(prefs.bestmixend.mm, NULL, NULL));
|
||||
}
|
||||
void plannerShared::set_bestmixend(int value)
|
||||
{
|
||||
qPrefDivePlanner::set_bestmixend(units_to_depth(value).mm);
|
||||
CylindersModel::instance()->updateBestMixes();
|
||||
}
|
||||
|
|
|
@ -44,6 +44,9 @@ class plannerShared: public QObject {
|
|||
Q_PROPERTY(int problemsolvingtime READ problemsolvingtime WRITE set_problemsolvingtime NOTIFY problemsolvingtimeChanged);
|
||||
Q_PROPERTY(double sacfactor READ sacfactor WRITE set_sacfactor NOTIFY sacfactorChanged);
|
||||
Q_PROPERTY(bool o2narcotic READ o2narcotic WRITE set_o2narcotic NOTIFY o2narcoticChanged);
|
||||
Q_PROPERTY(double bottompo2 READ bottompo2 WRITE set_bottompo2 NOTIFY bottompo2Changed);
|
||||
Q_PROPERTY(double decopo2 READ decopo2 WRITE set_decopo2 NOTIFY decopo2Changed);
|
||||
Q_PROPERTY(int bestmixend READ bestmixend WRITE set_bestmixend NOTIFY bestmixendChanged);
|
||||
|
||||
public:
|
||||
static plannerShared *instance();
|
||||
|
@ -75,6 +78,9 @@ public:
|
|||
static int problemsolvingtime();
|
||||
static double sacfactor();
|
||||
static bool o2narcotic();
|
||||
static double bottompo2();
|
||||
static double decopo2();
|
||||
static int bestmixend();
|
||||
|
||||
public slots:
|
||||
// Ascend/Descend data, converted to meter/feet depending on user selection
|
||||
|
@ -104,6 +110,9 @@ public slots:
|
|||
static void set_problemsolvingtime(int value);
|
||||
static void set_sacfactor(double value);
|
||||
static void set_o2narcotic(bool value);
|
||||
static void set_bottompo2(double value);
|
||||
static void set_decopo2(double value);
|
||||
static void set_bestmixend(int value);
|
||||
|
||||
signals:
|
||||
// Ascend/Descend data, converted to meter/feet depending on user selection
|
||||
|
@ -115,12 +124,12 @@ signals:
|
|||
|
||||
// Planning data
|
||||
void planner_deco_modeChanged(deco_mode value);
|
||||
void dobailoutChanged(bool value);
|
||||
void reserve_gasChanged(int value);
|
||||
void safetystopChanged(bool value);
|
||||
void gflowChanged(int value);
|
||||
void gfhighChanged(int value);
|
||||
void vpmb_conservatismChanged(int value);
|
||||
void dobailoutChanged(bool value);
|
||||
void drop_stone_modeChanged(bool value);
|
||||
void last_stopChanged(bool value);
|
||||
void switch_at_req_stopChanged(bool value);
|
||||
|
@ -133,6 +142,9 @@ signals:
|
|||
void problemsolvingtimeChanged(int value);
|
||||
void sacfactorChanged(double value);
|
||||
void o2narcoticChanged(bool value);
|
||||
void bottompo2Changed(double value);
|
||||
void decopo2Changed(double value);
|
||||
void bestmixendChanged(int value);
|
||||
|
||||
private:
|
||||
plannerShared() {}
|
||||
|
|
|
@ -488,7 +488,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
|
|||
connect(ui.vpmb_conservatism, SIGNAL(valueChanged(int)), plannerShared::instance(), SLOT(set_vpmb_conservatism(int)));
|
||||
connect(ui.backgasBreaks, SIGNAL(toggled(bool)), this, SLOT(setBackgasBreaks(bool)));
|
||||
connect(ui.bailout, SIGNAL(toggled(bool)), plannerShared::instance(), SLOT(set_bailout(bool)));
|
||||
connect(ui.o2narcotic, SIGNAL(toggled(bool)), this, SLOT(setO2narcotic(bool)));
|
||||
connect(ui.o2narcotic, SIGNAL(toggled(bool)), plannerShared::instance(), SLOT(set_o2narcotic(bool)));
|
||||
connect(ui.switch_at_req_stop, SIGNAL(toggled(bool)), plannerShared::instance(), SLOT(set_switch_at_req_stop(bool)));
|
||||
connect(ui.min_switch_duration, SIGNAL(valueChanged(int)), plannerShared::instance(), SLOT(set_min_switch_duration()(int)));
|
||||
connect(ui.surface_segment, SIGNAL(valueChanged(int)), plannerModel, SLOT(setSurfaceSegment(int)));
|
||||
|
@ -497,7 +497,6 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
|
|||
|
||||
connect(ui.bottompo2, SIGNAL(valueChanged(double)), CylindersModel::instance(), SLOT(updateBestMixes()));
|
||||
connect(ui.bestmixEND, SIGNAL(valueChanged(int)), CylindersModel::instance(), SLOT(updateBestMixes()));
|
||||
connect(ui.o2narcotic, SIGNAL(toggled(bool)), CylindersModel::instance(), SLOT(updateBestMixes()));
|
||||
|
||||
connect(modeMapper, SIGNAL(mapped(int)), this, SLOT(disableDecoElements(int)));
|
||||
connect(ui.ascRate75, SIGNAL(valueChanged(int)), plannerShared::instance(), SLOT(set_ascrate75(int)));
|
||||
|
@ -631,12 +630,6 @@ void PlannerSettingsWidget::setBackgasBreaks(bool dobreaks)
|
|||
plannerShared::set_doo2breaks(dobreaks);
|
||||
}
|
||||
|
||||
void PlannerSettingsWidget::setO2narcotic(bool o2narcotic)
|
||||
{
|
||||
qPrefDivePlanner::instance()->set_o2narcotic(o2narcotic);
|
||||
plannerModel->emitDataChanged();
|
||||
}
|
||||
|
||||
void PlannerSettingsWidget::setBailoutVisibility(int mode)
|
||||
{
|
||||
ui.bailout->setDisabled(!(mode == CCR || mode == PSCR));
|
||||
|
|
|
@ -76,7 +76,6 @@ slots:
|
|||
void setDecoPo2(double po2);
|
||||
void setBestmixEND(int depth);
|
||||
void setBackgasBreaks(bool dobreaks);
|
||||
void setO2narcotic(bool o2narcotic);
|
||||
void disableDecoElements(int mode);
|
||||
void disableBackgasBreaks(bool enabled);
|
||||
void setDiveMode(int mode);
|
||||
|
|
Loading…
Reference in a new issue