Newer
Older
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
/****************************************************************************
*
* (c) 2009-2019 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
* @brief Custom QGCCorePlugin Declaration
* @author Gus Grubba <gus@auterion.com>
*/
#pragma once
#include "QGCCorePlugin.h"
#include "QGCOptions.h"
#include "QGCLoggingCategory.h"
#include "SettingsManager.h"
#include <QTranslator>
class CustomOptions;
class CustomPlugin;
class CustomSettings;
Q_DECLARE_LOGGING_CATEGORY(CustomLog)
class CustomFlyViewOptions : public QGCFlyViewOptions
{
public:
CustomFlyViewOptions(CustomOptions* options, QObject* parent = nullptr);
// Overrides from CustomFlyViewOptions
bool showInstrumentPanel (void) const final;
bool showMultiVehicleList (void) const final;
};
class CustomOptions : public QGCOptions
{
public:
CustomOptions(CustomPlugin*, QObject* parent = nullptr);
// Overrides from QGCOptions
bool wifiReliableForCalibration (void) const final;
bool showFirmwareUpgrade (void) const final;
QGCFlyViewOptions* flyViewOptions(void) final;
private:
CustomFlyViewOptions* _flyViewOptions = nullptr;
};
class CustomPlugin : public QGCCorePlugin
{
Q_OBJECT
public:
CustomPlugin(QGCApplication* app, QGCToolbox *toolbox);
~CustomPlugin();
// Overrides from QGCCorePlugin
QVariantList& settingsPages (void) final;
QGCOptions* options (void) final;
QString brandImageIndoor (void) const final;
QString brandImageOutdoor (void) const final;
bool overrideSettingsGroupVisibility (QString name) final;
bool adjustSettingMetaData (const QString& settingsGroup, FactMetaData& metaData) final;
void paletteOverride (QString colorName, QGCPalette::PaletteColorInfo_t& colorInfo) final;
QQmlApplicationEngine* createQmlApplicationEngine (QObject* parent) final;
// Overrides from QGCTool
void setToolbox (QGCToolbox* toolbox);
private slots:
void _advancedChanged(bool advanced);
private:
void _addSettingsEntry(const QString& title, const char* qmlFile, const char* iconFile = nullptr);
private:
CustomOptions* _options = nullptr;
QVariantList _customSettingsList; // Not to be mixed up with QGCCorePlugin implementation
};