QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
AppSettings.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtQmlIntegration/QtQmlIntegration>
4
5#include "SettingsGroup.h"
6
10{
11 Q_OBJECT
12 QML_ELEMENT
13 QML_UNCREATABLE("")
14public:
15 AppSettings(QObject* parent = nullptr);
16
18
19 DEFINE_SETTINGFACT(preferredFirmwareClass)
20 DEFINE_SETTINGFACT(preferredVehicleClass)
21 DEFINE_SETTINGFACT(offlineEditingFirmwareClass)
22 DEFINE_SETTINGFACT(offlineEditingVehicleClass)
23 DEFINE_SETTINGFACT(offlineEditingCruiseSpeed)
24 DEFINE_SETTINGFACT(offlineEditingHoverSpeed)
25 DEFINE_SETTINGFACT(offlineEditingAscentSpeed)
26 DEFINE_SETTINGFACT(offlineEditingDescentSpeed)
27 DEFINE_SETTINGFACT(batteryPercentRemainingAnnounce) // Important: This is only used to calculate battery swaps
28 DEFINE_SETTINGFACT(defaultMissionItemAltitude)
29 DEFINE_SETTINGFACT(audioMuted)
30 DEFINE_SETTINGFACT(audioVolume)
31 DEFINE_SETTINGFACT(virtualJoystick)
32 DEFINE_SETTINGFACT(virtualJoystickAutoCenterThrottle)
33 DEFINE_SETTINGFACT(virtualJoystickLeftHandedMode)
34 DEFINE_SETTINGFACT(uiScalePercent)
35 DEFINE_SETTINGFACT(indoorPalette)
36 DEFINE_SETTINGFACT(savePath)
37 DEFINE_SETTINGFACT(androidDontSaveToSDCard)
38 DEFINE_SETTINGFACT(androidUsePosixSerial)
39 DEFINE_SETTINGFACT(useChecklist)
40 DEFINE_SETTINGFACT(enforceChecklist)
41 DEFINE_SETTINGFACT(enableMultiVehiclePanel)
42 DEFINE_SETTINGFACT(tiandituToken)
43 DEFINE_SETTINGFACT(mapboxToken)
44 DEFINE_SETTINGFACT(mapboxAccount)
45 DEFINE_SETTINGFACT(mapboxStyle)
46 DEFINE_SETTINGFACT(esriToken)
47 DEFINE_SETTINGFACT(customURL)
48 DEFINE_SETTINGFACT(vworldToken)
49 DEFINE_SETTINGFACT(openaipToken)
50 DEFINE_SETTINGFACT(gstDebugLevel)
51 DEFINE_SETTINGFACT(followTarget)
52 DEFINE_SETTINGFACT(qLocaleLanguage)
53 DEFINE_SETTINGFACT(clearSettingsNextBoot)
54 DEFINE_SETTINGFACT(disableAllPersistence)
55 DEFINE_SETTINGFACT(firstRunPromptIdsShown)
56 DEFINE_SETTINGFACT(lastNotifiedStableVersion)
57 DEFINE_SETTINGFACT(favoriteParameters)
58 DEFINE_SETTINGFACT(showAppLogTimestampAsElapsedTime)
59
60 // QSettings key for clearSettingsNextBoot. Accessed directly by QGCApplication
61 // at startup before SettingsManager is initialized.
62 static constexpr const char *clearSettingsNextBootKey = "clearSettingsNextBoot";
63
64 Q_PROPERTY(QString missionSavePath READ missionSavePath NOTIFY savePathsChanged)
65 Q_PROPERTY(QString parameterSavePath READ parameterSavePath NOTIFY savePathsChanged)
66 Q_PROPERTY(QString telemetrySavePath READ telemetrySavePath NOTIFY savePathsChanged)
67 Q_PROPERTY(QString logSavePath READ logSavePath NOTIFY savePathsChanged)
68 Q_PROPERTY(QString videoSavePath READ videoSavePath NOTIFY savePathsChanged)
69 Q_PROPERTY(QString photoSavePath READ photoSavePath NOTIFY savePathsChanged)
70 Q_PROPERTY(QString crashSavePath READ crashSavePath NOTIFY savePathsChanged)
72 Q_PROPERTY(QString settingsSavePath READ settingsSavePath NOTIFY savePathsChanged)
73
74 Q_PROPERTY(QString planFileExtension MEMBER planFileExtension CONSTANT)
75 Q_PROPERTY(QString waypointsFileExtension MEMBER waypointsFileExtension CONSTANT)
76 Q_PROPERTY(QString parameterFileExtension MEMBER parameterFileExtension CONSTANT)
77 Q_PROPERTY(QString telemetryFileExtension MEMBER telemetryFileExtension CONSTANT)
78 Q_PROPERTY(QString kmlFileExtension MEMBER kmlFileExtension CONSTANT)
79 Q_PROPERTY(QString shpFileExtension MEMBER shpFileExtension CONSTANT)
80 Q_PROPERTY(QString logFileExtension MEMBER logFileExtension CONSTANT)
81 Q_PROPERTY(QString tilesetFileExtension MEMBER tilesetFileExtension CONSTANT)
82 Q_PROPERTY(QString settingsFileExtension MEMBER settingsFileExtension CONSTANT)
83
84
85 QString missionSavePath ();
86 QString parameterSavePath ();
87 QString telemetrySavePath ();
88 QString logSavePath ();
89 QString videoSavePath ();
90 QString photoSavePath ();
91 QString crashSavePath ();
92 QString mavlinkActionsSavePath();
93 QString settingsSavePath ();
94
95 // Helper methods for working with firstRunPromptIds QVariant settings string list
96 static QList<int> firstRunPromptsIdsVariantToList (const QVariant& firstRunPromptIds);
97 static QVariant firstRunPromptsIdsListToVariant (const QList<int>& rgIds);
98 Q_INVOKABLE void firstRunPromptIdsMarkIdAsShown (int id);
99
100 // Application wide file extensions
101 static constexpr const char* parameterFileExtension = "params";
102 static constexpr const char* planFileExtension = "plan";
103 static constexpr const char* waypointsFileExtension = "waypoints";
104 static constexpr const char* telemetryFileExtension = "tlog";
105 static constexpr const char* kmlFileExtension = "kml";
106 static constexpr const char* shpFileExtension = "shp";
107 static constexpr const char* logFileExtension = "ulg";
108 static constexpr const char* tilesetFileExtension = "qgctiledb";
109 static constexpr const char* settingsFileExtension = "settings";
110
111 // Child directories of savePath for specific file types
112 static constexpr const char* parameterDirectory = QT_TRANSLATE_NOOP("AppSettings", "Parameters");
113 static constexpr const char* telemetryDirectory = QT_TRANSLATE_NOOP("AppSettings", "Telemetry");
114 static constexpr const char* missionDirectory = QT_TRANSLATE_NOOP("AppSettings", "Missions");
115 static constexpr const char* logDirectory = QT_TRANSLATE_NOOP("AppSettings", "Logs");
116 static constexpr const char* videoDirectory = QT_TRANSLATE_NOOP("AppSettings", "Video");
117 static constexpr const char* photoDirectory = QT_TRANSLATE_NOOP("AppSettings", "Photo");
118 static constexpr const char* crashDirectory = QT_TRANSLATE_NOOP("AppSettings", "CrashLogs");
119 static constexpr const char* mavlinkActionsDirectory = QT_TRANSLATE_NOOP("AppSettings", "MavlinkActions");
120 static constexpr const char* settingsDirectory = QT_TRANSLATE_NOOP("AppSettings", "Settings");
121
122signals:
124
125private slots:
126 void _indoorPaletteChanged();
127 void _checkSavePathDirectories();
128 void _qLocaleLanguageChanged();
129
130private:
131 static QLocale::Language _qLocaleLanguageEarlyAccess(void);
132
133 static QList<QLocale::Language> _rgReleaseLanguages;
134 static QList<QLocale::Language> _rgPartialLanguages;
135
136 QString _childSavePath(const char* directory);
137
138 typedef struct {
139 QLocale::Language languageId;
140 const char* languageName;
141 } LanguageInfo_t;
142 static LanguageInfo_t _rgLanguageInfo[];
143
144 friend class QGCApplication;
145};
#define DEFINE_SETTING_NAME_GROUP()
#define DEFINE_SETTINGFACT(NAME)
Application Settings.
Definition AppSettings.h:10
static QVariant firstRunPromptsIdsListToVariant(const QList< int > &rgIds)
static constexpr const char * planFileExtension
QString videoSavePath()
static constexpr const char * logFileExtension
QString logSavePath()
QString telemetrySavePath()
QString crashSavePath()
static constexpr const char * settingsDirectory
QString parameterSavePath()
static constexpr const char * photoDirectory
AppSettings(QObject *parent=nullptr)
static constexpr const char * telemetryDirectory
Q_INVOKABLE void firstRunPromptIdsMarkIdAsShown(int id)
static constexpr const char * parameterFileExtension
static constexpr const char * logDirectory
static constexpr const char * telemetryFileExtension
void savePathsChanged()
QString settingsSavePath()
static constexpr const char * tilesetFileExtension
static constexpr const char * kmlFileExtension
static constexpr const char * videoDirectory
static QList< int > firstRunPromptsIdsVariantToList(const QVariant &firstRunPromptIds)
static constexpr const char * settingsFileExtension
static constexpr const char * shpFileExtension
static constexpr const char * waypointsFileExtension
static constexpr const char * missionDirectory
static constexpr const char * mavlinkActionsDirectory
static constexpr const char * clearSettingsNextBootKey
Definition AppSettings.h:62
QString photoSavePath()
QString missionSavePath()
static constexpr const char * crashDirectory
QString mavlinkActionsSavePath()
static constexpr const char * parameterDirectory
The main application and management class.
Provides access to group of settings.