summaryrefslogtreecommitdiffstats
path: root/core/settings/qPrefEquipment.h
diff options
context:
space:
mode:
authorGravatar willemferguson <willemferguson@zoology.up.ac.za>2019-12-07 20:27:25 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-12-25 02:57:42 +0900
commit3e853e37a5b0b9509fb92b1ddb3031f117578fb9 (patch)
tree35281a57f8ca70611c78a85ef3dbfa459d9efacb /core/settings/qPrefEquipment.h
parentc121afc96c0135ada550de4504153434fa83feb4 (diff)
downloadsubsurface-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.h40
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
+