diff --git a/ChangeLog.md b/ChangeLog.md index af4c778a001cc7cc4ad1a4c7b19b8913c0ecb930..5c435e040748b4e0a7c40b7e401993aac813d7cf 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -16,6 +16,10 @@ Note: This file only contains high level features or important fixes. ## 4.0.8 - Not yet released +* Fix bug which could prevent view switching from working after altitude mode warning dialog would pop up + +## 4.0.8 - Stable + * iOS: Modify QGC file storage location to support new Files app * Mobile: Fix Log Replay status bar file selection diff --git a/src/FactSystem/FactControls/AltitudeFactTextField.qml b/src/FactSystem/FactControls/AltitudeFactTextField.qml index 5a22eca3ab45a66ff3f51860f25eab8c9ce2835c..f47f24da06627d30ce8e6318f1a2e9bd99781c8a 100644 --- a/src/FactSystem/FactControls/AltitudeFactTextField.qml +++ b/src/FactSystem/FactControls/AltitudeFactTextField.qml @@ -30,8 +30,7 @@ FactTextField { readonly property string _altModeAboveTerrainExtraUnits: qsTr("(Abv Terr)") readonly property string _altModeTerrainFrameExtraUnits: qsTr("(TerrF)") - property string _altitudeModeExtraUnits: _altModeNoneExtraUnits - property Fact _aboveTerrainWarning: QGroundControl.settingsManager.planViewSettings.aboveTerrainWarning + property string _altitudeModeExtraUnits: _altModeNoneExtraUnits onAltitudeModeChanged: updateAltitudeModeExtraUnits() @@ -45,9 +44,6 @@ FactTextField { _altitudeModeExtraUnits = _altModeAbsoluteExtraUnits } else if (altitudeMode === QGroundControl.AltitudeModeAboveTerrain) { _altitudeModeExtraUnits = _altModeAboveTerrainExtraUnits - if (!_aboveTerrainWarning.rawValue && showAboveTerrainWarning) { - mainWindow.showComponentDialog(aboveTerrainWarning, qsTr("Warning"), mainWindow.showDialogDefaultWidth, StandardButton.Ok) - } } else if (missionItem.altitudeMode === QGroundControl.AltitudeModeTerrainFrame) { _altitudeModeExtraUnits = _altModeTerrainFrameExtraUnits } else { @@ -55,26 +51,4 @@ FactTextField { _altitudeModeExtraUnits = "" } } - - Component { - id: aboveTerrainWarning - QGCViewDialog { - ColumnLayout { - anchors.left: parent.left - anchors.right: parent.right - spacing: ScreenTools.defaultFontPixelHeight - - QGCLabel { - Layout.fillWidth: true - wrapMode: Text.WordWrap - text: qsTr("'Above Terrain' will set an absolute altitude for the item based on the terrain height at the location and the requested altitude above terrain. It does not send terrain heights to the vehicle.") - } - - FactCheckBox { - text: qsTr("Don't show again") - fact: _aboveTerrainWarning - } - } - } - } } diff --git a/src/Settings/PlanView.SettingsGroup.json b/src/Settings/PlanView.SettingsGroup.json index d9eec048d11d768fc97c447b245fb52f8432d911..62ee48dcb7ba0c6ebccfc7eb5cc035e61dc544f1 100644 --- a/src/Settings/PlanView.SettingsGroup.json +++ b/src/Settings/PlanView.SettingsGroup.json @@ -9,12 +9,6 @@ "type": "bool", "defaultValue": false }, -{ - "name": "aboveTerrainWarning", - "shortDescription": "Don't warn user about 'Above Terrain' usage", - "type": "bool", - "defaultValue": false -}, { "name": "showMissionItemStatus", "shortDescription": "Show/Hide the mission item status display", diff --git a/src/Settings/PlanViewSettings.cc b/src/Settings/PlanViewSettings.cc index 015ce7a80816f39f9da82915e5c01ea0d9213eb9..00eb1f3c3fe5f76b822b63c8d73748b8d3f8d93b 100644 --- a/src/Settings/PlanViewSettings.cc +++ b/src/Settings/PlanViewSettings.cc @@ -18,7 +18,6 @@ DECLARE_SETTINGGROUP(PlanView, "PlanView") } DECLARE_SETTINGSFACT(PlanViewSettings, displayPresetsTabFirst) -DECLARE_SETTINGSFACT(PlanViewSettings, aboveTerrainWarning) DECLARE_SETTINGSFACT(PlanViewSettings, showMissionItemStatus) DECLARE_SETTINGSFACT(PlanViewSettings, useConditionGate) DECLARE_SETTINGSFACT(PlanViewSettings, takeoffItemNotRequired) diff --git a/src/Settings/PlanViewSettings.h b/src/Settings/PlanViewSettings.h index e00637f5494d8812219826efc7722f0b52f8dd59..7e42f46cc52e3be8edf1391a8bde1d8ff9632129 100644 --- a/src/Settings/PlanViewSettings.h +++ b/src/Settings/PlanViewSettings.h @@ -21,7 +21,6 @@ public: // Most individual settings related to PlanView are still in AppSettings due to historical reasons. DEFINE_SETTINGFACT(displayPresetsTabFirst) - DEFINE_SETTINGFACT(aboveTerrainWarning) DEFINE_SETTINGFACT(showMissionItemStatus) DEFINE_SETTINGFACT(useConditionGate) DEFINE_SETTINGFACT(takeoffItemNotRequired) diff --git a/src/ui/MainRootWindow.qml b/src/ui/MainRootWindow.qml index 75f723b20541f149a25fa14ea3dce5a73117e96c..96010ba3fa4900d171e5335ee2ea2699a3377ed6 100644 --- a/src/ui/MainRootWindow.qml +++ b/src/ui/MainRootWindow.qml @@ -196,6 +196,10 @@ ApplicationWindow { readonly property int showDialogDefaultWidth: 40 ///< Use for default dialog width function showComponentDialog(component, title, charWidth, buttons) { + if (mainWindowDialog.visible) { + console.warn(("showComponentDialog called while dialog is already visible")) + return + } var dialogWidth = charWidth === showDialogFullWidth ? mainWindow.width : ScreenTools.defaultFontPixelWidth * charWidth mainWindowDialog.width = dialogWidth mainWindowDialog.dialogComponent = component