diff options
author | Stefan Fuchs <sfuchs@gmx.de> | 2017-03-06 21:46:05 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-03-11 08:01:35 -0800 |
commit | 8a4d3876d6ada94cb83f013f70a0e540ca0435f1 (patch) | |
tree | 309f601e7474ba853426585e9aca8e0b01ab8eee | |
parent | 7f8c3592ce29d5fd4cd177d8e86ede9fdf3ab747 (diff) | |
download | subsurface-8a4d3876d6ada94cb83f013f70a0e540ca0435f1.tar.gz |
Disable minimum gas calculation for recreational mode
Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
-rw-r--r-- | core/planner.c | 6 | ||||
-rw-r--r-- | desktop-widgets/diveplanner.cpp | 16 |
2 files changed, 19 insertions, 3 deletions
diff --git a/core/planner.c b/core/planner.c index ab4ba2dd2..4d66858e4 100644 --- a/core/planner.c +++ b/core/planner.c @@ -892,11 +892,11 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool translate("gettextFromC", "Warning:"), translate("gettextFromC", "not enough reserve for gas sharing on ascent!")); - /* Do and print minimum gas calculation for last bottom gas, but only for OC mode */ - /* and if no other warning was set before. */ + /* Do and print minimum gas calculation for last bottom gas, but only for OC mode, */ + /* not for recreational mode and if no other warning was set before. */ else if (lastbottomdp && gasidx == lastbottomdp->cylinderid - && dive->dc.divemode == OC) { + && dive->dc.divemode == OC && decoMode() != RECREATIONAL) { /* Calculate minimum gas volume. */ volume_t mingasv; mingasv.mliter = prefs.problemsolvingtime * prefs.bottomsac * prefs.sacfactor / 100.0 diff --git a/desktop-widgets/diveplanner.cpp b/desktop-widgets/diveplanner.cpp index 804ea89e1..82b83c3ad 100644 --- a/desktop-widgets/diveplanner.cpp +++ b/desktop-widgets/diveplanner.cpp @@ -253,6 +253,14 @@ void PlannerSettingsWidget::disableDecoElements(int mode) ui.vpmb_conservatism->setDisabled(true); ui.switch_at_req_stop->setDisabled(true); ui.min_switch_duration->setDisabled(true); + ui.sacfactor->setDisabled(true); + ui.problemsolvingtime->setDisabled(true); + ui.sacfactor->blockSignals(true); + ui.problemsolvingtime->blockSignals(true); + ui.sacfactor->setValue(2.0); + ui.problemsolvingtime->setValue(0); + ui.sacfactor->blockSignals(false); + ui.problemsolvingtime->blockSignals(false); } else if (mode == VPMB) { ui.gflow->setDisabled(true); @@ -265,6 +273,10 @@ void PlannerSettingsWidget::disableDecoElements(int mode) ui.vpmb_conservatism->setDisabled(false); ui.switch_at_req_stop->setDisabled(false); ui.min_switch_duration->setDisabled(false); + ui.sacfactor->setDisabled(false); + ui.problemsolvingtime->setDisabled(false); + ui.sacfactor->setValue(prefs.sacfactor / 100.0); + ui.problemsolvingtime->setValue(prefs.problemsolvingtime); } else if (mode == BUEHLMANN) { ui.gflow->setDisabled(false); @@ -277,6 +289,10 @@ void PlannerSettingsWidget::disableDecoElements(int mode) ui.vpmb_conservatism->setDisabled(true); ui.switch_at_req_stop->setDisabled(false); ui.min_switch_duration->setDisabled(false); + ui.sacfactor->setDisabled(false); + ui.problemsolvingtime->setDisabled(false); + ui.sacfactor->setValue(prefs.sacfactor / 100.0); + ui.problemsolvingtime->setValue(prefs.problemsolvingtime); } } |