Browse Source
The LinkIndicator shows the connected links and lets the user select the priority link,QGC4.4
5 changed files with 130 additions and 5 deletions
@ -0,0 +1,75 @@
@@ -0,0 +1,75 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
||||
* |
||||
* QGroundControl is licensed according to the terms in the file |
||||
* COPYING.md in the root of the source code directory. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
|
||||
import QtQuick 2.3 |
||||
import QtQuick.Controls 1.2 |
||||
|
||||
import QGroundControl 1.0 |
||||
import QGroundControl.Controls 1.0 |
||||
import QGroundControl.MultiVehicleManager 1.0 |
||||
import QGroundControl.ScreenTools 1.0 |
||||
import QGroundControl.Palette 1.0 |
||||
|
||||
//------------------------------------------------------------------------- |
||||
//-- Link Indicator |
||||
Item { |
||||
anchors.top: parent.top |
||||
anchors.bottom: parent.bottom |
||||
width: priorityLinkSelector.width |
||||
|
||||
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle |
||||
|
||||
QGCLabel { |
||||
id: priorityLinkSelector |
||||
text: _activeVehicle ? _activeVehicle.priorityLinkName : qsTr("N/A", "No data to display") |
||||
font.pointSize: ScreenTools.mediumFontPointSize |
||||
color: qgcPal.buttonText |
||||
anchors.verticalCenter: parent.verticalCenter |
||||
Menu { |
||||
id: linkSelectionMenu |
||||
} |
||||
Component { |
||||
id: linkSelectionMenuItemComponent |
||||
MenuItem { |
||||
onTriggered: _activeVehicle.priorityLinkName = text |
||||
} |
||||
} |
||||
property var linkSelectionMenuItems: [] |
||||
function updatelinkSelectionMenu() { |
||||
if (_activeVehicle) { |
||||
// Remove old menu items |
||||
for (var i = 0; i < linkSelectionMenuItems.length; i++) { |
||||
linkSelectionMenu.removeItem(linkSelectionMenuItems[i]) |
||||
} |
||||
linkSelectionMenuItems.length = 0 |
||||
// Add new items |
||||
for (var i = 0; i < _activeVehicle.linkNames.length; i++) { |
||||
var menuItem = linkSelectionMenuItemComponent.createObject(null, { "text": _activeVehicle.linkNames[i] }) |
||||
linkSelectionMenuItems.push(menuItem) |
||||
linkSelectionMenu.insertItem(i, menuItem) |
||||
} |
||||
} |
||||
} |
||||
Component.onCompleted: priorityLinkSelector.updatelinkSelectionMenu() |
||||
Connections { |
||||
target: QGroundControl.multiVehicleManager |
||||
onActiveVehicleChanged: priorityLinkSelector.updatelinkSelectionMenu() |
||||
} |
||||
Connections { |
||||
target: _activeVehicle |
||||
onLinkNamesChanged: priorityLinkSelector.updatelinkSelectionMenu() |
||||
} |
||||
MouseArea { |
||||
visible: _activeVehicle |
||||
anchors.fill: parent |
||||
onClicked: linkSelectionMenu.popup() |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue