From ea72b8bf549af942148a77ec44061969d0c91f2e Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Wed, 19 Jul 2017 10:31:15 -0700 Subject: [PATCH] Better display of vehicle indicators for multi-vehicle --- src/FlightMap/MapItems/VehicleMapItem.qml | 20 +++++++++++++------- src/Vehicle/Vehicle.cc | 5 ++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/FlightMap/MapItems/VehicleMapItem.qml b/src/FlightMap/MapItems/VehicleMapItem.qml index 4cdbc4343..2c86665f3 100644 --- a/src/FlightMap/MapItems/VehicleMapItem.qml +++ b/src/FlightMap/MapItems/VehicleMapItem.qml @@ -32,15 +32,17 @@ MapQuickItem { property real _uavSize: ScreenTools.defaultFontPixelHeight * 5 property real _adsbSize: ScreenTools.defaultFontPixelHeight * 1.5 property var _map: map + property bool _multiVehicle: QGroundControl.multiVehicleManager.vehicles.count > 1 sourceItem: Item { - id: vehicleItem - width: vehicleIcon.width - height: vehicleIcon.height + id: vehicleItem + width: vehicleIcon.width + height: vehicleIcon.height + opacity: vehicle ? (vehicle.active ? 1.0 : 0.5) : 1.0 Image { id: vehicleIcon - source: _adsbVehicle ? "/qmlimages/adsbVehicle.svg" : (map.isSatelliteMap ? vehicle.vehicleImageOpaque : vehicle.vehicleImageOutline) + source: _adsbVehicle ? "/qmlimages/adsbVehicle.svg" : vehicle.vehicleImageOpaque mipmap: true width: size sourceSize.width: size @@ -57,11 +59,15 @@ MapQuickItem { anchors.top: parent.bottom anchors.horizontalCenter: parent.horizontalCenter map: _map - text: altText + text: vehicleLabelText font.pointSize: ScreenTools.smallFontPointSize - visible: !isNaN(altitude) + visible: _adsbVehicle ? !isNaN(altitude) : _multiVehicle - property string altText: visible ? QGroundControl.metersToAppSettingsDistanceUnits(altitude).toFixed(0) + " " + QGroundControl.appSettingsDistanceUnitsString : "" + property string vehicleLabelText: visible ? + (_adsbVehicle ? + QGroundControl.metersToAppSettingsDistanceUnits(altitude).toFixed(0) + " " + QGroundControl.appSettingsDistanceUnitsString : + (_multiVehicle ? qsTr("Vehicle %1").arg(vehicle.id) : "")) : + "" } } diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index f5b6f6c59..5581d4438 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -1579,7 +1579,10 @@ bool Vehicle::active(void) void Vehicle::setActive(bool active) { - _active = active; + if (_active != active) { + _active = active; + emit activeChanged(_active); + } _startJoystick(_active); } -- 2.22.0