6import QGroundControl.Controls
10 width: mainLayout.width
13 property var guidedController
14 property var guidedValueSlider
15 property var messageDisplay
17 property string message
19 property var actionData
20 property bool hideTrigger: false
21 property var mapIndicator
22 property alias optionText: optionCheckBox.text
23 property alias optionChecked: optionCheckBox.checked
25 property real _margins: 2
26 property bool _emergencyAction: action === guidedController.actionEmergencyStop
28 Component.onCompleted: guidedController.confirmDialog = this
30 onHideTriggerChanged: {
36 function show(immediate) {
40 // We delay showing the confirmation for a small amount in order for any other state
41 // changes to propogate through the system. This way only the final state shows up.
42 visibleTimer.restart()
46 function confirmCancelled() {
47 guidedValueSlider.visible = false
51 messageDisplay.opacity = 1.0
52 messageFadeTimer.stop()
53 messageOpacityAnimation.stop()
55 mapIndicator.actionCancelled()
56 mapIndicator = undefined
60 function _reallyShow() {
62 messageDisplay.opacity = 1.0
63 messageFadeTimer.start()
70 onTriggered: _reallyShow()
73 QGCPalette { id: qgcPal }
78 height: parent.height - 4
79 spacing: ScreenTools.defaultFontPixelWidth
86 control.visible = false
87 var sliderOutputValue = 0
88 if (guidedValueSlider.visible) {
89 sliderOutputValue = guidedValueSlider.getOutputValue()
90 guidedValueSlider.visible = false
93 guidedController.executeAction(control.action, control.actionData, sliderOutputValue, control.optionChecked)
95 mapIndicator.actionConfirmed()
96 mapIndicator = undefined
108 Layout.alignment: Qt.AlignTop
110 height: ScreenTools.defaultFontPixelHeight * 0.5
111 source: "/res/XDelete.svg"
112 fillMode: Image.PreserveAspectFit
117 onClicked: confirmCancelled()