From 4ed2abd8d88d600ef52dbebe71593397074ca583 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Thu, 25 Feb 2021 11:04:33 -0800 Subject: [PATCH] Sensor Status: Correct sizing, flickable --- src/ui/toolbar/MainStatusIndicator.qml | 89 +++++++++++++++++++--------------- 1 file changed, 49 insertions(+), 40 deletions(-) diff --git a/src/ui/toolbar/MainStatusIndicator.qml b/src/ui/toolbar/MainStatusIndicator.qml index 3efa63d..67fbd81 100644 --- a/src/ui/toolbar/MainStatusIndicator.qml +++ b/src/ui/toolbar/MainStatusIndicator.qml @@ -147,67 +147,76 @@ RowLayout { id: sensorStatusInfoComponent Rectangle { - width: mainLayout.width + (_margins * 2) - height: mainLayout.height + (_margins * 2) + width: flickable.width + (_margins * 2) + height: flickable.height + (_margins * 2) radius: ScreenTools.defaultFontPixelHeight * 0.5 color: qgcPal.window border.color: qgcPal.text - ColumnLayout { - id: mainLayout + QGCFlickable { + id: flickable anchors.margins: _margins anchors.top: parent.top anchors.left: parent.left - spacing: _spacing + width: mainLayout.width + height: mainWindow.contentItem.height - (indicatorPopup.padding * 2) - (_margins * 2) + flickableDirection: Flickable.VerticalFlick + contentHeight: mainLayout.height + contentWidth: mainLayout.width - QGCLabel { - Layout.alignment: Qt.AlignHCenter - text: qsTr("Sensor Status") - } + ColumnLayout { + id: mainLayout + spacing: _spacing - GridLayout { - rowSpacing: _spacing - columnSpacing: _spacing - rows: _activeVehicle.sysStatusSensorInfo.sensorNames.length - flow: GridLayout.TopToBottom + QGCButton { + Layout.alignment: Qt.AlignHCenter + text: _armed ? qsTr("Disarm") : (forceArm ? qsTr("Force Arm") : qsTr("Arm")) - Repeater { - model: _activeVehicle.sysStatusSensorInfo.sensorNames + property bool forceArm: false - QGCLabel { - text: modelData + onPressAndHold: forceArm = true + + onClicked: { + if (_armed) { + mainWindow.disarmVehicleRequest() + } else { + if (forceArm) { + mainWindow.forceArmVehicleRequest() + } else { + mainWindow.armVehicleRequest() + } + } + forceArm = false + mainWindow.hideIndicatorPopup() } } - Repeater { - model: _activeVehicle.sysStatusSensorInfo.sensorStatus - - QGCLabel { - text: modelData - } + QGCLabel { + Layout.alignment: Qt.AlignHCenter + text: qsTr("Sensor Status") } - } - QGCButton { - Layout.alignment: Qt.AlignHCenter - text: _armed ? qsTr("Disarm") : (forceArm ? qsTr("Force Arm") : qsTr("Arm")) + GridLayout { + rowSpacing: _spacing + columnSpacing: _spacing + rows: _activeVehicle.sysStatusSensorInfo.sensorNames.length + flow: GridLayout.TopToBottom - property bool forceArm: false + Repeater { + model: _activeVehicle.sysStatusSensorInfo.sensorNames - onPressAndHold: forceArm = true + QGCLabel { + text: modelData + } + } - onClicked: { - if (_armed) { - mainWindow.disarmVehicleRequest() - } else { - if (forceArm) { - mainWindow.forceArmVehicleRequest() - } else { - mainWindow.armVehicleRequest() + Repeater { + model: _activeVehicle.sysStatusSensorInfo.sensorStatus + + QGCLabel { + text: modelData } } - forceArm = false - mainWindow.hideIndicatorPopup() } } }