aboutsummaryrefslogtreecommitdiffstats
path: root/backend-shared
diff options
context:
space:
mode:
authorGravatar jan Iversen <jan@casacondor.com>2019-12-23 17:25:46 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-12-26 09:58:21 -0800
commit738ee360ba1b22c2be22fd7021205dd9dfae1f3d (patch)
treed9dc54243fb5f923e6085e9d1ad47d1f98fdebad /backend-shared
parentc4d9b737cdf0881a81c6ba635bd9dedbc3a1af26 (diff)
downloadsubsurface-738ee360ba1b22c2be22fd7021205dd9dfae1f3d.tar.gz
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>
Diffstat (limited to 'backend-shared')
-rw-r--r--backend-shared/plannershared.cpp34
-rw-r--r--backend-shared/plannershared.h14
2 files changed, 47 insertions, 1 deletions
diff --git a/backend-shared/plannershared.cpp b/backend-shared/plannershared.cpp
index fe4e52443..d331f9d2b 100644
--- a/backend-shared/plannershared.cpp
+++ b/backend-shared/plannershared.cpp
@@ -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();
+}
diff --git a/backend-shared/plannershared.h b/backend-shared/plannershared.h
index 7c446abc2..dcaf74049 100644
--- a/backend-shared/plannershared.h
+++ b/backend-shared/plannershared.h
@@ -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() {}