diff options
author | Willem Ferguson <willemferguson@zoology.up.ac.za> | 2018-03-14 17:13:37 +0200 |
---|---|---|
committer | Lubomir I. Ivanov <neolit123@gmail.com> | 2018-04-28 20:11:22 +0300 |
commit | 81a812539c95f2e709995d446065803c09e9136a (patch) | |
tree | e75422bbd34a909e3f897e3200e6624ad83e6b9a /core/subsurface-qt | |
parent | e9fd4cb7dca13c01f85ad63b667100ee15d7dc6d (diff) | |
download | subsurface-81a812539c95f2e709995d446065803c09e9136a.tar.gz |
Plot OC-pO2 graph for SCR dives
This commit allows plotting the OC-equivalent pO2 graph for PSCR
dives. This happens in both the cases where there is no external
O2-monitoring AND when there is external pO2 monitoring. The
calculations are only done for PSCR dives and is achieved as
follows:
1) Within plot-info create a pressure-t called OC_pO2 in
profile.h and populate this variable with the open-circuit
pO2 values in profile.c.
2) Create a new partialPressureGasItem ocpo2GasItem in
profilewidget2.h and, in profilewidget2.cpp, initialise it
to read the plot-info OC_pO2 values and enable its
display by using the setVisible method. The
diveplotdatamodel was also touched in order to achieve
this.
3) Create a pref button that controls the display of OC-pO2 for SCR dives
4) Change the colour of the OC-pO2 grpah to orange
5) Change the connection of the crr_OC_pO2 signal to be appropriate
6) rename the OC_pO2 attribute to scr_OC-pO2
Signed-off-by: Willem Ferguson <willemferguson@zoology.up.ac.za>
Diffstat (limited to 'core/subsurface-qt')
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.cpp | 18 | ||||
-rw-r--r-- | core/subsurface-qt/SettingsObjectWrapper.h | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index cd1054b97..aaa907759 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -392,6 +392,11 @@ bool TechnicalDetailsSettings::rulerGraph() const return prefs.rulergraph; } +bool TechnicalDetailsSettings::showSCROCpO2() const +{ + return prefs.show_scr_ocpo2; +} + bool TechnicalDetailsSettings::showCCRSetpoint() const { return prefs.show_ccr_setpoint; @@ -667,6 +672,18 @@ void TechnicalDetailsSettings::setShowCCRSetpoint(bool value) emit showCCRSetpointChanged(value); } +void TechnicalDetailsSettings::setShowSCROCpO2(bool value) +{ + if (value == prefs.show_scr_ocpo2) + return; + + QSettings s; + s.beginGroup(group); + s.setValue("show_scr_ocpo2", value); + prefs.show_scr_ocpo2 = value; + emit showSCROCpO2Changed(value); +} + void TechnicalDetailsSettings::setShowCCRSensors(bool value) { if (value == prefs.show_ccr_sensors) @@ -2222,6 +2239,7 @@ void SettingsObjectWrapper::load() GET_BOOL("gf_low_at_maxdepth", gf_low_at_maxdepth); GET_BOOL("show_ccr_setpoint",show_ccr_setpoint); GET_BOOL("show_ccr_sensors",show_ccr_sensors); + GET_BOOL("show_scr_ocpo2",show_scr_ocpo2); GET_BOOL("zoomed_plot", zoomed_plot); set_gf(prefs.gflow, prefs.gfhigh); set_vpmb_conservatism(prefs.vpmb_conservatism); diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index 94bbcf5fc..f2c6745d8 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -135,6 +135,7 @@ class TechnicalDetailsSettings : public QObject { Q_PROPERTY(bool rulergraph READ rulerGraph WRITE setRulerGraph NOTIFY rulerGraphChanged) Q_PROPERTY(bool show_ccr_setpoint READ showCCRSetpoint WRITE setShowCCRSetpoint NOTIFY showCCRSetpointChanged) Q_PROPERTY(bool show_ccr_sensors READ showCCRSensors WRITE setShowCCRSensors NOTIFY showCCRSensorsChanged) + Q_PROPERTY(bool show_scr_ocpo2 READ showSCROCpO2 WRITE setShowSCROCpO2 NOTIFY showSCROCpO2Changed) Q_PROPERTY(bool zoomed_plot READ zoomedPlot WRITE setZoomedPlot NOTIFY zoomedPlotChanged) Q_PROPERTY(bool show_sac READ showSac WRITE setShowSac NOTIFY showSacChanged) Q_PROPERTY(bool display_unused_tanks READ displayUnusedTanks WRITE setDisplayUnusedTanks NOTIFY displayUnusedTanksChanged) @@ -165,6 +166,7 @@ public: bool rulerGraph() const; bool showCCRSetpoint() const; bool showCCRSensors() const; + bool showSCROCpO2() const; bool zoomedPlot() const; bool showSac() const; bool displayUnusedTanks() const; @@ -193,6 +195,7 @@ public slots: void setRulerGraph(bool value); void setShowCCRSetpoint(bool value); void setShowCCRSensors(bool value); + void setShowSCROCpO2(bool value); void setZoomedPlot(bool value); void setShowSac(bool value); void setDisplayUnusedTanks(bool value); @@ -221,6 +224,7 @@ signals: void rulerGraphChanged(bool value); void showCCRSetpointChanged(bool value); void showCCRSensorsChanged(bool value); + void showSCROCpO2Changed(bool value); void zoomedPlotChanged(bool value); void showSacChanged(bool value); void displayUnusedTanksChanged(bool value); |