From 7ea3296d8fe6436feef84ddabec1922883496de2 Mon Sep 17 00:00:00 2001 From: acfloria Date: Wed, 7 Feb 2018 14:46:22 +0100 Subject: [PATCH] Add AdvancedLinkSettings fact to the general app settings This setting enables/disables the LinkIndicator toolbar in which the primary link can be chosen. --- src/Settings/App.SettingsGroup.json | 7 +++++++ src/Settings/AppSettings.cc | 10 ++++++++++ src/Settings/AppSettings.h | 4 ++++ src/ui/preferences/GeneralSettings.qml | 10 ++++++++++ src/ui/toolbar/LinkIndicator.qml | 1 + 5 files changed, 32 insertions(+) diff --git a/src/Settings/App.SettingsGroup.json b/src/Settings/App.SettingsGroup.json index 32d51f2bb..32906073b 100644 --- a/src/Settings/App.SettingsGroup.json +++ b/src/Settings/App.SettingsGroup.json @@ -124,6 +124,13 @@ "type": "bool", "defaultValue": false }, +{ + "name": "AdvancedLinkSettings", + "shortDescription": "Allow advanced link settings.", + "longDescription": "Allow the user to pick the priority link and adding the high latency property to a link.", + "type": "bool", + "defaultValue": false +}, { "name": "BaseDeviceFontPointSize", "shortDescription": "Application font size", diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index 264181c8f..2ed822a64 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -34,6 +34,7 @@ const char* AppSettings::showLargeCompassName = "ShowLar const char* AppSettings::savePathName = "SavePath"; const char* AppSettings::autoLoadMissionsName = "AutoLoadMissions"; const char* AppSettings::useChecklistName = "UseChecklist"; +const char* AppSettings::advancedLinkSettingsName = "AdvancedLinkSettings"; const char* AppSettings::mapboxTokenName = "MapboxToken"; const char* AppSettings::esriTokenName = "EsriToken"; const char* AppSettings::defaultFirmwareTypeName = "DefaultFirmwareType"; @@ -367,6 +368,15 @@ Fact* AppSettings::autoLoadMissions(void) return _autoLoadMissionsFact; } +Fact* AppSettings::advancedLinkSettings(void) +{ + if (!_advancedLinkSettingsFact) { + _advancedLinkSettingsFact = _createSettingsFact(advancedLinkSettingsName); + } + + return _advancedLinkSettingsFact; +} + Fact* AppSettings::mapboxToken(void) { if (!_mapboxTokenFact) { diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h index 3b7b88fa6..bf260f386 100644 --- a/src/Settings/AppSettings.h +++ b/src/Settings/AppSettings.h @@ -38,6 +38,7 @@ public: Q_PROPERTY(Fact* savePath READ savePath CONSTANT) Q_PROPERTY(Fact* autoLoadMissions READ autoLoadMissions CONSTANT) Q_PROPERTY(Fact* useChecklist READ useChecklist CONSTANT) + Q_PROPERTY(Fact* advancedLinkSettings READ advancedLinkSettings CONSTANT) Q_PROPERTY(Fact* mapboxToken READ mapboxToken CONSTANT) Q_PROPERTY(Fact* esriToken READ esriToken CONSTANT) Q_PROPERTY(Fact* defaultFirmwareType READ defaultFirmwareType CONSTANT) @@ -77,6 +78,7 @@ public: Fact* savePath (void); Fact* autoLoadMissions (void); Fact* useChecklist (void); + Fact* advancedLinkSettings (void); Fact* mapboxToken (void); Fact* esriToken (void); Fact* defaultFirmwareType (void); @@ -113,6 +115,7 @@ public: static const char* savePathName; static const char* autoLoadMissionsName; static const char* useChecklistName; + static const char* advancedLinkSettingsName; static const char* mapboxTokenName; static const char* esriTokenName; static const char* defaultFirmwareTypeName; @@ -164,6 +167,7 @@ private: SettingsFact* _savePathFact; SettingsFact* _autoLoadMissionsFact; SettingsFact* _useChecklistFact; + SettingsFact* _advancedLinkSettingsFact; SettingsFact* _mapboxTokenFact; SettingsFact* _esriTokenFact; SettingsFact* _defaultFirmwareTypeFact; diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index 70aa6cb08..98fc7962b 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -378,6 +378,16 @@ QGCView { property Fact _autoLoad: QGroundControl.settingsManager.appSettings.autoLoadMissions } + //----------------------------------------------------------------- + //-- Advanced Link Settings + FactCheckBox { + text: qsTr("Advanced Link Settings") + fact: _advancedLinkSettings + visible: _advancedLinkSettings.visible + + property Fact _advancedLinkSettings: QGroundControl.settingsManager.appSettings.advancedLinkSettings + } + //----------------------------------------------------------------- //-- Save path RowLayout { diff --git a/src/ui/toolbar/LinkIndicator.qml b/src/ui/toolbar/LinkIndicator.qml index 3c12b52fb..db5b1fcbd 100644 --- a/src/ui/toolbar/LinkIndicator.qml +++ b/src/ui/toolbar/LinkIndicator.qml @@ -32,6 +32,7 @@ Item { font.pointSize: ScreenTools.mediumFontPointSize color: qgcPal.buttonText anchors.verticalCenter: parent.verticalCenter + visible: QGroundControl.settingsManager.appSettings.advancedLinkSettings.rawValue Menu { id: linkSelectionMenu } -- 2.22.0