6import QGroundControl.Controls
10 hoverEnabled: !ScreenTools.isMobile
11 topPadding: _verticalPadding
12 bottomPadding: _verticalPadding + (alwaysShowHelp ? ScreenTools.defaultFontPixelHeight * 0.25 : 0)
13 leftPadding: _horizontalPadding
14 rightPadding: _horizontalPadding
15 focusPolicy: Qt.ClickFocus
16 font.family: ScreenTools.normalFontFamily
19 property bool showBorder: qgcPal.globalTheme === QGCPalette.Light
20 property real backRadius: ScreenTools.defaultBorderRadius
21 property real heightFactor: 0.5
22 property real fontWeight: Font.Normal // default for qml Text
23 property real pointSize: ScreenTools.defaultFontPointSize
24 property int defaultDelay: 500
25 property bool alwaysShowHelp: false
27 property alias wrapMode: text.wrapMode
28 property alias horizontalAlignment: text.horizontalAlignment
29 property alias backgroundColor: backRect.color
30 property alias textColor: text.color
32 property bool _showHighlight: enabled && pressed
33 property int _horizontalPadding: ScreenTools.defaultFontPixelWidth * 2
34 property int _verticalPadding: Math.round(ScreenTools.defaultFontPixelHeight * heightFactor)
35 property bool _showHelp: false
36 property bool _activated: false
38 QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
44 onTriggered: control._showHelp = false
55 _showHelp = !_activated
64 background: Rectangle {
67 implicitWidth: Math.max(control._showHelp || control.alwaysShowHelp ? helpText.contentWidth : 0, ScreenTools.implicitButtonWidth)
68 implicitHeight: ScreenTools.implicitButtonHeight
69 border.width: showBorder ? 1 : 0
70 border.color: qgcPal.buttonBorder
71 color: control._showHighlight ? qgcPal.buttonHighlight : qgcPal.button
74 anchors.topMargin: _sliderIndicatorMargin
75 anchors.bottomMargin: _sliderIndicatorMargin
76 anchors.leftMargin: control.pressed ? (parent.width - width) * control.progress : 0
77 anchors.left: parent.left
78 anchors.top: parent.top
79 anchors.bottom: parent.bottom
81 source: "qrc:/res/chevron-double-right.svg"
82 sourceSize.height: parent.height
83 fillMode: Image.PreserveAspectFit
84 color: control._showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText
85 opacity: control._showHighlight ? 0.75 : 0.2
87 property real _sliderIndicatorMargin: ScreenTools.defaultFontPixelWidth * 0.5
92 text: qsTr("Hold to Confirm")
93 anchors.bottom: parent.bottom
94 anchors.horizontalCenter: parent.horizontalCenter
95 font.pointSize: ScreenTools.smallFontPointSize
96 color: control.textColor
97 visible: control._showHelp || control.alwaysShowHelp
101 contentItem: QGCLabel {
103 horizontalAlignment: Text.AlignHCenter
105 font.pointSize: control.pointSize
106 font.family: control.font.family
107 font.weight: control.fontWeight
108 color: control._showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText