7import QGroundControl.Controls
8import QGroundControl.PlanView
13 height: ScreenTools.toolbarHeight
14 color: qgcPal.toolbarBackground
16 property var planMasterController
17 property bool showRallyPointsHelp: false
19 signal toolbarButtonClicked()
21 property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
22 property real _controllerProgressPct: planMasterController.missionController.progressPct
24 QGCPalette { id: qgcPal }
26 /// Bottom single pixel divider
28 anchors.left: parent.left
29 anchors.right: parent.right
30 anchors.bottom: parent.bottom
33 visible: qgcPal.globalTheme === QGCPalette.Light
38 objectName: "toolbar_qgcLogo"
40 icon.source: "/res/QGCLogoFull.svg"
42 onClicked: mainWindow.showToolSelectDialog()
47 anchors.bottomMargin: 1
48 anchors.left: qgcButton.right
49 anchors.top: parent.top
50 anchors.bottom: parent.bottom
51 anchors.right: parent.right
52 contentWidth: toolIndicators.width
53 flickableDirection: Flickable.HorizontalFlick
55 PlanToolBarIndicators {
57 anchors.top: parent.top
58 anchors.bottom: parent.bottom
59 planMasterController: _root.planMasterController
60 showRallyPointsHelp: _root.showRallyPointsHelp
61 onToolbarButtonClicked: _root.toolbarButtonClicked()
65 // Small mission download progress bar
68 anchors.left: parent.left
69 anchors.bottom: parent.bottom
71 width: _controllerProgressPct * parent.width
72 color: qgcPal.colorGreen
77 largeProgressBar._userHide = false
82 // Large mission download progress bar
85 anchors.bottom: parent.bottom
86 anchors.left: parent.left
87 anchors.right: parent.right
90 visible: _showLargeProgress
92 property bool _userHide: false
93 property bool _showLargeProgress: progressBar.visible && !_userHide && qgcPal.globalTheme === QGCPalette.Light
96 target: QGroundControl.multiVehicleManager
97 function onActiveVehicleChanged(activeVehicle) { largeProgressBar._userHide = false }
101 anchors.top: parent.top
102 anchors.bottom: parent.bottom
103 width: _controllerProgressPct * parent.width
104 color: qgcPal.colorGreen
108 anchors.centerIn: parent
109 text: qsTr("Syncing Mission")
110 font.pointSize: ScreenTools.largeFontPointSize
111 visible: _controllerProgressPct !== 1
115 anchors.centerIn: parent
117 font.pointSize: ScreenTools.largeFontPointSize
118 visible: _controllerProgressPct === 1
122 anchors.margins: _margin
123 anchors.right: parent.right
124 anchors.bottom: parent.bottom
125 text: qsTr("Click anywhere to hide")
127 property real _margin: ScreenTools.defaultFontPixelWidth / 2
132 onClicked: largeProgressBar._userHide = true
138 target: planMasterController.missionController
140 function onProgressPctChanged(progressPct) {
141 if (progressPct === 1) {
143 resetProgressTimer.start()
145 progressBar.visible = false
147 } else if (progressPct > 0) {
148 progressBar.visible = true
154 id: resetProgressTimer
156 onTriggered: progressBar.visible = false