diff --git a/core/plannernotes.c b/core/plannernotes.c
index 414236a1e..68c9bae25 100644
--- a/core/plannernotes.c
+++ b/core/plannernotes.c
@@ -101,8 +101,13 @@ void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool show_d
get_current_date());
}
- len += snprintf(buffer + len, sz_buffer - len, translate("gettextFromC", "Runtime: %dmin VARIATIONS
"),
- diveplan_duration(diveplan));
+ if (prefs.display_variations)
+ len += snprintf(buffer + len, sz_buffer - len, translate("gettextFromC", "Runtime: %dmin VARIATIONS
"),
+ diveplan_duration(diveplan));
+ else
+ len += snprintf(buffer + len, sz_buffer - len, translate("gettextFromC", "Runtime: %dmin
"),
+ diveplan_duration(diveplan));
+
if (!plan_verbatim) {
len += snprintf(buffer + len, sz_buffer - len, "
| %s | ", diff --git a/core/pref.h b/core/pref.h index f22999981..515225dd4 100644 --- a/core/pref.h +++ b/core/pref.h @@ -126,6 +126,7 @@ struct preferences { bool display_runtime; bool display_duration; bool display_transitions; + bool display_variations; bool safetystop; bool switch_at_req_stop; int reserve_gas; diff --git a/core/subsurface-qt/SettingsObjectWrapper.cpp b/core/subsurface-qt/SettingsObjectWrapper.cpp index 25161a904..720a887d6 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.cpp +++ b/core/subsurface-qt/SettingsObjectWrapper.cpp @@ -1214,6 +1214,11 @@ bool DivePlannerSettings::displayTransitions() const return prefs.display_transitions; } +bool DivePlannerSettings::displayVariations() const +{ + return prefs.display_variations; +} + bool DivePlannerSettings::doo2breaks() const { return prefs.doo2breaks; @@ -1368,6 +1373,18 @@ void DivePlannerSettings::setDisplayTransitions(bool value) emit displayTransitionsChanged(value); } +void DivePlannerSettings::setDisplayVariations(bool value) +{ + if (value == prefs.display_variations) + return; + + QSettings s; + s.beginGroup(group); + s.setValue("display_variations", value); + prefs.display_variations = value; + emit displayVariationsChanged(value); +} + void DivePlannerSettings::setDoo2breaks(bool value) { if (value == prefs.doo2breaks) @@ -2339,6 +2356,7 @@ void SettingsObjectWrapper::load() GET_BOOL("display_duration", display_duration); GET_BOOL("display_runtime", display_runtime); GET_BOOL("display_transitions", display_transitions); + GET_BOOL("display_variations", display_variations); GET_BOOL("safetystop", safetystop); GET_BOOL("doo2breaks", doo2breaks); GET_BOOL("switch_at_req_stop",switch_at_req_stop); @@ -2397,6 +2415,7 @@ void SettingsObjectWrapper::sync() s.setValue("display_duration", prefs.display_duration); s.setValue("display_runtime", prefs.display_runtime); s.setValue("display_transitions", prefs.display_transitions); + s.setValue("display_variations", prefs.display_variations); s.setValue("safetystop", prefs.safetystop); s.setValue("reserve_gas", prefs.reserve_gas); s.setValue("ascrate75", prefs.ascrate75); diff --git a/core/subsurface-qt/SettingsObjectWrapper.h b/core/subsurface-qt/SettingsObjectWrapper.h index 7116e682e..824d1023d 100644 --- a/core/subsurface-qt/SettingsObjectWrapper.h +++ b/core/subsurface-qt/SettingsObjectWrapper.h @@ -398,6 +398,7 @@ class DivePlannerSettings : public QObject { Q_PROPERTY(bool display_runtime READ displayRuntime WRITE setDisplayRuntime NOTIFY displayRuntimeChanged) Q_PROPERTY(bool display_duration READ displayDuration WRITE setDisplayDuration NOTIFY displayDurationChanged) Q_PROPERTY(bool display_transitions READ displayTransitions WRITE setDisplayTransitions NOTIFY displayTransitionsChanged) + Q_PROPERTY(bool display_variations READ displayVariations WRITE setDisplayVariations NOTIFY displayVariationsChanged) Q_PROPERTY(bool doo2breaks READ doo2breaks WRITE setDoo2breaks NOTIFY doo2breaksChanged) Q_PROPERTY(bool drop_stone_mode READ dropStoneMode WRITE setDropStoneMode NOTIFY dropStoneModeChanged) Q_PROPERTY(bool safetystop READ safetyStop WRITE setSafetyStop NOTIFY safetyStopChanged) @@ -425,6 +426,7 @@ public: bool displayRuntime() const; bool displayDuration() const; bool displayTransitions() const; + bool displayVariations() const; bool doo2breaks() const; bool dropStoneMode() const; bool safetyStop() const; @@ -451,6 +453,7 @@ public slots: void setDisplayRuntime(bool value); void setDisplayDuration(bool value); void setDisplayTransitions(bool value); + void setDisplayVariations(bool value); void setDoo2breaks(bool value); void setDropStoneMode(bool value); void setSafetyStop(bool value); @@ -477,6 +480,7 @@ signals: void displayRuntimeChanged(bool value); void displayDurationChanged(bool value); void displayTransitionsChanged(bool value); + void displayVariationsChanged(bool value); void doo2breaksChanged(bool value); void dropStoneModeChanged(bool value); void safetyStopChanged(bool value); diff --git a/core/subsurfacestartup.c b/core/subsurfacestartup.c index b0d621b20..7bb3c2784 100644 --- a/core/subsurfacestartup.c +++ b/core/subsurfacestartup.c @@ -66,6 +66,7 @@ struct preferences default_prefs = { .display_runtime = true, .display_duration = true, .display_transitions = true, + .display_variations = false, .safetystop = true, .bottomsac = 20000, .decosac = 17000, diff --git a/desktop-widgets/diveplanner.cpp b/desktop-widgets/diveplanner.cpp index dd91e88c7..b90772f39 100644 --- a/desktop-widgets/diveplanner.cpp +++ b/desktop-widgets/diveplanner.cpp @@ -322,6 +322,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) ui.display_duration->setChecked(prefs.display_duration); ui.display_runtime->setChecked(prefs.display_runtime); ui.display_transitions->setChecked(prefs.display_transitions); + ui.display_variations->setChecked(prefs.display_variations); ui.safetystop->setChecked(prefs.safetystop); ui.sacfactor->setValue(prefs.sacfactor / 100.0); ui.problemsolvingtime->setValue(prefs.problemsolvingtime); @@ -355,6 +356,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f) connect(ui.display_duration, SIGNAL(toggled(bool)), plannerModel, SLOT(setDisplayDuration(bool))); connect(ui.display_runtime, SIGNAL(toggled(bool)), plannerModel, SLOT(setDisplayRuntime(bool))); connect(ui.display_transitions, SIGNAL(toggled(bool)), plannerModel, SLOT(setDisplayTransitions(bool))); + connect(ui.display_variations, SIGNAL(toggled(bool)), plannerModel, SLOT(setDisplayVariations(bool))); connect(ui.safetystop, SIGNAL(toggled(bool)), plannerModel, SLOT(setSafetyStop(bool))); connect(ui.reserve_gas, SIGNAL(valueChanged(int)), plannerModel, SLOT(setReserveGas(int))); connect(ui.ascRate75, SIGNAL(valueChanged(int)), plannerModel, SLOT(emitDataChanged())); diff --git a/desktop-widgets/plannerSettings.ui b/desktop-widgets/plannerSettings.ui index 22dcda86a..44cc45e27 100644 --- a/desktop-widgets/plannerSettings.ui +++ b/desktop-widgets/plannerSettings.ui @@ -685,6 +685,23 @@
|---|