diff options
author | jan Iversen <jan@casacondor.com> | 2019-12-23 17:25:46 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-12-26 09:58:21 -0800 |
commit | 738ee360ba1b22c2be22fd7021205dd9dfae1f3d (patch) | |
tree | d9dc54243fb5f923e6085e9d1ad47d1f98fdebad /backend-shared | |
parent | c4d9b737cdf0881a81c6ba635bd9dedbc3a1af26 (diff) | |
download | subsurface-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.cpp | 34 | ||||
-rw-r--r-- | backend-shared/plannershared.h | 14 |
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() {} |