From 5b9a695fd8b8cf77b92c9bccf9b0f7b7c1a5606b Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 24 Dec 2019 13:00:10 -0800 Subject: [PATCH 1/3] Fix showPanel calls --- src/VehicleSetup/SetupView.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/VehicleSetup/SetupView.qml b/src/VehicleSetup/SetupView.qml index 4719e8e..6c13a47 100644 --- a/src/VehicleSetup/SetupView.qml +++ b/src/VehicleSetup/SetupView.qml @@ -257,7 +257,7 @@ Rectangle { setupIndicator: false text: qsTr("PX4Flow") Layout.fillWidth: true - onClicked: showPX4FlowPanel(this, "PX4FlowSensor.qml") + onClicked: showPanel(this, "PX4FlowSensor.qml") } SubMenuButton { @@ -268,7 +268,7 @@ Rectangle { visible: _fullParameterVehicleAvailable && joystickManager.joysticks.length !== 0 text: qsTr("Joystick") Layout.fillWidth: true - onClicked: showJoystickPanel(this, "JoystickConfig.qml") + onClicked: showPanel(this, "JoystickConfig.qml") } Repeater { From 4e73805ed9c12aa4c0fe274921d10f350641f546 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 24 Dec 2019 13:00:24 -0800 Subject: [PATCH 2/3] Allow reset all to default for any firmware --- src/QmlControls/ParameterEditor.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/QmlControls/ParameterEditor.qml b/src/QmlControls/ParameterEditor.qml index 4095eb1..d62d760 100644 --- a/src/QmlControls/ParameterEditor.qml +++ b/src/QmlControls/ParameterEditor.qml @@ -107,7 +107,6 @@ Item { } QGCMenuItem { text: qsTr("Reset all to firmware's defaults") - visible: !activeVehicle.apmFirmware onTriggered: mainWindow.showComponentDialog(resetToDefaultConfirmComponent, qsTr("Reset All"), mainWindow.showDialogDefaultWidth, StandardButton.Cancel | StandardButton.Reset) } QGCMenuItem { From b308d72db79ffd191151559873e199cd98bbb16e Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 24 Dec 2019 13:00:36 -0800 Subject: [PATCH 3/3] Support Keep map centered on vehicle --- src/FlightDisplay/FlightDisplayViewMap.qml | 10 +++++++++- src/Settings/FlyView.SettingsGroup.json | 6 ++++++ src/Settings/FlyViewSettings.cc | 1 + src/Settings/FlyViewSettings.h | 1 + src/ui/preferences/GeneralSettings.qml | 8 ++++++++ 5 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml index 214d090..92bf418 100644 --- a/src/FlightDisplay/FlightDisplayViewMap.qml +++ b/src/FlightDisplay/FlightDisplayViewMap.qml @@ -48,6 +48,8 @@ FlightMap { property var _activeVehicleCoordinate: activeVehicle ? activeVehicle.coordinate : QtPositioning.coordinate() property real _toolButtonTopMargin: parent.height - mainWindow.height + (ScreenTools.defaultFontPixelHeight / 2) property bool _airspaceEnabled: QGroundControl.airmapSupported ? (QGroundControl.settingsManager.airMapSettings.enableAirMap.rawValue && QGroundControl.airspaceManager.connected): false + property var _flyViewSettings: QGroundControl.settingsManager.flyViewSettings + property bool _keepMapCenteredOnVehicle: _flyViewSettings.keepMapCenteredOnVehicle.rawValue property bool _disableVehicleTracking: false property bool _keepVehicleCentered: mainIsMap ? false : true @@ -129,7 +131,7 @@ FlightMap { function updateMapToVehiclePosition() { // We let FlightMap handle first vehicle position - if (firstVehiclePositionReceived && _activeVehicleCoordinate.isValid && !_disableVehicleTracking) { + if (!_keepMapCenteredOnVehicle && firstVehiclePositionReceived && _activeVehicleCoordinate.isValid && !_disableVehicleTracking) { if (_keepVehicleCentered) { flightMap.center = _activeVehicleCoordinate } else { @@ -140,6 +142,12 @@ FlightMap { } } + on_ActiveVehicleCoordinateChanged: { + if (_keepMapCenteredOnVehicle && _activeVehicleCoordinate.isValid && !_disableVehicleTracking) { + flightMap.center = _activeVehicleCoordinate + } + } + Timer { id: panRecenterTimer interval: 10000 diff --git a/src/Settings/FlyView.SettingsGroup.json b/src/Settings/FlyView.SettingsGroup.json index 085ed88..118f6ca 100644 --- a/src/Settings/FlyView.SettingsGroup.json +++ b/src/Settings/FlyView.SettingsGroup.json @@ -38,6 +38,12 @@ "defaultValue": false }, { + "name": "keepMapCenteredOnVehicle", + "shortDescription": "Keep map centered on vehicle", + "type": "bool", + "defaultValue": false +}, +{ "name": "maxGoToLocationDistance", "shortDescription": "Maximum distance allowed for Go To Location.", "type": "double", diff --git a/src/Settings/FlyViewSettings.cc b/src/Settings/FlyViewSettings.cc index 867cf2b..5099acf 100644 --- a/src/Settings/FlyViewSettings.cc +++ b/src/Settings/FlyViewSettings.cc @@ -24,3 +24,4 @@ DECLARE_SETTINGSFACT(FlyViewSettings, alternateInstrumentPanel) DECLARE_SETTINGSFACT(FlyViewSettings, showAdditionalIndicatorsCompass) DECLARE_SETTINGSFACT(FlyViewSettings, lockNoseUpCompass) DECLARE_SETTINGSFACT(FlyViewSettings, maxGoToLocationDistance) +DECLARE_SETTINGSFACT(FlyViewSettings, keepMapCenteredOnVehicle) diff --git a/src/Settings/FlyViewSettings.h b/src/Settings/FlyViewSettings.h index 1623406..167a42c 100644 --- a/src/Settings/FlyViewSettings.h +++ b/src/Settings/FlyViewSettings.h @@ -26,4 +26,5 @@ public: DEFINE_SETTINGFACT(showAdditionalIndicatorsCompass) DEFINE_SETTINGFACT(lockNoseUpCompass) DEFINE_SETTINGFACT(maxGoToLocationDistance) + DEFINE_SETTINGFACT(keepMapCenteredOnVehicle) }; diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index 7c7552f..4baed9d 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -469,6 +469,14 @@ Rectangle { } FactCheckBox { + text: qsTr("Keep Map Centered On Vehicle") + fact: _keepMapCenteredOnVehicle + visible: _keepMapCenteredOnVehicle.visible + + property Fact _keepMapCenteredOnVehicle: QGroundControl.settingsManager.flyViewSettings.keepMapCenteredOnVehicle + } + + FactCheckBox { text: qsTr("Show Telemetry Log Replay Status Bar") fact: _showLogReplayStatusBar visible: _showLogReplayStatusBar.visible