Browse Source

Sensor Status: Correct sizing, flickable

QGC4.4
DonLakeFlyer 4 years ago committed by Don Gagne
parent
commit
4ed2abd8d8
  1. 89
      src/ui/toolbar/MainStatusIndicator.qml

89
src/ui/toolbar/MainStatusIndicator.qml

@ -147,67 +147,76 @@ RowLayout { @@ -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()
}
}
}

Loading…
Cancel
Save