mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
ce67c8b902
Add a button that allows the user to hide the infobox with statistics about the point in the dive under the mouse cursor in order to be able to see the full dive profile unobstructed. Signed-off-by: Michael Keller <github@ike.ch>
153 lines
4.5 KiB
C++
153 lines
4.5 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#include "qPrefTechnicalDetails.h"
|
|
#include "qPrefPrivate.h"
|
|
#include "core/deco.h"
|
|
|
|
static const QString group = QStringLiteral("TecDetails");
|
|
|
|
qPrefTechnicalDetails *qPrefTechnicalDetails::instance()
|
|
{
|
|
static qPrefTechnicalDetails *self = new qPrefTechnicalDetails;
|
|
return self;
|
|
}
|
|
|
|
|
|
void qPrefTechnicalDetails::loadSync(bool doSync)
|
|
{
|
|
disk_calcalltissues(doSync);
|
|
disk_calcceiling(doSync);
|
|
disk_calcceiling3m(doSync);
|
|
disk_calcndltts(doSync);
|
|
disk_dcceiling(doSync);
|
|
disk_display_deco_mode(doSync);
|
|
disk_ead(doSync);
|
|
disk_gfhigh(doSync);
|
|
disk_gflow(doSync);
|
|
disk_gf_low_at_maxdepth(doSync);
|
|
disk_hrgraph(doSync);
|
|
disk_mod(doSync);
|
|
disk_modpO2(doSync);
|
|
disk_percentagegraph(doSync);
|
|
disk_redceiling(doSync);
|
|
disk_rulergraph(doSync);
|
|
disk_show_ccr_sensors(doSync);
|
|
disk_show_ccr_setpoint(doSync);
|
|
disk_show_icd(doSync);
|
|
disk_show_pictures_in_profile(doSync);
|
|
disk_show_sac(doSync);
|
|
disk_show_scr_ocpo2(doSync);
|
|
disk_tankbar(doSync);
|
|
disk_vpmb_conservatism(doSync);
|
|
disk_zoomed_plot(doSync);
|
|
disk_infobox(doSync);
|
|
}
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "calcalltissues", calcalltissues);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "calcceiling", calcceiling);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "calcceiling3m", calcceiling3m);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "calcndltts", calcndltts);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "decoinfo", decoinfo);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "dcceiling", dcceiling);
|
|
|
|
HANDLE_PREFERENCE_ENUM(TechnicalDetails, deco_mode, "display_deco_mode", display_deco_mode);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "ead", ead);
|
|
|
|
void qPrefTechnicalDetails::set_gfhigh(int value)
|
|
{
|
|
if (value != prefs.gfhigh) {
|
|
prefs.gfhigh = value;
|
|
disk_gfhigh(true);
|
|
set_gf(-1, prefs.gfhigh);
|
|
emit instance()->gfhighChanged(value);
|
|
}
|
|
}
|
|
|
|
void qPrefTechnicalDetails::disk_gfhigh(bool doSync)
|
|
{
|
|
if (doSync) {
|
|
if (prefs.gfhigh)
|
|
qPrefPrivate::propSetValue(keyFromGroupAndName(group, "gfhigh"), prefs.gfhigh, default_prefs.gfhigh);
|
|
} else {
|
|
prefs.gfhigh = qPrefPrivate::propValue(keyFromGroupAndName(group, "gfhigh"), default_prefs.gfhigh).toInt();
|
|
set_gf(-1, prefs.gfhigh);
|
|
}
|
|
}
|
|
|
|
void qPrefTechnicalDetails::set_gflow(int value)
|
|
{
|
|
if (value != prefs.gflow) {
|
|
prefs.gflow = value;
|
|
disk_gflow(true);
|
|
set_gf(prefs.gflow, -1);
|
|
emit instance()->gflowChanged(value);
|
|
}
|
|
}
|
|
|
|
void qPrefTechnicalDetails::disk_gflow(bool doSync)
|
|
{
|
|
if (doSync) {
|
|
if (prefs.gflow)
|
|
qPrefPrivate::propSetValue(keyFromGroupAndName(group, "gflow"), prefs.gflow, default_prefs.gflow);
|
|
} else {
|
|
prefs.gflow = qPrefPrivate::propValue(keyFromGroupAndName(group, "gflow"), default_prefs.gflow).toInt();
|
|
set_gf(prefs.gflow, -1);
|
|
}
|
|
}
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "gf_low_at_maxdepth", gf_low_at_maxdepth);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "InfoBox", infobox);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "hrgraph", hrgraph);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "mod", mod);
|
|
|
|
HANDLE_PREFERENCE_DOUBLE(TechnicalDetails, "modpO2", modpO2);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "percentagegraph", percentagegraph);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "redceiling", redceiling);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "RulerBar", rulergraph);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_ccr_sensors", show_ccr_sensors);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_ccr_setpoint", show_ccr_setpoint);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_icd", show_icd);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_pictures_in_profile", show_pictures_in_profile);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_sac", show_sac);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "show_scr_ocpo2", show_scr_ocpo2);
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "tankbar", tankbar);
|
|
|
|
void qPrefTechnicalDetails::set_vpmb_conservatism(int value)
|
|
{
|
|
if (value != prefs.vpmb_conservatism) {
|
|
prefs.vpmb_conservatism = value;
|
|
disk_vpmb_conservatism(true);
|
|
emit instance()->vpmb_conservatismChanged(value);
|
|
}
|
|
}
|
|
|
|
void qPrefTechnicalDetails::disk_vpmb_conservatism(bool doSync)
|
|
{
|
|
if (doSync) {
|
|
if (prefs.vpmb_conservatism)
|
|
qPrefPrivate::propSetValue(keyFromGroupAndName(group, "vpmb_conservatism"), prefs.vpmb_conservatism, default_prefs.vpmb_conservatism);
|
|
} else {
|
|
prefs.vpmb_conservatism = qPrefPrivate::propValue(keyFromGroupAndName(group, "vpmb_conservatism"), default_prefs.vpmb_conservatism).toInt();
|
|
set_vpmb_conservatism(prefs.vpmb_conservatism);
|
|
}
|
|
}
|
|
|
|
HANDLE_PREFERENCE_BOOL(TechnicalDetails, "zoomed_plot", zoomed_plot);
|