summaryrefslogtreecommitdiffstats
path: root/core/subsurface-qt/SettingsObjectWrapper.cpp
diff options
context:
space:
mode:
authorGravatar Willem Ferguson <willemferguson@zoology.up.ac.za>2018-03-14 17:13:37 +0200
committerGravatar Lubomir I. Ivanov <neolit123@gmail.com>2018-04-28 20:11:22 +0300
commit81a812539c95f2e709995d446065803c09e9136a (patch)
treee75422bbd34a909e3f897e3200e6624ad83e6b9a /core/subsurface-qt/SettingsObjectWrapper.cpp
parente9fd4cb7dca13c01f85ad63b667100ee15d7dc6d (diff)
downloadsubsurface-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/SettingsObjectWrapper.cpp')
-rw-r--r--core/subsurface-qt/SettingsObjectWrapper.cpp18
1 files changed, 18 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);