mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
Make the reserve gas units aware
In the planner, for recreational mode, there is a setting indicating the pressure at which the diver should be back at the surface. This pressure was hardcoded to bar. Fixes #1027 [Dirk Hohndel: small modifications, more reasonable step for psi, more reasonable maxima] Signed-off-by: Robert C. Helling <helling@atdotde.de> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e8f8051efe
commit
48007ebc30
2 changed files with 16 additions and 2 deletions
|
@ -306,7 +306,6 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
|
|||
ui.display_runtime->setChecked(prefs.display_runtime);
|
||||
ui.display_transitions->setChecked(prefs.display_transitions);
|
||||
ui.safetystop->setChecked(prefs.safetystop);
|
||||
ui.reserve_gas->setValue(prefs.reserve_gas / 1000);
|
||||
ui.bottompo2->setValue(prefs.bottompo2 / 1000.0);
|
||||
ui.decopo2->setValue(prefs.decopo2 / 1000.0);
|
||||
ui.backgasBreaks->setChecked(prefs.doo2breaks);
|
||||
|
@ -448,6 +447,18 @@ void PlannerSettingsWidget::settingsChanged()
|
|||
ui.bottomSAC->setValue((double) prefs.bottomsac / 1000.0);
|
||||
ui.decoStopSAC->setValue((double) prefs.decosac / 1000.0);
|
||||
}
|
||||
if(get_units()->pressure == units::BAR) {
|
||||
ui.reserve_gas->setSuffix(tr("bar"));
|
||||
ui.reserve_gas->setSingleStep(1);
|
||||
ui.reserve_gas->setMaximum(100);
|
||||
ui.reserve_gas->setValue(prefs.reserve_gas / 1000);
|
||||
} else {
|
||||
ui.reserve_gas->setSuffix(tr("psi"));
|
||||
ui.reserve_gas->setSingleStep(10);
|
||||
ui.reserve_gas->setMaximum(1500);
|
||||
ui.reserve_gas->setValue(mbar_to_PSI(prefs.reserve_gas));
|
||||
}
|
||||
|
||||
ui.bottomSAC->blockSignals(false);
|
||||
ui.decoStopSAC->blockSignals(false);
|
||||
updateUnitsUI();
|
||||
|
|
|
@ -481,7 +481,10 @@ void DivePlannerPointsModel::setSafetyStop(bool value)
|
|||
|
||||
void DivePlannerPointsModel::setReserveGas(int reserve)
|
||||
{
|
||||
prefs.reserve_gas = reserve * 1000;
|
||||
if (prefs.units.pressure == units::BAR)
|
||||
prefs.reserve_gas = reserve * 1000;
|
||||
else
|
||||
prefs.reserve_gas = psi_to_mbar(reserve);
|
||||
emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue