Unverified Commit 788ec028 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8010 from DonLakeFlyer/InspectorSize

Mavlink Inspector: Dynamic sizing of message buttons
parents 19e998a5 3d63d21e
...@@ -22,11 +22,12 @@ Item { ...@@ -22,11 +22,12 @@ Item {
anchors.fill: parent anchors.fill: parent
anchors.margins: ScreenTools.defaultFontPixelWidth anchors.margins: ScreenTools.defaultFontPixelWidth
property var curVehicle: controller ? controller.activeVehicle : null property var curVehicle: controller ? controller.activeVehicle : null
property int curMessageIndex:0 property int curMessageIndex: 0
property var curMessage: curVehicle && curVehicle.messages.count ? curVehicle.messages.get(curMessageIndex) : null property var curMessage: curVehicle && curVehicle.messages.count ? curVehicle.messages.get(curMessageIndex) : null
property int curCompID: 0 property int curCompID: 0
property bool selectionValid: false property bool selectionValid: false
property real maxButtonWidth: 0
MAVLinkInspectorController { MAVLinkInspectorController {
id: controller id: controller
...@@ -76,11 +77,13 @@ Item { ...@@ -76,11 +77,13 @@ Item {
anchors.topMargin: ScreenTools.defaultFontPixelHeight anchors.topMargin: ScreenTools.defaultFontPixelHeight
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.left: parent.left anchors.left: parent.left
width: buttonCol.width width: maxButtonWidth
contentWidth: buttonCol.width contentWidth: width
contentHeight: buttonCol.height contentHeight: buttonCol.height
ColumnLayout { ColumnLayout {
id: buttonCol id: buttonCol
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelHeight * 0.25 spacing: ScreenTools.defaultFontPixelHeight * 0.25
Repeater { Repeater {
model: curVehicle ? curVehicle.messages : [] model: curVehicle ? curVehicle.messages : []
...@@ -94,7 +97,7 @@ Item { ...@@ -94,7 +97,7 @@ Item {
selectionValid = true selectionValid = true
curMessageIndex = index curMessageIndex = index
} }
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 40 Layout.fillWidth: true
} }
} }
} }
......
...@@ -18,6 +18,12 @@ Button { ...@@ -18,6 +18,12 @@ Button {
id: control id: control
height: ScreenTools.defaultFontPixelHeight * 2 height: ScreenTools.defaultFontPixelHeight * 2
autoExclusive: true 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 { background: Rectangle {
anchors.fill: parent anchors.fill: parent
...@@ -28,20 +34,27 @@ Button { ...@@ -28,20 +34,27 @@ Button {
property int compID: 0 property int compID: 0
contentItem: RowLayout { contentItem: RowLayout {
id: rowLayout
spacing: ScreenTools.defaultFontPixelWidth
QGCLabel { QGCLabel {
text: control.compID text: control.compID
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 3 Layout.minimumWidth: _compIDWidth
} }
QGCLabel { QGCLabel {
text: control.text id: nameLabel
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText text: control.text
Layout.minimumWidth: ScreenTools.defaultFontPixelWidth * 28 color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
Layout.fillWidth: true
} }
QGCLabel { QGCLabel {
color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText color: checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
text: messageHz.toFixed(1) + 'Hz' 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))
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment