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>
This commit is contained in:
Willem Ferguson 2018-03-14 17:13:37 +02:00 committed by Lubomir I. Ivanov
parent e9fd4cb7dc
commit 81a812539c
14 changed files with 107 additions and 52 deletions

View file

@ -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);