diff options
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/diveplanner.cpp | 20 | ||||
-rw-r--r-- | qt-ui/diveplanner.h | 2 | ||||
-rw-r--r-- | qt-ui/models.cpp | 4 | ||||
-rw-r--r-- | qt-ui/plannerSettings.ui | 46 |
4 files changed, 50 insertions, 22 deletions
diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 1ba00a7f9..57438eb39 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -347,6 +347,8 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) ui.ascRateStops->setValue(prefs.ascratestops / UNIT_FACTOR); ui.ascRateLast6m->setValue(prefs.ascratelast6m / UNIT_FACTOR); ui.descRate->setValue(prefs.descrate / UNIT_FACTOR); + ui.bottompo2->setValue(prefs.bottompo2 / 1000.0); + ui.decopo2->setValue(prefs.decopo2 / 1000.0); connect(ui.lastStop, SIGNAL(toggled(bool)), plannerModel, SLOT(setLastStop6m(bool))); connect(ui.verbatim_plan, SIGNAL(toggled(bool)), plannerModel, SLOT(setVerbatim(bool))); @@ -363,6 +365,8 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) connect(ui.ascRateLast6m, SIGNAL(valueChanged(int)), plannerModel, SLOT(emitDataChanged())); connect(ui.descRate, SIGNAL(valueChanged(int)), this, SLOT(setDescRate(int))); connect(ui.descRate, SIGNAL(valueChanged(int)), plannerModel, SLOT(emitDataChanged())); + connect(ui.bottompo2, SIGNAL(valueChanged(double)), this, SLOT(setBottomPo2(double))); + connect(ui.decopo2, SIGNAL(valueChanged(double)), this, SLOT(setDecoPo2(double))); setMinimumWidth(0); setMinimumHeight(0); @@ -413,6 +417,17 @@ void PlannerSettingsWidget::setDescRate(int rate) prefs.descrate = rate * UNIT_FACTOR; } +void PlannerSettingsWidget::setBottomPo2(double po2) +{ + prefs.bottompo2 = (int) (po2 * 1000.0); +} + +void PlannerSettingsWidget::setDecoPo2(double po2) +{ + prefs.decopo2 = (int) (po2 * 1000.0); +} + + void DivePlannerPointsModel::setPlanMode(Mode m) { mode = m; @@ -678,8 +693,9 @@ bool DivePlannerPointsModel::addGas(struct gasmix mix) /* The depth to change to that gas is given by the depth where its pO₂ is 1.6 bar. * The user should be able to change this depth manually. */ pressure_t modpO2; - modpO2.mbar = 1600; - cyl->depth = gas_mod(&mix, modpO2); + modpO2.mbar = prefs.decopo2; + cyl->depth = gas_mod(&mix, modpO2, 3000); + CylindersModel::instance()->setDive(stagingDive); return true; } diff --git a/qt-ui/diveplanner.h b/qt-ui/diveplanner.h index 9f6052b4a..5955a5a8f 100644 --- a/qt-ui/diveplanner.h +++ b/qt-ui/diveplanner.h @@ -164,6 +164,8 @@ slots: void setAscRateStops(int rate); void setAscRateLast6m(int rate); void setDescRate(int rate); + void setBottomPo2(double po2); + void setDecoPo2(double po2); private: Ui::plannerSettingsWidget ui; diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp index 167f54813..a5a1f5bff 100644 --- a/qt-ui/models.cpp +++ b/qt-ui/models.cpp @@ -250,8 +250,8 @@ bool CylindersModel::setData(const QModelIndex &index, const QVariant &value, in if (CHANGED()) { cyl->gasmix.o2 = string_to_fraction(vString.toUtf8().data()); pressure_t modpO2; - modpO2.mbar = 1600; - cyl->depth = gas_mod(&cyl->gasmix, modpO2); + modpO2.mbar = prefs.decopo2; + cyl->depth = gas_mod(&cyl->gasmix, modpO2, 3000); changed = true; } break; diff --git a/qt-ui/plannerSettings.ui b/qt-ui/plannerSettings.ui index 519f3ea7c..57814eabb 100644 --- a/qt-ui/plannerSettings.ui +++ b/qt-ui/plannerSettings.ui @@ -72,16 +72,6 @@ </property> </widget> </item> - <item row="1" column="1"> - <widget class="QPlainTextEdit" name="bottompo2"> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>20</height> - </size> - </property> - </widget> - </item> <item row="2" column="0"> <widget class="QLabel" name="label_7"> <property name="text"> @@ -90,12 +80,34 @@ </widget> </item> <item row="2" column="1"> - <widget class="QPlainTextEdit" name="decopo2"> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>20</height> - </size> + <widget class="QDoubleSpinBox" name="decopo2"> + <property name="suffix"> + <string>bar</string> + </property> + <property name="maximum"> + <double>2.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.100000000000000</double> + </property> + <property name="value"> + <double>1.600000000000000</double> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QDoubleSpinBox" name="bottompo2"> + <property name="suffix"> + <string>bar</string> + </property> + <property name="maximum"> + <double>2.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.100000000000000</double> + </property> + <property name="value"> + <double>1.400000000000000</double> </property> </widget> </item> @@ -299,8 +311,6 @@ <tabstop>display_transitions</tabstop> <tabstop>lastStop</tabstop> <tabstop>backgasBreaks</tabstop> - <tabstop>bottompo2</tabstop> - <tabstop>decopo2</tabstop> <tabstop>descRate</tabstop> </tabstops> <resources/> |