2390d897b6ef9ba545847d10c075e581ec8658c1
[harbour-pedalo.git] / src / settings.h
1 #ifndef SETTINGS_H
2 #define SETTINGS_H
3
4 #include <QObject>
5 #include <QQmlEngine>
6 #include <QSettings>
7
8 #include "status.h"
9
10 class Settings : public QObject
11 {
12 Q_OBJECT
13 public:
14 explicit Settings(QObject *parent = nullptr);
15 ~Settings();
16
17 static void instantiate(QObject *parent = nullptr);
18 static Settings & getInstance();
19 static QObject * provider(QQmlEngine *engine, QJSEngine *scriptEngine);
20
21 Q_INVOKABLE static QString getConfigDir();
22
23 void loadSettings();
24 void saveSettings();
25
26 void setMainStatus(Status & value);
27 signals:
28
29 public slots:
30
31 private:
32 static Settings * instance;
33 QSettings settings;
34
35 // Configurable values
36 Status * mainStatus;
37 };
38
39 #endif // SETTINGS_H