summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar jan Iversen <jan@casacondor.com>2020-01-21 12:24:40 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-01-25 17:13:20 -0800
commite55c740d84cd11813e6d7e5bf7aa0a2f5f9a6784 (patch)
tree68e15aafdb111f679054e9a0f87a8967c8c27e6e
parentff18de053f338d0f100e7994db6ef5a2cac6280a (diff)
downloadsubsurface-e55c740d84cd11813e6d7e5bf7aa0a2f5f9a6784.tar.gz
diveplanner: call planner model directly for simple variables.
Variables without conversion, do not need to pass plannerShared (due to the QML interface). Simple variables do not pass plannerShared, but diveplanner in desktop-widgets and qmlinterface in mobile-widgets call the implementation directly. Signed-off-by: jan Iversen <jan@casacondor.com>
-rw-r--r--backend-shared/plannershared.cpp73
-rw-r--r--backend-shared/plannershared.h34
-rw-r--r--desktop-widgets/diveplanner.cpp16
-rw-r--r--mobile-widgets/qml/DivePlannerSetup.qml6
-rw-r--r--mobile-widgets/qmlinterface.cpp2
-rw-r--r--tests/testplannershared.cpp9
6 files changed, 14 insertions, 126 deletions
diff --git a/backend-shared/plannershared.cpp b/backend-shared/plannershared.cpp
index 631893d3e..113b0f7e2 100644
--- a/backend-shared/plannershared.cpp
+++ b/backend-shared/plannershared.cpp
@@ -31,42 +31,6 @@ void plannerShared::set_reserve_gas(int value)
DivePlannerPointsModel::instance()->setReserveGas(value);
}
-bool plannerShared::safetystop()
-{
- return qPrefDivePlanner::safetystop();
-}
-void plannerShared::set_safetystop(bool value)
-{
- DivePlannerPointsModel::instance()->setSafetyStop(value);
-}
-
-int plannerShared::gflow()
-{
- return qPrefTechnicalDetails::gflow();
-}
-void plannerShared::set_gflow(int value)
-{
- DivePlannerPointsModel::instance()->setGFLow(value);
-}
-
-int plannerShared::gfhigh()
-{
- return qPrefTechnicalDetails::gflow();
-}
-void plannerShared::set_gfhigh(int value)
-{
- DivePlannerPointsModel::instance()->setGFHigh(value);
-}
-
-int plannerShared::vpmb_conservatism()
-{
- return qPrefTechnicalDetails::vpmb_conservatism();
-}
-void plannerShared::set_vpmb_conservatism(int value)
-{
- DivePlannerPointsModel::instance()->setVpmbConservatism(value);
-}
-
bool plannerShared::dobailout()
{
return qPrefDivePlanner::dobailout();
@@ -77,33 +41,6 @@ void plannerShared::set_dobailout(bool value)
DivePlannerPointsModel::instance()->emitDataChanged();
}
-bool plannerShared::drop_stone_mode()
-{
- return qPrefDivePlanner::drop_stone_mode();
-}
-void plannerShared::set_drop_stone_mode(bool value)
-{
- DivePlannerPointsModel::instance()->setDropStoneMode(value);
-}
-
-bool plannerShared::last_stop()
-{
- return qPrefDivePlanner::last_stop();
-}
-void plannerShared::set_last_stop(bool value)
-{
- DivePlannerPointsModel::instance()->setLastStop6m(value);
-}
-
-bool plannerShared::switch_at_req_stop()
-{
- return qPrefDivePlanner::switch_at_req_stop();
-}
-void plannerShared::set_switch_at_req_stop(bool value)
-{
- DivePlannerPointsModel::instance()->setSwitchAtReqStop(value);
-}
-
bool plannerShared::doo2breaks()
{
return qPrefDivePlanner::doo2breaks();
@@ -144,16 +81,6 @@ void plannerShared::set_decosac(double value)
DivePlannerPointsModel::instance()->setDecoSac(value);
}
-int plannerShared::problemsolvingtime()
-{
- return qPrefDivePlanner::problemsolvingtime();
-}
-void plannerShared::set_problemsolvingtime(int value)
-{
- // NO conversion, this is done in the planner model.
- DivePlannerPointsModel::instance()->setProblemSolvingTime(value);
-}
-
double plannerShared::sacfactor()
{
return qPrefDivePlanner::sacfactor() / 100.0;
diff --git a/backend-shared/plannershared.h b/backend-shared/plannershared.h
index 3c3a97018..fb8f0916f 100644
--- a/backend-shared/plannershared.h
+++ b/backend-shared/plannershared.h
@@ -18,21 +18,13 @@ class plannerShared: public QObject {
// Planning data
Q_PROPERTY(deco_mode planner_deco_mode READ planner_deco_mode WRITE set_planner_deco_mode NOTIFY planner_deco_modeChanged);
Q_PROPERTY(int reserve_gas READ reserve_gas WRITE set_reserve_gas NOTIFY reserve_gasChanged);
- Q_PROPERTY(bool safetystop READ safetystop WRITE set_safetystop NOTIFY safetystopChanged);
- Q_PROPERTY(int gflow READ gflow WRITE set_gflow NOTIFY gflowChanged);
- Q_PROPERTY(int gfhigh READ gfhigh WRITE set_gfhigh NOTIFY gfhighChanged);
- Q_PROPERTY(int vpmb_conservatism READ vpmb_conservatism WRITE set_vpmb_conservatism NOTIFY vpmb_conservatismChanged);
Q_PROPERTY(bool dobailout READ dobailout WRITE set_dobailout NOTIFY dobailoutChanged);
- Q_PROPERTY(bool drop_stone_mode READ drop_stone_mode WRITE set_drop_stone_mode NOTIFY drop_stone_modeChanged);
- Q_PROPERTY(bool last_stop READ last_stop WRITE set_last_stop NOTIFY last_stopChanged);
- Q_PROPERTY(bool switch_at_req_stop READ switch_at_req_stop WRITE set_switch_at_req_stop NOTIFY switch_at_req_stopChanged);
Q_PROPERTY(bool doo2breaks READ doo2breaks WRITE set_doo2breaks NOTIFY doo2breaksChanged);
Q_PROPERTY(int min_switch_duration READ min_switch_duration WRITE set_min_switch_duration NOTIFY min_switch_durationChanged);
// Gas data
Q_PROPERTY(double bottomsac READ bottomsac WRITE set_bottomsac NOTIFY bottomsacChanged);
Q_PROPERTY(double decosac READ decosac WRITE set_decosac NOTIFY decosacChanged);
- 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);
@@ -45,21 +37,13 @@ public:
// Planning data
static deco_mode planner_deco_mode();
static int reserve_gas();
- static bool safetystop();
- static int gflow();
- static int gfhigh();
- static int vpmb_conservatism();
static bool dobailout();
- static bool drop_stone_mode();
- static bool last_stop();
- static bool switch_at_req_stop();
static bool doo2breaks();
static int min_switch_duration();
// Gas data
static double bottomsac();
static double decosac();
- static int problemsolvingtime();
static double sacfactor();
static bool o2narcotic();
static double bottompo2();
@@ -71,21 +55,13 @@ public slots:
// Planning data
static void set_planner_deco_mode(deco_mode value);
static void set_reserve_gas(int value);
- static void set_safetystop(bool value);
- static void set_gflow(int value);
- static void set_gfhigh(int value);
- static void set_vpmb_conservatism(int value);
static void set_dobailout(bool value);
- static void set_drop_stone_mode(bool value);
- static void set_last_stop(bool value);
- static void set_switch_at_req_stop(bool value);
static void set_doo2breaks(bool value);
static void set_min_switch_duration(int value);
// Gas data
static void set_bottomsac(double value);
static void set_decosac(double value);
- static void set_problemsolvingtime(int value);
static void set_sacfactor(double value);
static void set_o2narcotic(bool value);
static void set_bottompo2(double value);
@@ -95,22 +71,14 @@ public slots:
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 drop_stone_modeChanged(bool value);
- void last_stopChanged(bool value);
- void switch_at_req_stopChanged(bool value);
+ void dobailoutChanged(bool value);
void doo2breaksChanged(bool value);
void min_switch_durationChanged(int value);
// Gas data
void bottomsacChanged(double value);
void decosacChanged(double value);
- void problemsolvingtimeChanged(int value);
void sacfactorChanged(double value);
void o2narcoticChanged(bool value);
void bottompo2Changed(double value);
diff --git a/desktop-widgets/diveplanner.cpp b/desktop-widgets/diveplanner.cpp
index 1d1da27f2..94607d20c 100644
--- a/desktop-widgets/diveplanner.cpp
+++ b/desktop-widgets/diveplanner.cpp
@@ -459,27 +459,27 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
connect(ui.buehlmann_deco, &QAbstractButton::clicked, [=] { plannerShared::set_planner_deco_mode(BUEHLMANN); });
connect(ui.vpmb_deco, &QAbstractButton::clicked, [=] { plannerShared::set_planner_deco_mode(VPMB); });
- connect(ui.lastStop, &QAbstractButton::toggled, plannerShared::instance(), &plannerShared::set_last_stop);
+ connect(ui.lastStop, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setLastStop6m);
connect(ui.lastStop, &QAbstractButton::toggled, this, &PlannerSettingsWidget::disableBackgasBreaks);
connect(ui.verbatim_plan, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setVerbatim);
connect(ui.display_duration, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setDisplayDuration);
connect(ui.display_runtime, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setDisplayRuntime);
connect(ui.display_transitions, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setDisplayTransitions);
- connect(ui.safetystop, &QAbstractButton::toggled, plannerShared::instance(), &plannerShared::set_safetystop);
+ connect(ui.safetystop, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setSafetyStop);
connect(ui.reserve_gas, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_reserve_gas);
connect(ui.ascRate75, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setAscrate75Display);
connect(ui.ascRate50, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setAscrate50Display);
connect(ui.ascRateStops, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setAscratestopsDisplay);
connect(ui.ascRateLast6m, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setAscratelast6mDisplay);
connect(ui.descRate, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setDescrateDisplay);
- connect(ui.drop_stone_mode, &QAbstractButton::toggled, plannerShared::instance(), &plannerShared::set_drop_stone_mode);
- connect(ui.gfhigh, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_gfhigh);
- connect(ui.gflow, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_gflow);
- connect(ui.vpmb_conservatism, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_vpmb_conservatism);
+ connect(ui.drop_stone_mode, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setDropStoneMode);
+ connect(ui.gfhigh, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setGFHigh);
+ connect(ui.gflow, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setGFLow);
+ connect(ui.vpmb_conservatism, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setVpmbConservatism);
connect(ui.backgasBreaks, &QAbstractButton::toggled, this, &PlannerSettingsWidget::setBackgasBreaks);
connect(ui.bailout, &QAbstractButton::toggled, plannerShared::instance(), &plannerShared::set_dobailout);
connect(ui.o2narcotic, &QAbstractButton::toggled, plannerShared::instance(), plannerShared::set_o2narcotic);
- connect(ui.switch_at_req_stop, &QAbstractButton::toggled, plannerShared::instance(), plannerShared::set_switch_at_req_stop);
+ connect(ui.switch_at_req_stop, &QAbstractButton::toggled, plannerModel, &DivePlannerPointsModel::setSwitchAtReqStop);
connect(ui.min_switch_duration, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_min_switch_duration);
connect(ui.surface_segment, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setSurfaceSegment);
connect(ui.rebreathermode, QOverload<int>::of(&QComboBox::currentIndexChanged), plannerModel, &DivePlannerPointsModel::setRebreatherMode);
@@ -490,7 +490,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
connect(ui.vpmb_deco, &QAbstractButton::clicked, [=] { disableDecoElements(VPMB); });
connect(ui.sacfactor, QOverload<double>::of(&QDoubleSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_sacfactor);
- connect(ui.problemsolvingtime, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_problemsolvingtime);
+ connect(ui.problemsolvingtime, QOverload<int>::of(&QSpinBox::valueChanged), plannerModel, &DivePlannerPointsModel::setProblemSolvingTime);
connect(ui.bottompo2, QOverload<double>::of(&QDoubleSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_bottompo2);
connect(ui.decopo2, QOverload<double>::of(&QDoubleSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_decopo2);
connect(ui.bestmixEND, QOverload<int>::of(&QSpinBox::valueChanged), plannerShared::instance(), &plannerShared::set_bestmixend);
diff --git a/mobile-widgets/qml/DivePlannerSetup.qml b/mobile-widgets/qml/DivePlannerSetup.qml
index 58bbb1ac9..294752de3 100644
--- a/mobile-widgets/qml/DivePlannerSetup.qml
+++ b/mobile-widgets/qml/DivePlannerSetup.qml
@@ -275,12 +275,12 @@ Kirigami.ScrollablePage {
from: 1
to: 9
stepSize: 1
- value: Planner.problemsolvingtime
+ value: Backend.problemsolvingtime
textFromValue: function (value, locale) {
- return value + qsTr("min")
+ return value + qsTr(" min")
}
onValueModified: {
- Planner.problemsolvingtime = value
+ Backend.problemsolvingtime = value
}
}
TemplateLabel {
diff --git a/mobile-widgets/qmlinterface.cpp b/mobile-widgets/qmlinterface.cpp
index 6cf280f55..04fd0b6d9 100644
--- a/mobile-widgets/qmlinterface.cpp
+++ b/mobile-widgets/qmlinterface.cpp
@@ -63,6 +63,8 @@ void QMLInterface::setup(QQmlContext *ct)
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::switch_at_req_stopChanged,
instance(), &QMLInterface::switch_at_req_stopChanged);
+ connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::problemsolvingtimeChanged,
+ instance(), &QMLInterface::problemsolvingtimeChanged);
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_runtimeChanged,
instance(), &QMLInterface::display_runtimeChanged);
connect(qPrefDivePlanner::instance(), &qPrefDivePlanner::display_durationChanged,
diff --git a/tests/testplannershared.cpp b/tests/testplannershared.cpp
index f4c4546ee..3131590c5 100644
--- a/tests/testplannershared.cpp
+++ b/tests/testplannershared.cpp
@@ -87,15 +87,6 @@ void TestPlannerShared::test_gas()
qPrefDivePlanner::set_sacfactor(200);
QCOMPARE(plannerShared::sacfactor(), 2.0);
- plannerShared::set_problemsolvingtime(4);
- QCOMPARE(qPrefDivePlanner::problemsolvingtime(), 4);
- plannerShared::set_problemsolvingtime(5);
- QCOMPARE(qPrefDivePlanner::problemsolvingtime(), 5);
- qPrefDivePlanner::set_problemsolvingtime(2);
- QCOMPARE(plannerShared::problemsolvingtime(), 2);
- qPrefDivePlanner::set_problemsolvingtime(6);
- QCOMPARE(plannerShared::problemsolvingtime(), 6);
-
// Set system to use meters
qPrefUnits::set_unit_system(METRIC);