Browse Source

Merge pull request #8010 from DonLakeFlyer/InspectorSize

Mavlink Inspector: Dynamic sizing of message buttons
QGC4.4
Don Gagne 6 years ago committed by GitHub
parent
commit
788ec0289c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      src/AnalyzeView/MAVLinkInspectorPage.qml
  2. 19
      src/QmlControls/MAVLinkMessageButton.qml

9
src/AnalyzeView/MAVLinkInspectorPage.qml

@ -27,6 +27,7 @@ Item { @@ -27,6 +27,7 @@ Item {
property var curMessage: curVehicle && curVehicle.messages.count ? curVehicle.messages.get(curMessageIndex) : null
property int curCompID: 0
property bool selectionValid: false
property real maxButtonWidth: 0
MAVLinkInspectorController {
id: controller
@ -76,11 +77,13 @@ Item { @@ -76,11 +77,13 @@ Item {
anchors.topMargin: ScreenTools.defaultFontPixelHeight
anchors.bottom: parent.bottom
anchors.left: parent.left
width: buttonCol.width
contentWidth: buttonCol.width
width: maxButtonWidth
contentWidth: width
contentHeight: buttonCol.height
ColumnLayout {
id: buttonCol
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelHeight * 0.25
Repeater {
model: curVehicle ? curVehicle.messages : []
@ -94,7 +97,7 @@ Item { @@ -94,7 +97,7 @@ Item {
selectionValid = true
curMessageIndex = index
}
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 40
Layout.fillWidth: true
}
}
}

19
src/QmlControls/MAVLinkMessageButton.qml

@ -18,6 +18,12 @@ Button { @@ -18,6 +18,12 @@ Button {
id: control
height: ScreenTools.defaultFontPixelHeight * 2
autoExclusive: true
leftPadding: ScreenTools.defaultFontPixelWidth
rightPadding: leftPadding
property real _compIDWidth: ScreenTools.defaultFontPixelWidth * 3
property real _hzWidth: ScreenTools.defaultFontPixelWidth * 7
property real _nameWidth: nameLabel.contentWidth
background: Rectangle {
anchors.fill: parent
@ -28,20 +34,27 @@ Button { @@ -28,20 +34,27 @@ Button {
property int compID: 0
contentItem: RowLayout {
id: rowLayout
spacing: ScreenTools.defaultFontPixelWidth
QGCLabel {
text: control.compID
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 3
Layout.minimumWidth: _compIDWidth
}
QGCLabel {
id: nameLabel
text: control.text
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 28
Layout.fillWidth: true
}
QGCLabel {
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
text: messageHz.toFixed(1) + 'Hz'
Layout.alignment: Qt.AlignRight
horizontalAlignment: Text.AlignRight
Layout.minimumWidth: _hzWidth
}
}
Component.onCompleted: maxButtonWidth = Math.max(maxButtonWidth, _compIDWidth + _hzWidth + _nameWidth + (rowLayout.spacing * 2) + (control.leftPadding * 2))
}

Loading…
Cancel
Save