diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/dive.c | 3 | ||||
-rw-r--r-- | core/pref.h | 1 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 14 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 4 | ||||
-rw-r--r-- | core/subsurfacestartup.c | 1 |
5 files changed, 21 insertions, 2 deletions
diff --git a/core/dive.c b/core/dive.c index 6d5ba1dbb..c4f5dd778 100644 --- a/core/dive.c +++ b/core/dive.c @@ -3653,9 +3653,8 @@ fraction_t best_o2(depth_t depth, struct dive *dive) fraction_t best_He(depth_t depth, struct dive *dive) { fraction_t fhe; - int ead = 30000; //this should be user-configurable int pnarcotic, ambient; - pnarcotic = depth_to_mbar(ead, dive); + pnarcotic = depth_to_mbar(prefs.bestmixead, dive); ambient = depth_to_mbar(depth.mm, dive); fhe.permille = (100 - 100 * pnarcotic / ambient) * 10; //use integer arithmetic to round up to nearest percent if (fhe.permille < 0) diff --git a/core/pref.h b/core/pref.h index be684fd90..be343796a 100644 --- a/core/pref.h +++ b/core/pref.h @@ -92,6 +92,7 @@ struct preferences { int descrate; int bottompo2; int decopo2; + int bestmixead; int proxy_type; char *proxy_host; int proxy_port; diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index ed305ef28..eeb4c96c2 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -915,6 +915,11 @@ int DivePlannerSettings::decopo2() const return prefs.decopo2; } +int DivePlannerSettings::bestmixead() const +{ + return prefs.bestmixead; +} + int DivePlannerSettings::reserveGas() const { return prefs.reserve_gas; @@ -1089,6 +1094,15 @@ void DivePlannerSettings::setDecopo2(int value) emit decopo2Changed(value); } +void DivePlannerSettings::setBestmixead(int value) +{ + QSettings s; + s.beginGroup(group); + s.setValue("bestmixead", value); + prefs.bestmixead = value; + emit bestmixeadChanged(value); +} + void DivePlannerSettings::setReserveGas(int value) { QSettings s; diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index f115e2d86..b4b898a3d 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -327,6 +327,7 @@ class DivePlannerSettings : public QObject { Q_PROPERTY(int descrate READ descrate WRITE setDescrate NOTIFY descrateChanged) Q_PROPERTY(int bottompo2 READ bottompo2 WRITE setBottompo2 NOTIFY bottompo2Changed) Q_PROPERTY(int decopo2 READ decopo2 WRITE setDecopo2 NOTIFY decopo2Changed) + Q_PROPERTY(int bestmixead READ bestmixead WRITE setBestmixead NOTIFY bestmixeadChanged) Q_PROPERTY(int reserve_gas READ reserveGas WRITE setReserveGas NOTIFY reserveGasChanged) Q_PROPERTY(int min_switch_duration READ minSwitchDuration WRITE setMinSwitchDuration NOTIFY minSwitchDurationChanged) Q_PROPERTY(int bottomsac READ bottomSac WRITE setBottomSac NOTIFY bottomSacChanged) @@ -352,6 +353,7 @@ public: int descrate() const; int bottompo2() const; int decopo2() const; + int bestmixead() const; int reserveGas() const; int minSwitchDuration() const; int bottomSac() const; @@ -376,6 +378,7 @@ public slots: void setDescrate(int value); void setBottompo2(int value); void setDecopo2(int value); + void setBestmixead(int value); void setReserveGas(int value); void setMinSwitchDuration(int value); void setBottomSac(int value); @@ -400,6 +403,7 @@ signals: void descrateChanged(int value); void bottompo2Changed(int value); void decopo2Changed(int value); + void bestmixeadChanged(int value); void reserveGasChanged(int value); void minSwitchDurationChanged(int value); void bottomSacChanged(int value); diff --git a/core/subsurfacestartup.c b/core/subsurfacestartup.c index c2881a17f..f58efb114 100644 --- a/core/subsurfacestartup.c +++ b/core/subsurfacestartup.c @@ -52,6 +52,7 @@ struct preferences default_prefs = { .descrate = 18000 / 60, .bottompo2 = 1400, .decopo2 = 1600, + .bestmixead = 30000, .doo2breaks = false, .drop_stone_mode = false, .switch_at_req_stop = false, |