5import QGroundControl.Controls
7// Important Note: Toolbar buttons must manage their checked state manually in order to support
8// view switch prevention. This means they can't be checkable or autoExclusive.
12 height: ScreenTools.defaultFontPixelHeight * 3
13 leftPadding: _horizontalMargin
14 rightPadding: _horizontalMargin
17 property bool logo: false
19 property real _horizontalMargin: ScreenTools.defaultFontPixelWidth
21 onCheckedChanged: checkable = false
23 background: Rectangle {
25 color: button.checked ? qgcPal.buttonHighlight : Qt.rgba(0,0,0,0)
27 border.width: QGroundControl.corePlugin.showTouchAreas ? 3 : 0
31 spacing: ScreenTools.defaultFontPixelWidth
32 anchors.verticalCenter: button.verticalCenter
33 // Logo buttons render the multi-color SVG natively via VectorImage; non-logo buttons
34 // tint their monochrome icon through QGCColoredImage. Plain `Row` skips visible:false items.
37 height: ScreenTools.defaultFontPixelHeight * 2
39 source: visible ? button.icon.source : ""
40 anchors.verticalCenter: parent.verticalCenter
43 objectName: "toolbar_qgcUpdateAvailableBadge"
44 z: 1 // VectorImage adds its rendered SVG as a later child
45 anchors.top: parent.top
46 anchors.right: parent.right
47 anchors.topMargin: -height * 0.25
48 anchors.rightMargin: -width * 0.25
49 width: ScreenTools.defaultFontPixelHeight
52 color: Qt.rgba(1, 1, 1, 0.75)
53 visible: QGroundControl.newStableVersion !== ""
57 source: "/res/UpdateAvailable.svg"
58 color: qgcPal.colorBlue
64 height: ScreenTools.defaultFontPixelHeight * 2
66 sourceSize.height: parent.height
67 fillMode: Image.PreserveAspectFit
68 color: button.checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
69 source: visible ? button.icon.source : ""
70 anchors.verticalCenter: parent.verticalCenter
76 color: button.checked ? qgcPal.buttonHighlightText : qgcPal.buttonText
77 anchors.verticalCenter: parent.verticalCenter