diff --git a/DroneTrackingPanel.qml b/DroneTrackingPanel.qml
index c4328ca..75543b5 100644
--- a/DroneTrackingPanel.qml
+++ b/DroneTrackingPanel.qml
@@ -256,9 +256,8 @@ Rectangle {
Image {
id: statusIcon
- source: {
- modelData.altitude > 0.05 ? "qrc:/resources/droneStatusSVG.svg" : "qrc:/resources/grounded.png"
- }
+ source: mainPanel.isIndexSelected(index) ? "qrc:/resources/droneMapIconSelected.svg"
+ : (modelData.altitude > 0.05 ? "qrc:/resources/droneStatusSVG.svg" : "qrc:/resources/grounded.png")
sourceSize.width: GcsStyle.PanelStyle.statusIconSize
sourceSize.height: GcsStyle.PanelStyle.statusIconSize
Layout.alignment: Qt.AlignVCenter
diff --git a/QmlMap.qml b/QmlMap.qml
index 51e2541..d9b5330 100644
--- a/QmlMap.qml
+++ b/QmlMap.qml
@@ -146,7 +146,8 @@ Item {
Image {
id: markerImage
- source: "qrc:/resources/droneMapIconSVG.svg"
+ readonly property bool isCurrentDroneSelected: droneIsSelected(modelData)
+ source: isCurrentDroneSelected ? "qrc:/resources/droneMapIconSelected.svg" : "qrc:/resources/droneMapIconSVG.svg"
width: 100 // controlling w or h affects the whole image due to preserving the aspect fit
fillMode: Image.PreserveAspectFit
}
@@ -306,6 +307,16 @@ Item {
}
}
+ function droneIsSelected(modelData) {
+ for (let drone of selectedDrones) {
+ if (drone.latitude === modelData.latitude) {
+ return true
+ }
+ }
+ return false
+ }
+
+
onActiveDroneChanged: {
if (activeDrone === null) {
turnOffFollowDrone()
diff --git a/QtMap.qrc b/QtMap.qrc
index dcb0362..4262897 100644
--- a/QtMap.qrc
+++ b/QtMap.qrc
@@ -34,6 +34,7 @@
fireSVG.svg
fireSVGDarkMode.svg
droneMapIconSVG.svg
+ droneMapIconSelected.svg
panelStyle.qml
diff --git a/droneMapIconSVG.svg b/droneMapIconSVG.svg
index d2ace4b..7140463 100644
--- a/droneMapIconSVG.svg
+++ b/droneMapIconSVG.svg
@@ -1,62 +1,34 @@
-
-
-