Repository navigation
Expand file tree
/
Copy pathConfiguration.hpp
More file actions
137 lines (110 loc) · 5 KB
/
Copy pathConfiguration.hpp
File metadata and controls
137 lines (110 loc) · 5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
//
// Created by Raffaele Montella on 09/05/24.
//
#ifndef FAIRWINDSK_CONFIGURATION_HPP
#define FAIRWINDSK_CONFIGURATION_HPP
#include <QObject>
#include <QColor>
#include <QString>
#include <QSettings>
#include <nlohmann/json.hpp>
namespace fairwindsk {
class Configuration { //: QObject {
//Q_OBJECT
public:
Configuration();
Configuration(const Configuration &configuration);
explicit Configuration(const QString& filename);
~Configuration();
void setDefault();
nlohmann::json &getRoot();
void setRoot(const nlohmann::json &jsonData);
QString getVesselSpeedUnits();
QString getWindSpeedUnits();
QString getDistanceUnits();
QString getRangeUnits();
QString getDepthUnits();
QString getSignalKServerUrl();
void setSignalKServerUrl(const QString& signalKServerUrl);
QStringList getSignalKServerUrls() const;
void rememberSignalKServerUrl(const QString &signalKServerUrl);
bool getSignalKConnectionEnabled() const;
void setSignalKConnectionEnabled(bool enabled);
QString getSignalKPath(const QString &key) const;
static QString getToken();
static void setToken(const QString& token);
// Access tokens belong to the server that issued them.
static QString getToken(const QString &serverUrl);
static void setToken(const QString &token, const QString &serverUrl);
static void clearToken();
static QString settingsFilename();
QString getAutopilotApp();
QString getAnchorApp();
void setVirtualKeyboard(bool value);
bool getVirtualKeyboard();
void setLanguage(const QString &value);
QString getLanguage() const;
void setUiScaleMode(const QString &value);
QString getUiScaleMode() const;
void setUiScalePreset(const QString &value);
QString getUiScalePreset() const;
void setComfortViewMode(const QString &value);
QString getComfortViewMode() const;
void setComfortViewPreset(const QString &value);
QString getComfortViewPreset() const;
void setComfortThemeStyleSheet(const QString &preset, const QString &styleSheet);
QString getComfortThemeStyleSheet(const QString &preset) const;
void clearComfortThemeStyleSheet(const QString &preset);
void setComfortThemeColor(const QString &preset, const QString &key, const QColor &color);
QColor getComfortThemeColor(const QString &preset, const QString &key, const QColor &fallback = QColor()) const;
void clearComfortThemeColors(const QString &preset);
void setComfortBackgroundImagePath(const QString &preset, const QString &area, const QString &path);
QString getComfortBackgroundImagePath(const QString &preset, const QString &area) const;
void clearComfortBackgroundImagePath(const QString &preset, const QString &area);
void setLauncherRows(int value);
int getLauncherRows() const;
void setLauncherColumns(int value);
int getLauncherColumns() const;
void setCoordinateFormat(const QString &value);
QString getCoordinateFormat() const;
void setDiagnosticsLogLevel(const QString &value);
QString getDiagnosticsLogLevel() const;
void setPersistentMessageLogging(bool value);
bool getPersistentMessageLogging() const;
void setDiagnosticsInteractionHistory(bool value);
bool getDiagnosticsInteractionHistory() const;
void setDiagnosticsEmail(const QString &value);
QString getDiagnosticsEmail() const;
void setDiagnosticsSubject(const QString &value);
QString getDiagnosticsSubject() const;
void setWindowMode(QString value);
QString getWindowMode();
void setWindowWidth(int value);
int getWindowWidth();
void setWindowHeight(int value);
int getWindowHeight();
void setWindowLeft(int value);
int getWindowLeft();
void setWindowTop(int value);
int getWindowTop();
QString getAutopilot();
void setAutopilot(const QString& autopilot);
void setFilename(QString filename);
QString getFilename();
void save();
bool load();
void save(const QString& filename);
bool load(const QString& filename);
int findApp(const QString& name);
private:
nlohmann::json &ensureObject(const char *key);
QString getString(const char *section, const char *key, const QString &defaultValue = QString()) const;
QString getString(const char *section, const QString &key, const QString &defaultValue = QString()) const;
int getInt(const char *section, const char *key, int defaultValue = 0) const;
bool getBool(const char *section, const char *key, bool defaultValue = false) const;
nlohmann::json m_jsonData;
QString m_filename;
QString getUnits(const QString &units) const;
};
} // fairwindsk
#endif //FAIRWINDSK_CONFIGURATION_HPP