minimal pO2 threshold: split max threshold into min and max

Nothing really special here. Just a split of the only p02 max threshold into
a min threshold and max threshold, and the adaptation of the UI. Change of
translatable strings included.

ref: https://github.com/Subsurface-divelog/subsurface/issues/259

Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
This commit is contained in:
Jan Mulder 2017-03-24 19:11:31 +01:00 committed by Dirk Hohndel
parent 1d0281c923
commit bb31c77597
7 changed files with 204 additions and 163 deletions

View file

@ -166,11 +166,17 @@ short PartialPressureGasSettings::showPhe() const
return prefs.pp_graphs.phe;
}
double PartialPressureGasSettings::po2Threshold() const
double PartialPressureGasSettings::po2ThresholdMin() const
{
return prefs.pp_graphs.po2_threshold;
return prefs.pp_graphs.po2_threshold_min;
}
double PartialPressureGasSettings::po2ThresholdMax() const
{
return prefs.pp_graphs.po2_threshold_max;
}
double PartialPressureGasSettings::pn2Threshold() const
{
return prefs.pp_graphs.pn2_threshold;
@ -217,16 +223,28 @@ void PartialPressureGasSettings::setShowPhe(short value)
emit showPheChanged(value);
}
void PartialPressureGasSettings::setPo2Threshold(double value)
void PartialPressureGasSettings::setPo2ThresholdMin(double value)
{
if (value == prefs.pp_graphs.po2_threshold)
if (value == prefs.pp_graphs.po2_threshold_min)
return;
QSettings s;
s.beginGroup(group);
s.setValue("po2threshold", value);
prefs.pp_graphs.po2_threshold = value;
emit po2ThresholdChanged(value);
s.setValue("po2thresholdmin", value);
prefs.pp_graphs.po2_threshold_min = value;
emit po2ThresholdMinChanged(value);
}
void PartialPressureGasSettings::setPo2ThresholdMax(double value)
{
if (value == prefs.pp_graphs.po2_threshold_max)
return;
QSettings s;
s.beginGroup(group);
s.setValue("po2thresholdmax", value);
prefs.pp_graphs.po2_threshold_max = value;
emit po2ThresholdMaxChanged(value);
}
void PartialPressureGasSettings::setPn2Threshold(double value)
@ -2167,7 +2185,8 @@ void SettingsObjectWrapper::load()
GET_BOOL("po2graph", pp_graphs.po2);
GET_BOOL("pn2graph", pp_graphs.pn2);
GET_BOOL("phegraph", pp_graphs.phe);
GET_DOUBLE("po2threshold", pp_graphs.po2_threshold);
GET_DOUBLE("po2thresholdmin", pp_graphs.po2_threshold_min);
GET_DOUBLE("po2thresholdmax", pp_graphs.po2_threshold_max);
GET_DOUBLE("pn2threshold", pp_graphs.pn2_threshold);
GET_DOUBLE("phethreshold", pp_graphs.phe_threshold);
GET_BOOL("mod", mod);

View file

@ -69,19 +69,21 @@ private:
/* Control the state of the Partial Pressure Graphs preferences */
class PartialPressureGasSettings : public QObject {
Q_OBJECT
Q_PROPERTY(short show_po2 READ showPo2 WRITE setShowPo2 NOTIFY showPo2Changed)
Q_PROPERTY(short show_pn2 READ showPn2 WRITE setShowPn2 NOTIFY showPn2Changed)
Q_PROPERTY(short show_phe READ showPhe WRITE setShowPhe NOTIFY showPheChanged)
Q_PROPERTY(double po2_threshold READ po2Threshold WRITE setPo2Threshold NOTIFY po2ThresholdChanged)
Q_PROPERTY(double pn2_threshold READ pn2Threshold WRITE setPn2Threshold NOTIFY pn2ThresholdChanged)
Q_PROPERTY(double phe_threshold READ pheThreshold WRITE setPheThreshold NOTIFY pheThresholdChanged)
Q_PROPERTY(short show_po2 READ showPo2 WRITE setShowPo2 NOTIFY showPo2Changed)
Q_PROPERTY(short show_pn2 READ showPn2 WRITE setShowPn2 NOTIFY showPn2Changed)
Q_PROPERTY(short show_phe READ showPhe WRITE setShowPhe NOTIFY showPheChanged)
Q_PROPERTY(double po2_threshold_min READ po2ThresholdMin WRITE setPo2ThresholdMin NOTIFY po2ThresholdMinChanged)
Q_PROPERTY(double po2_threshold_max READ po2ThresholdMax WRITE setPo2ThresholdMax NOTIFY po2ThresholdMaxChanged)
Q_PROPERTY(double pn2_threshold READ pn2Threshold WRITE setPn2Threshold NOTIFY pn2ThresholdChanged)
Q_PROPERTY(double phe_threshold READ pheThreshold WRITE setPheThreshold NOTIFY pheThresholdChanged)
public:
PartialPressureGasSettings(QObject *parent);
short showPo2() const;
short showPn2() const;
short showPhe() const;
double po2Threshold() const;
double po2ThresholdMin() const;
double po2ThresholdMax() const;
double pn2Threshold() const;
double pheThreshold() const;
@ -89,7 +91,8 @@ public slots:
void setShowPo2(short value);
void setShowPn2(short value);
void setShowPhe(short value);
void setPo2Threshold(double value);
void setPo2ThresholdMin(double value);
void setPo2ThresholdMax(double value);
void setPn2Threshold(double value);
void setPheThreshold(double value);
@ -97,7 +100,8 @@ signals:
void showPo2Changed(short value);
void showPn2Changed(short value);
void showPheChanged(short value);
void po2ThresholdChanged(double value);
void po2ThresholdMaxChanged(double value);
void po2ThresholdMinChanged(double value);
void pn2ThresholdChanged(double value);
void pheThresholdChanged(double value);