From 81a812539c95f2e709995d446065803c09e9136a Mon Sep 17 00:00:00 2001 From: Willem Ferguson Date: Wed, 14 Mar 2018 17:13:37 +0200 Subject: 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 --- core/subsurface-qt/SettingsObjectWrapper.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'core/subsurface-qt/SettingsObjectWrapper.cpp') 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); -- cgit v1.2.3-70-g09d2