Support multiple graphs
[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 Q_INVOKABLE QString getImageDir() const;
23 Q_INVOKABLE QString getImageUrl(const QString &id) const;
24
25 void loadSettings();
26 void saveSettings();
27
28 void setMainStatus(Status & value);
29 signals:
30
31 public slots:
32
33 private:
34 static Settings * instance;
35 QSettings settings;
36 double pixelRatio;
37 QString imageDir;
38
39 // Configurable values
40 Status * mainStatus;
41 };
42
43 #endif // SETTINGS_H