Store current journey details in persistent settings
[harbour-pedalo.git] / src / settings.h
diff --git a/src/settings.h b/src/settings.h
new file mode 100644 (file)
index 0000000..2390d89
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef SETTINGS_H
+#define SETTINGS_H
+
+#include <QObject>
+#include <QQmlEngine>
+#include <QSettings>
+
+#include "status.h"
+
+class Settings : public QObject
+{
+    Q_OBJECT
+public:
+    explicit Settings(QObject *parent = nullptr);
+    ~Settings();
+
+    static void instantiate(QObject *parent = nullptr);
+    static Settings & getInstance();
+    static QObject * provider(QQmlEngine *engine, QJSEngine *scriptEngine);
+
+    Q_INVOKABLE static QString getConfigDir();
+
+    void loadSettings();
+    void saveSettings();
+
+    void setMainStatus(Status & value);
+signals:
+
+public slots:
+
+private:
+    static Settings * instance;
+    QSettings settings;
+
+    // Configurable values
+    Status * mainStatus;
+};
+
+#endif // SETTINGS_H