diff options
author | willemferguson <willemferguson@zoology.up.ac.za> | 2019-12-07 20:27:25 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-12-25 02:57:42 +0900 |
commit | 3e853e37a5b0b9509fb92b1ddb3031f117578fb9 (patch) | |
tree | 35281a57f8ca70611c78a85ef3dbfa459d9efacb /core/settings/qPrefEquipment.h | |
parent | c121afc96c0135ada550de4504153434fa83feb4 (diff) | |
download | subsurface-3e853e37a5b0b9509fb92b1ddb3031f117578fb9.tar.gz |
Preferences UI: create new equipment tab
Remove the "Show unused cylinders" checkbox (Profile tab) and the
"Set default cylinder" qTextEdit box (General tab) and put them in a
separate and new Equipment tab. This sounds like a simple task but,
as can be seen from the files changed, was actually a complex matter.
Adapt the existing test programs (General and TechDetails) for creating
a test program that tests parts of the Equipment tab.
Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core/settings/qPrefEquipment.h')
-rw-r--r-- | core/settings/qPrefEquipment.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/core/settings/qPrefEquipment.h b/core/settings/qPrefEquipment.h new file mode 100644 index 000000000..33fe9f8d6 --- /dev/null +++ b/core/settings/qPrefEquipment.h @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0 +#ifndef QPREFEQUIPMENT_H +#define QPREFEQUIPMENT_H +#include "core/pref.h" + +#include <QObject> + +class qPrefEquipment : public QObject { + Q_OBJECT + Q_PROPERTY(QString default_cylinder READ default_cylinder WRITE set_default_cylinder NOTIFY default_cylinderChanged) + Q_PROPERTY(bool display_unused_tanks READ display_unused_tanks WRITE set_display_unused_tanks NOTIFY display_unused_tanksChanged) + +public: + static qPrefEquipment *instance(); + + // Load/Sync local settings (disk) and struct preference + static void loadSync(bool doSync); + static void load() { loadSync(false); } + static void sync() { loadSync(true); } + +public: + static QString default_cylinder() { return prefs.default_cylinder; } + static bool display_unused_tanks() { return prefs.display_unused_tanks; } + +public slots: + static void set_default_cylinder(const QString& value); + static void set_display_unused_tanks(bool value); + +signals: + void default_cylinderChanged(const QString& value); + void display_unused_tanksChanged(bool value); + +private: + qPrefEquipment() {} + static void disk_default_cylinder(bool doSync); + static void disk_display_unused_tanks(bool doSync); +}; + +#endif + |