6import QGroundControl.Controls
10 hoverEnabled: !ScreenTools.isMobile
11 topPadding: _verticalPadding
12 bottomPadding: _verticalPadding
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
26 property alias wrapMode: text.wrapMode
27 property alias horizontalAlignment: text.horizontalAlignment
28 property alias backgroundColor: backRect.color
29 property alias textColor: text.color
31 property bool _showHighlight: enabled && pressed
32 property int _horizontalPadding: ScreenTools.defaultFontPixelWidth * 2
33 property int _verticalPadding: Math.round(ScreenTools.defaultFontPixelHeight * heightFactor)
34 property bool _showHelp: false
35 property bool _activated: false
37 QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
43 onTriggered: control._showHelp = false
54 _showHelp = !_activated
63 background: Rectangle {
66 implicitWidth: Math.max(control._showHelp ? helpText.contentWidth : 0, ScreenTools.implicitButtonWidth)
67 implicitHeight: ScreenTools.implicitButtonHeight
68 border.width: showBorder ? 1 : 0
69 border.color: qgcPal.buttonBorder
70 color: control._showHighlight ? qgcPal.buttonHighlight : qgcPal.button
73 anchors.topMargin: _sliderIndicatorMargin
74 anchors.bottomMargin: _sliderIndicatorMargin
75 anchors.leftMargin: control.pressed ? (parent.width - width) * control.progress : 0
76 anchors.left: parent.left
77 anchors.top: parent.top
78 anchors.bottom: parent.bottom
80 source: "qrc:/res/chevron-double-right.svg"
81 sourceSize.height: parent.height
82 fillMode: Image.PreserveAspectFit
83 color: control._showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText
84 opacity: control._showHighlight ? 0.75 : 0.2
86 property real _sliderIndicatorMargin: ScreenTools.defaultFontPixelWidth * 0.5
91 text: qsTr("Hold to Confirm")
92 anchors.bottom: parent.bottom
93 anchors.horizontalCenter: parent.horizontalCenter
94 font.pointSize: ScreenTools.smallFontPointSize
95 color: control._showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText
96 visible: control._showHelp
100 contentItem: QGCLabel {
102 horizontalAlignment: Text.AlignHCenter
104 font.pointSize: control.pointSize
105 font.family: control.font.family
106 font.weight: control.fontWeight
107 color: control._showHighlight ? qgcPal.buttonHighlightText : qgcPal.buttonText