From 8acfb3079398d1c1add0a7f32ef17b63efe27c71 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Fri, 18 Oct 2019 11:37:39 -0700 Subject: [PATCH] Use showIndicator property to set correct visibility in loader. This leads to correct spacing on all platforms. --- src/ui/toolbar/ArmedIndicator.qml | 2 ++ src/ui/toolbar/BatteryIndicator.qml | 2 ++ src/ui/toolbar/GPSIndicator.qml | 2 ++ src/ui/toolbar/GPSRTKIndicator.qml | 5 +++-- src/ui/toolbar/LinkIndicator.qml | 7 +++---- src/ui/toolbar/MainToolBarIndicators.qml | 4 +++- src/ui/toolbar/MessageIndicator.qml | 4 +++- src/ui/toolbar/ModeIndicator.qml | 2 ++ src/ui/toolbar/MultiVehicleSelector.qml | 3 ++- src/ui/toolbar/RCRSSIIndicator.qml | 4 +++- src/ui/toolbar/TelemetryRSSIIndicator.qml | 8 +++++--- src/ui/toolbar/VTOLModeIndicator.qml | 8 +++++--- 12 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/ui/toolbar/ArmedIndicator.qml b/src/ui/toolbar/ArmedIndicator.qml index 41e8a4fd1..2a970eeda 100644 --- a/src/ui/toolbar/ArmedIndicator.qml +++ b/src/ui/toolbar/ArmedIndicator.qml @@ -28,6 +28,8 @@ QGCComboBox { currentIndex: -1 sizeToContents: true + property bool showIndicator: true + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property bool _armed: _activeVehicle ? _activeVehicle.armed : false diff --git a/src/ui/toolbar/BatteryIndicator.qml b/src/ui/toolbar/BatteryIndicator.qml index 497e10096..dc480820f 100644 --- a/src/ui/toolbar/BatteryIndicator.qml +++ b/src/ui/toolbar/BatteryIndicator.qml @@ -24,6 +24,8 @@ Item { anchors.bottom: parent.bottom width: batteryIndicatorRow.width + property bool showIndicator: true + function getBatteryColor() { if(activeVehicle) { if(activeVehicle.battery.percentRemaining.value > 75) { diff --git a/src/ui/toolbar/GPSIndicator.qml b/src/ui/toolbar/GPSIndicator.qml index 020ea8c4b..d1dfc9ff6 100644 --- a/src/ui/toolbar/GPSIndicator.qml +++ b/src/ui/toolbar/GPSIndicator.qml @@ -24,6 +24,8 @@ Item { anchors.top: parent.top anchors.bottom: parent.bottom + property bool showIndicator: true + Component { id: gpsInfo diff --git a/src/ui/toolbar/GPSRTKIndicator.qml b/src/ui/toolbar/GPSRTKIndicator.qml index d67ae5d27..4f970a299 100644 --- a/src/ui/toolbar/GPSRTKIndicator.qml +++ b/src/ui/toolbar/GPSRTKIndicator.qml @@ -19,10 +19,11 @@ import QGroundControl.Palette 1.0 //-- GPS Indicator Item { id: _root - width: visible ? (gpsValuesColumn.x + gpsValuesColumn.width) * 1.1 : 0 + width: (gpsValuesColumn.x + gpsValuesColumn.width) * 1.1 anchors.top: parent.top anchors.bottom: parent.bottom - visible: QGroundControl.gpsRtk.connected.value + + property bool showIndicator: QGroundControl.gpsRtk.connected.value Component { id: gpsInfo diff --git a/src/ui/toolbar/LinkIndicator.qml b/src/ui/toolbar/LinkIndicator.qml index 01144f566..1dc64179e 100644 --- a/src/ui/toolbar/LinkIndicator.qml +++ b/src/ui/toolbar/LinkIndicator.qml @@ -23,10 +23,9 @@ import QGroundControl.Vehicle 1.0 Item { anchors.top: parent.top anchors.bottom: parent.bottom - width: visible ? priorityLinkSelector.width : 0 - visible: _visible + width: priorityLinkSelector.width - property bool _visible: false + property bool showIndicator: false QGCLabel { id: priorityLinkSelector @@ -66,7 +65,7 @@ Item { } } - _visible = links.length > 1 && has_hl + showIndicator = links.length > 1 && has_hl } } diff --git a/src/ui/toolbar/MainToolBarIndicators.qml b/src/ui/toolbar/MainToolBarIndicators.qml index 1e6845a62..cf1a12145 100644 --- a/src/ui/toolbar/MainToolBarIndicators.qml +++ b/src/ui/toolbar/MainToolBarIndicators.qml @@ -84,10 +84,12 @@ Item { Repeater { model: activeVehicle ? activeVehicle.toolBarIndicators : [] Loader { + id: indicatorLoader anchors.top: parent.top anchors.bottom: parent.bottom anchors.margins: ScreenTools.defaultFontPixelHeight * 0.66 - source: modelData; + source: modelData + visible: item.showIndicator } } } diff --git a/src/ui/toolbar/MessageIndicator.qml b/src/ui/toolbar/MessageIndicator.qml index eecf5087c..d9aaa2f12 100644 --- a/src/ui/toolbar/MessageIndicator.qml +++ b/src/ui/toolbar/MessageIndicator.qml @@ -25,7 +25,9 @@ Item { anchors.top: parent.top anchors.bottom: parent.bottom - property bool _isMessageImportant: activeVehicle ? !activeVehicle.messageTypeNormal && !activeVehicle.messageTypeNone : false + property bool showIndicator: true + + property bool _isMessageImportant: activeVehicle ? !activeVehicle.messageTypeNormal && !activeVehicle.messageTypeNone : false function getMessageColor() { if (activeVehicle) { diff --git a/src/ui/toolbar/ModeIndicator.qml b/src/ui/toolbar/ModeIndicator.qml index aaec9bb71..7371c94e6 100644 --- a/src/ui/toolbar/ModeIndicator.qml +++ b/src/ui/toolbar/ModeIndicator.qml @@ -28,6 +28,8 @@ QGCComboBox { currentIndex: -1 sizeToContents: true + property bool showIndicator: true + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var _flightModes: _activeVehicle ? _activeVehicle.flightModes : [ ] diff --git a/src/ui/toolbar/MultiVehicleSelector.qml b/src/ui/toolbar/MultiVehicleSelector.qml index 36b8e52bc..26eb6264f 100644 --- a/src/ui/toolbar/MultiVehicleSelector.qml +++ b/src/ui/toolbar/MultiVehicleSelector.qml @@ -26,7 +26,8 @@ QGCComboBox { currentIndex: -1 sizeToContents: true model: _vehicleModel - visible: _multipleVehicles + + property bool showIndicator: _multipleVehicles property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property bool _multipleVehicles: _activeVehicle ? QGroundControl.multiVehicleManager.vehicles.count > 1 : false diff --git a/src/ui/toolbar/RCRSSIIndicator.qml b/src/ui/toolbar/RCRSSIIndicator.qml index 7c80246a0..5b30db187 100644 --- a/src/ui/toolbar/RCRSSIIndicator.qml +++ b/src/ui/toolbar/RCRSSIIndicator.qml @@ -23,8 +23,10 @@ Item { width: rssiRow.width * 1.1 anchors.top: parent.top anchors.bottom: parent.bottom - visible: activeVehicle ? activeVehicle.supportsRadio : true + property bool showIndicator: _activeVehicle.supportsRadio + + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property bool _rcRSSIAvailable: activeVehicle ? activeVehicle.rcRSSI > 0 && activeVehicle.rcRSSI <= 100 : false Component { diff --git a/src/ui/toolbar/TelemetryRSSIIndicator.qml b/src/ui/toolbar/TelemetryRSSIIndicator.qml index c2aaf8c89..25aa74144 100644 --- a/src/ui/toolbar/TelemetryRSSIIndicator.qml +++ b/src/ui/toolbar/TelemetryRSSIIndicator.qml @@ -22,10 +22,12 @@ Item { id: _root anchors.top: parent.top anchors.bottom: parent.bottom - width: _hasTelemetry ? telemIcon.width * 1.1 : 0 - visible: _hasTelemetry + width: telemIcon.width * 1.1 - property bool _hasTelemetry: activeVehicle ? activeVehicle.telemetryLRSSI !== 0 : false + property bool showIndicator: _hasTelemetry + + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle + property bool _hasTelemetry: _activeVehicle ? _activeVehicle.telemetryLRSSI !== 0 : false Component { id: telemRSSIInfo diff --git a/src/ui/toolbar/VTOLModeIndicator.qml b/src/ui/toolbar/VTOLModeIndicator.qml index 2b0258fca..3c32b055b 100644 --- a/src/ui/toolbar/VTOLModeIndicator.qml +++ b/src/ui/toolbar/VTOLModeIndicator.qml @@ -26,10 +26,12 @@ QGCLabel { text: _fwdFlight ? qsTr("VTOL: Fixed Wing") : qsTr("VTOL: Multi-Rotor") font.pointSize: ScreenTools.mediumFontPointSize color: qgcPal.buttonText - visible: activeVehicle ? activeVehicle.vtol && activeVehicle.px4Firmware : false - width: visible ? implicitWidth : 0 + width: implicitWidth - property bool _fwdFlight: activeVehicle ? activeVehicle.vtolInFwdFlight : false + property bool showIndicator: _activeVehicle.vtol && _activeVehicle.px4Firmware + + property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle + property bool _fwdFlight: _activeVehicle.vtolInFwdFlight QGCMouseArea { fillItem: parent -- 2.22.0