6import QGroundControl.FactControls
7import QGroundControl.Controls
13 property bool showIndicator: _multipleVehicles
14 property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
15 property bool _multipleVehicles: QGroundControl.multiVehicleManager.vehicles.count > 1
16 property var _vehicleModel: [ ]
19 target: QGroundControl.multiVehicleManager.vehicles
20 function onCountChanged(count) { _updateVehicleModel() }
23 Component.onCompleted: _updateVehicleModel()
24 on_ActiveVehicleChanged: _updateVehicleModel()
27 Layout.fillWidth: true
30 width: ScreenTools.defaultFontPixelWidth * 4
31 height: ScreenTools.defaultFontPixelHeight * 1.33
32 fillMode: Image.PreserveAspectFit
35 source: "/InstrumentValueIcons/airplane.svg"
39 text: _activeVehicle ? qsTr("Vehicle") + " " + _activeVehicle.id : qsTr("N/A")
40 font.pointSize: ScreenTools.mediumFontPointSize
41 Layout.alignment: Qt.AlignCenter
45 onClicked: mainWindow.showIndicatorDrawer(vehicleSelectorDrawer, control)
51 id: vehicleSelectorDrawer
56 contentComponent: Component {
58 spacing: ScreenTools.defaultFontPixelWidth / 2
65 Layout.fillWidth: true
68 var vehicleId = modelData.split(" ")[1]
69 var vehicle = QGroundControl.multiVehicleManager.getVehicleById(vehicleId)
70 QGroundControl.multiVehicleManager.activeVehicle = vehicle
71 mainWindow.closeIndicatorDrawer()
78 expandedComponent: Component {
80 Layout.fillWidth: true
83 Layout.fillWidth: true
84 text: qsTr("Enable Multi-Vehicle Panel")
85 fact: _enableMultiVehiclePanel
86 visible: _enableMultiVehiclePanel.visible
88 property Fact _enableMultiVehiclePanel: QGroundControl.settingsManager.appSettings.enableMultiVehiclePanel
95 function _updateVehicleModel() {
97 if (_multipleVehicles) {
98 for (var i = 0; i < QGroundControl.multiVehicleManager.vehicles.count; i++) {
99 var vehicle = QGroundControl.multiVehicleManager.vehicles.get(i)
100 newModel.push(qsTr("Vehicle") + " " + vehicle.id)
103 _vehicleModel = newModel