diff options
author | Rick Walsh <rickmwalsh@gmail.com> | 2015-06-22 21:48:42 +1000 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-06-26 06:14:24 -0700 |
commit | 425020d2debd770006594e715b6fed73032a4ea2 (patch) | |
tree | 006e414efbed04725533af740f52bfa584437721 | |
parent | cb1b6a3d302070febf09d8963585ac445d3277f4 (diff) | |
download | subsurface-425020d2debd770006594e715b6fed73032a4ea2.tar.gz |
Add only switch at required stop option
Add the option to only switch at required stop to the planner UI. This is not actually used yet.
Signed-off-by: Rick Walsh <rickmwalsh@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | pref.h | 1 | ||||
-rw-r--r-- | qt-models/diveplannermodel.cpp | 6 | ||||
-rw-r--r-- | qt-models/diveplannermodel.h | 1 | ||||
-rw-r--r-- | qt-ui/diveplanner.cpp | 4 | ||||
-rw-r--r-- | qt-ui/plannerSettings.ui | 18 | ||||
-rw-r--r-- | subsurfacestartup.c | 1 |
6 files changed, 27 insertions, 4 deletions
@@ -92,6 +92,7 @@ struct preferences { bool display_transitions; bool recreational_mode; bool safetystop; + bool switch_at_req_stop; int reserve_gas; int min_switch_duration; // seconds int bottomsac; diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp index a4ca14715..adbcdba9a 100644 --- a/qt-models/diveplannermodel.cpp +++ b/qt-models/diveplannermodel.cpp @@ -490,6 +490,12 @@ void DivePlannerPointsModel::setDropStoneMode(bool value) emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1)); } +void DivePlannerPointsModel::setSwitchAtReqStop(bool value) +{ + prefs.switch_at_req_stop = value; + emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1)); +} + void DivePlannerPointsModel::setMinSwitchDuration(int duration) { prefs.min_switch_duration = duration * 60; diff --git a/qt-models/diveplannermodel.h b/qt-models/diveplannermodel.h index 883103f22..422499084 100644 --- a/qt-models/diveplannermodel.h +++ b/qt-models/diveplannermodel.h @@ -90,6 +90,7 @@ slots: void emitDataChanged(); void setRebreatherMode(int mode); void setReserveGas(int reserve); + void setSwitchAtReqStop(bool value); void setMinSwitchDuration(int duration); signals: diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp index 08ceba5db..8b0e93cd8 100644 --- a/qt-ui/diveplanner.cpp +++ b/qt-ui/diveplanner.cpp @@ -254,6 +254,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) prefs.bottompo2 = s.value("bottompo2", prefs.bottompo2).toInt(); prefs.decopo2 = s.value("decopo2", prefs.decopo2).toInt(); prefs.doo2breaks = s.value("doo2breaks", prefs.doo2breaks).toBool(); + prefs.switch_at_req_stop = s.value("switch_at_req_stop", prefs.switch_at_req_stop).toBool(); prefs.min_switch_duration = s.value("min_switch_duration", prefs.min_switch_duration).toInt(); prefs.drop_stone_mode = s.value("drop_stone_mode", prefs.drop_stone_mode).toBool(); prefs.bottomsac = s.value("bottomsac", prefs.bottomsac).toInt(); @@ -275,6 +276,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) ui.decopo2->setValue(prefs.decopo2 / 1000.0); ui.backgasBreaks->setChecked(prefs.doo2breaks); ui.drop_stone_mode->setChecked(prefs.drop_stone_mode); + ui.switch_at_req_stop->setChecked(prefs.switch_at_req_stop); ui.min_switch_duration->setValue(prefs.min_switch_duration / 60); // should be the same order as in dive_comp_type! rebreater_modes << tr("Open circuit") << tr("CCR") << tr("pSCR"); @@ -308,6 +310,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) connect(ui.gfhigh, SIGNAL(editingFinished()), plannerModel, SLOT(triggerGFHigh())); connect(ui.gflow, SIGNAL(editingFinished()), plannerModel, SLOT(triggerGFLow())); connect(ui.backgasBreaks, SIGNAL(toggled(bool)), this, SLOT(setBackgasBreaks(bool))); + connect(ui.switch_at_req_stop, SIGNAL(toggled(bool)), plannerModel, SLOT(setSwitchAtReqStop(bool))); connect(ui.min_switch_duration, SIGNAL(valueChanged(int)), plannerModel, SLOT(setMinSwitchDuration(int))); connect(ui.rebreathermode, SIGNAL(currentIndexChanged(int)), plannerModel, SLOT(setRebreatherMode(int))); connect(plannerModel, SIGNAL(recreationChanged(bool)), this, SLOT(disableDecoElements(bool))); @@ -350,6 +353,7 @@ PlannerSettingsWidget::~PlannerSettingsWidget() s.setValue("decopo2", prefs.decopo2); s.setValue("doo2breaks", prefs.doo2breaks); s.setValue("drop_stone_mode", prefs.drop_stone_mode); + s.setValue("switch_at_req_stop", prefs.switch_at_req_stop); s.setValue("min_switch_duration", prefs.min_switch_duration); s.setValue("bottomsac", prefs.bottomsac); s.setValue("decosac", prefs.decosac); diff --git a/qt-ui/plannerSettings.ui b/qt-ui/plannerSettings.ui index 9ca603b28..55ca83a9b 100644 --- a/qt-ui/plannerSettings.ui +++ b/qt-ui/plannerSettings.ui @@ -308,7 +308,7 @@ </property> </widget> </item> - <item row="11" column="1"> + <item row="12" column="1"> <widget class="QComboBox" name="rebreathermode"> <property name="currentText"> <string/> @@ -338,7 +338,7 @@ </property> </widget> </item> - <item row="12" column="1"> + <item row="13" column="1"> <spacer name="verticalSpacer_2"> <property name="orientation"> <enum>Qt::Vertical</enum> @@ -401,14 +401,24 @@ </property> </widget> </item> - <item row="10" column="1"> + <item row="10" column="1" colspan="2"> + <widget class="QCheckBox" name="switch_at_req_stop"> + <property name="toolTip"> + <string>Postpone gas change if a stop is not required</string> + </property> + <property name="text"> + <string>Only switch at required stops</string> + </property> + </widget> + </item> + <item row="11" column="1"> <widget class="QLabel" name="label_4"> <property name="text"> <string>Min. switch duration</string> </property> </widget> </item> - <item row="10" column="2"> + <item row="11" column="2"> <widget class="QSpinBox" name="min_switch_duration"> <property name="suffix"> <string>min</string> diff --git a/subsurfacestartup.c b/subsurfacestartup.c index 655a1a5d9..f5b0e7b4b 100644 --- a/subsurfacestartup.c +++ b/subsurfacestartup.c @@ -47,6 +47,7 @@ struct preferences default_prefs = { .decopo2 = 1600, .doo2breaks = false, .drop_stone_mode = false, + .switch_at_req_stop = false, .min_switch_duration = 60, .last_stop = false, .verbatim_plan = false, |