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(useChecklist)
39 DEFINE_SETTINGFACT(enforceChecklist)
40 DEFINE_SETTINGFACT(enableMultiVehiclePanel)
41 DEFINE_SETTINGFACT(tiandituToken)
42 DEFINE_SETTINGFACT(mapboxToken)
43 DEFINE_SETTINGFACT(mapboxAccount)
44 DEFINE_SETTINGFACT(mapboxStyle)
45 DEFINE_SETTINGFACT(esriToken)
46 DEFINE_SETTINGFACT(customURL)
47 DEFINE_SETTINGFACT(vworldToken)
48 DEFINE_SETTINGFACT(openaipToken)
49 DEFINE_SETTINGFACT(gstDebugLevel)
50 DEFINE_SETTINGFACT(followTarget)
51 DEFINE_SETTINGFACT(qLocaleLanguage)
52 DEFINE_SETTINGFACT(clearSettingsNextBoot)
53 DEFINE_SETTINGFACT(disableAllPersistence)
54 DEFINE_SETTINGFACT(firstRunPromptIdsShown)
55 DEFINE_SETTINGFACT(favoriteParameters)
56 DEFINE_SETTINGFACT(remoteLoggingEnabled)
57 DEFINE_SETTINGFACT(remoteLoggingHost)
58 DEFINE_SETTINGFACT(remoteLoggingPort)
59 DEFINE_SETTINGFACT(remoteLoggingProtocol)
60 DEFINE_SETTINGFACT(remoteLoggingVehicleId)
61 DEFINE_SETTINGFACT(remoteLoggingTlsEnabled)
62 DEFINE_SETTINGFACT(remoteLoggingTlsVerifyPeer)
63 DEFINE_SETTINGFACT(remoteLoggingCompressionEnabled)
64 DEFINE_SETTINGFACT(remoteLoggingCompressionLevel)
65
66 // QSettings key for clearSettingsNextBoot. Accessed directly by QGCApplication
67 // at startup before SettingsManager is initialized.
68 static constexpr const char *clearSettingsNextBootKey = "clearSettingsNextBoot";
69
70 Q_PROPERTY(QString missionSavePath READ missionSavePath NOTIFY savePathsChanged)
71 Q_PROPERTY(QString parameterSavePath READ parameterSavePath NOTIFY savePathsChanged)
72 Q_PROPERTY(QString telemetrySavePath READ telemetrySavePath NOTIFY savePathsChanged)
73 Q_PROPERTY(QString logSavePath READ logSavePath NOTIFY savePathsChanged)
74 Q_PROPERTY(QString videoSavePath READ videoSavePath NOTIFY savePathsChanged)
75 Q_PROPERTY(QString photoSavePath READ photoSavePath NOTIFY savePathsChanged)
76 Q_PROPERTY(QString crashSavePath READ crashSavePath NOTIFY savePathsChanged)
78 Q_PROPERTY(QString settingsSavePath READ settingsSavePath NOTIFY savePathsChanged)
79
80 Q_PROPERTY(QString planFileExtension MEMBER planFileExtension CONSTANT)
81 Q_PROPERTY(QString waypointsFileExtension MEMBER waypointsFileExtension CONSTANT)
82 Q_PROPERTY(QString parameterFileExtension MEMBER parameterFileExtension CONSTANT)
83 Q_PROPERTY(QString telemetryFileExtension MEMBER telemetryFileExtension CONSTANT)
84 Q_PROPERTY(QString kmlFileExtension MEMBER kmlFileExtension CONSTANT)
85 Q_PROPERTY(QString shpFileExtension MEMBER shpFileExtension CONSTANT)
86 Q_PROPERTY(QString logFileExtension MEMBER logFileExtension CONSTANT)
87 Q_PROPERTY(QString tilesetFileExtension MEMBER tilesetFileExtension CONSTANT)
88 Q_PROPERTY(QString settingsFileExtension MEMBER settingsFileExtension CONSTANT)
89
90
91 QString missionSavePath ();
92 QString parameterSavePath ();
93 QString telemetrySavePath ();
94 QString logSavePath ();
95 QString videoSavePath ();
96 QString photoSavePath ();
97 QString crashSavePath ();
98 QString mavlinkActionsSavePath();
99 QString settingsSavePath ();
100
101 // Helper methods for working with firstRunPromptIds QVariant settings string list
102 static QList<int> firstRunPromptsIdsVariantToList (const QVariant& firstRunPromptIds);
103 static QVariant firstRunPromptsIdsListToVariant (const QList<int>& rgIds);
104 Q_INVOKABLE void firstRunPromptIdsMarkIdAsShown (int id);
105
106 // Application wide file extensions
107 static constexpr const char* parameterFileExtension = "params";
108 static constexpr const char* planFileExtension = "plan";
109 static constexpr const char* waypointsFileExtension = "waypoints";
110 static constexpr const char* telemetryFileExtension = "tlog";
111 static constexpr const char* kmlFileExtension = "kml";
112 static constexpr const char* shpFileExtension = "shp";
113 static constexpr const char* logFileExtension = "ulg";
114 static constexpr const char* tilesetFileExtension = "qgctiledb";
115 static constexpr const char* settingsFileExtension = "settings";
116
117 // Child directories of savePath for specific file types
118 static constexpr const char* parameterDirectory = QT_TRANSLATE_NOOP("AppSettings", "Parameters");
119 static constexpr const char* telemetryDirectory = QT_TRANSLATE_NOOP("AppSettings", "Telemetry");
120 static constexpr const char* missionDirectory = QT_TRANSLATE_NOOP("AppSettings", "Missions");
121 static constexpr const char* logDirectory = QT_TRANSLATE_NOOP("AppSettings", "Logs");
122 static constexpr const char* videoDirectory = QT_TRANSLATE_NOOP("AppSettings", "Video");
123 static constexpr const char* photoDirectory = QT_TRANSLATE_NOOP("AppSettings", "Photo");
124 static constexpr const char* crashDirectory = QT_TRANSLATE_NOOP("AppSettings", "CrashLogs");
125 static constexpr const char* mavlinkActionsDirectory = QT_TRANSLATE_NOOP("AppSettings", "MavlinkActions");
126 static constexpr const char* settingsDirectory = QT_TRANSLATE_NOOP("AppSettings", "Settings");
127
128signals:
130
131private slots:
132 void _indoorPaletteChanged();
133 void _checkSavePathDirectories();
134 void _qLocaleLanguageChanged();
135
136private:
137 static QLocale::Language _qLocaleLanguageEarlyAccess(void);
138
139 static QList<QLocale::Language> _rgReleaseLanguages;
140 static QList<QLocale::Language> _rgPartialLanguages;
141
142 QString _childSavePath(const char* directory);
143
144 typedef struct {
145 QLocale::Language languageId;
146 const char* languageName;
147 } LanguageInfo_t;
148 static LanguageInfo_t _rgLanguageInfo[];
149
150 friend class QGCApplication;
151};
#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:68
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.