mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Display units in dive list table based on prefs option
Add a preferences option which enables or disables display of units in the main dive liste table. Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
parent
2cb5d45231
commit
78cda85444
8 changed files with 94 additions and 16 deletions
|
|
@ -18,6 +18,13 @@
|
|||
else \
|
||||
prefs.units.field = default_prefs.units.field
|
||||
|
||||
#define GET_UNIT_INT(name, field) \
|
||||
v = s.value(QString(name)); \
|
||||
if (v.isValid()) \
|
||||
prefs.units.field = v.toInt(); \
|
||||
else \
|
||||
prefs.units.field = default_prefs.units.field
|
||||
|
||||
#define GET_BOOL(name, field) \
|
||||
v = s.value(QString(name)); \
|
||||
if (v.isValid()) \
|
||||
|
|
|
|||
|
|
@ -1631,6 +1631,11 @@ int UnitsSettings::durationUnits() const
|
|||
return prefs.units.duration_units;
|
||||
}
|
||||
|
||||
int UnitsSettings::showUnitsTable() const
|
||||
{
|
||||
return prefs.units.show_units_table;
|
||||
}
|
||||
|
||||
QString UnitsSettings::unitSystem() const
|
||||
{
|
||||
return prefs.unit_system == METRIC ? QStringLiteral("metric")
|
||||
|
|
@ -1721,6 +1726,17 @@ void UnitsSettings::setDurationUnits(int value)
|
|||
emit durationUnitChanged(value);
|
||||
}
|
||||
|
||||
void UnitsSettings::setShowUnitsTable(int value)
|
||||
{
|
||||
if (value == prefs.units.show_units_table)
|
||||
return;
|
||||
QSettings s;
|
||||
s.beginGroup(group);
|
||||
s.setValue("show_units_table", value);
|
||||
prefs.units.show_units_table = value;
|
||||
emit showUnitsTableChanged(value);
|
||||
}
|
||||
|
||||
void UnitsSettings::setCoordinatesTraditional(bool value)
|
||||
{
|
||||
if (value == prefs.coordinates_traditional)
|
||||
|
|
@ -2197,6 +2213,7 @@ void SettingsObjectWrapper::load()
|
|||
}
|
||||
GET_UNIT("vertical_speed_time", vertical_speed_time, units::MINUTES, units::SECONDS);
|
||||
GET_UNIT3("duration_units", duration_units, units::MIXED, units::ALWAYS_HOURS, units::DURATION);
|
||||
GET_UNIT_INT("show_units_table", show_units_table);
|
||||
GET_BOOL("coordinates", coordinates_traditional);
|
||||
s.endGroup();
|
||||
s.beginGroup("TecDetails");
|
||||
|
|
|
|||
|
|
@ -513,6 +513,7 @@ class UnitsSettings : public QObject {
|
|||
Q_PROPERTY(bool coordinates_traditional READ coordinatesTraditional WRITE setCoordinatesTraditional NOTIFY coordinatesTraditionalChanged)
|
||||
Q_PROPERTY(int vertical_speed_time READ verticalSpeedTime WRITE setVerticalSpeedTime NOTIFY verticalSpeedTimeChanged)
|
||||
Q_PROPERTY(int duration_units READ durationUnits WRITE setDurationUnits NOTIFY durationUnitChanged)
|
||||
Q_PROPERTY(int show_units_table READ showUnitsTable WRITE setShowUnitsTable NOTIFY showUnitsTableChanged)
|
||||
|
||||
public:
|
||||
UnitsSettings(QObject *parent = 0);
|
||||
|
|
@ -523,6 +524,7 @@ public:
|
|||
int weight() const;
|
||||
int verticalSpeedTime() const;
|
||||
int durationUnits() const;
|
||||
int showUnitsTable() const;
|
||||
QString unitSystem() const;
|
||||
bool coordinatesTraditional() const;
|
||||
|
||||
|
|
@ -534,6 +536,7 @@ public slots:
|
|||
void setWeight(int value);
|
||||
void setVerticalSpeedTime(int value);
|
||||
void setDurationUnits(int value);
|
||||
void setShowUnitsTable(int value);
|
||||
void setUnitSystem(const QString& value);
|
||||
void setCoordinatesTraditional(bool value);
|
||||
|
||||
|
|
@ -547,6 +550,7 @@ signals:
|
|||
void unitSystemChanged(const QString& value);
|
||||
void coordinatesTraditionalChanged(bool value);
|
||||
void durationUnitChanged(int value);
|
||||
void showUnitsTableChanged(int value);
|
||||
private:
|
||||
const QString group = QStringLiteral("Units");
|
||||
};
|
||||
|
|
|
|||
|
|
@ -260,6 +260,7 @@ struct units {
|
|||
MINUTES_ONLY,
|
||||
ALWAYS_HOURS
|
||||
} duration_units;
|
||||
int show_units_table;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -272,13 +273,13 @@ struct units {
|
|||
#define SI_UNITS \
|
||||
{ \
|
||||
.length = METERS, .volume = LITER, .pressure = BAR, .temperature = CELSIUS, .weight = KG, \
|
||||
.vertical_speed_time = MINUTES, .duration_units = MIXED \
|
||||
.vertical_speed_time = MINUTES, .duration_units = MIXED, .show_units_table = false \
|
||||
}
|
||||
|
||||
#define IMPERIAL_UNITS \
|
||||
{ \
|
||||
.length = FEET, .volume = CUFT, .pressure = PSI, .temperature = FAHRENHEIT, .weight = LBS, \
|
||||
.vertical_speed_time = MINUTES, .duration_units = MIXED \
|
||||
.vertical_speed_time = MINUTES, .duration_units = MIXED, .show_units_table = false \
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue