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