diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml index 3109f2771b06dae6ad2f894df2732237936eb213..c1c2a5d909814eb5b08619041c97e20ffa4d06a2 100644 --- a/src/FlightDisplay/FlightDisplayViewMap.qml +++ b/src/FlightDisplay/FlightDisplayViewMap.qml @@ -233,7 +233,7 @@ FlightMap { map: flightMap largeMapView: mainIsMap masterController: masterController - isActiveVehicle: _vehicle.active + vehicle: _vehicle property var _vehicle: object diff --git a/src/FlightMap/MapItems/PlanMapItems.qml b/src/FlightMap/MapItems/PlanMapItems.qml index 770b40e1303148c38b1ef552bed74c7cca6fbfa2..abb96f3dde4c0d69f257efcc535a6b77785e7daf 100644 --- a/src/FlightMap/MapItems/PlanMapItems.qml +++ b/src/FlightMap/MapItems/PlanMapItems.qml @@ -23,26 +23,26 @@ Item { property var map ///< Map control to show items on property bool largeMapView ///< true: map takes up entire view, false: map is in small window property var masterController ///< Reference to PlanMasterController for vehicle - property bool isActiveVehicle ///< true: vehicle associated with plan is active, false: in-active + property var vehicle ///< Vehicle associated with these items property var _map: map + property var _vehicle: vehicle property var _missionController: masterController.missionController property var _geoFenceController: masterController.geoFenceController property var _rallyPointController: masterController.rallyPointController property var _missionLineViewComponent + property bool _isActiveVehicle: vehicle.active + + property string fmode: vehicle.flightMode // Add the mission item visuals to the map Repeater { - model: largeMapView ? _missionController.visualItems : 0 + model: _isActiveVehicle && largeMapView ? _missionController.visualItems : 0 delegate: MissionItemMapVisual { map: _map - onClicked: { - if (isActiveVehicle) { - // Only active vehicle supports click to change current mission item - guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) - } - } + vehicle: _vehicle + onClicked: guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) } } diff --git a/src/PlanView/MissionItemMapVisual.qml b/src/PlanView/MissionItemMapVisual.qml index 01df7c2f6b6a115e430c14da489ada3c7170af7f..2085dcac2a32f2237c52e7f738fdb861c935068f 100644 --- a/src/PlanView/MissionItemMapVisual.qml +++ b/src/PlanView/MissionItemMapVisual.qml @@ -22,6 +22,7 @@ Item { id: _root property var map ///< Map control to place item in + property var vehicle ///< Vehicle associated with this item signal clicked(int sequenceNumber) @@ -33,7 +34,7 @@ Item { if (component.status === Component.Error) { console.log("Error loading Qml: ", object.mapVisualQML, component.errorString()) } - _visualItem = component.createObject(map, { "map": _root.map }) + _visualItem = component.createObject(map, { "map": _root.map, vehicle: _root.vehicle }) _visualItem.clicked.connect(_root.clicked) } } diff --git a/src/PlanView/SimpleItemMapVisual.qml b/src/PlanView/SimpleItemMapVisual.qml index 462d77f6324b30894c074b332e6e88007511eee5..7648a4c229bdbef0b6ede5a8e6374e1ff00b81b7 100644 --- a/src/PlanView/SimpleItemMapVisual.qml +++ b/src/PlanView/SimpleItemMapVisual.qml @@ -23,6 +23,7 @@ Item { id: _root property var map ///< Map control to place item in + property var vehicle ///< Vehicle associated with this item property var _missionItem: object property var _itemVisual @@ -104,7 +105,7 @@ Item { MissionItemIndicator { coordinate: _missionItem.coordinate - visible: _missionItem.specifiesCoordinate + visible: _missionItem.specifiesCoordinate && (_missionItem.homePosition || map.planView || _missionItem.isCurrentItem || (vehicle.flightMode === vehicle.pauseFlightMode && vehicle.armed)) z: QGroundControl.zOrderMapItems missionItem: _missionItem sequenceNumber: _missionItem.sequenceNumber diff --git a/src/QmlControls/QGCDynamicObjectManager.qml b/src/QmlControls/QGCDynamicObjectManager.qml index 2a2a6d9b9e67d05f3401e560ae8b51bc12c62852..5eb47ff20da39d192e2e056098840ce901bcef05 100644 --- a/src/QmlControls/QGCDynamicObjectManager.qml +++ b/src/QmlControls/QGCDynamicObjectManager.qml @@ -13,6 +13,9 @@ Item { function createObject(sourceComponent, parentObject, parentObjectIsMap) { var obj = sourceComponent.createObject(parentObject) + if (obj.status === Component.Error) { + console.log(obj.errorString()) + } rgDynamicObjects.push(obj) if (arguments.length < 3) { parentObjectIsMap = false