--- /dev/null
+#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