Add a checkbox to turn off plan variations

... as those come with a performance penalty

Signed-off-by: Robert C. Helling <helling@atdotde.de>
This commit is contained in:
Robert C. Helling 2017-09-18 16:10:47 +02:00 committed by Dirk Hohndel
parent 5e9bdce195
commit a6f186279f
10 changed files with 117 additions and 59 deletions

View file

@ -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<br></div>"),
diveplan_duration(diveplan));
if (prefs.display_variations)
len += snprintf(buffer + len, sz_buffer - len, translate("gettextFromC", "Runtime: %dmin VARIATIONS<br></div>"),
diveplan_duration(diveplan));
else
len += snprintf(buffer + len, sz_buffer - len, translate("gettextFromC", "Runtime: %dmin<br></div>"),
diveplan_duration(diveplan));
if (!plan_verbatim) {
len += snprintf(buffer + len, sz_buffer - len, "<table><thead><tr><th></th><th>%s</th>",

View file

@ -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;

View file

@ -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);

View file

@ -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);

View file

@ -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,