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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/droneMapIconSelected.svg b/droneMapIconSelected.svg new file mode 100644 index 0000000..969cb18 --- /dev/null +++ b/droneMapIconSelected.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/extern/pybind11 b/extern/pybind11 index e6984c8..d422fda 160000 --- a/extern/pybind11 +++ b/extern/pybind11 @@ -1 +1 @@ -Subproject commit e6984c805ec09c0e5f826e3081a32f322a6bfe63 +Subproject commit d422fda12507f94a30e57541746546048e202b21 diff --git a/external/mavlink b/external/mavlink index 34df623..d1beb06 160000 --- a/external/mavlink +++ b/external/mavlink @@ -1 +1 @@ -Subproject commit 34df623e51aa0072d798f0ff72a463d4c6004ded +Subproject commit d1beb068135e069d3fe28a53fc171700a632e06a diff --git a/third_party/c_library_v2 b/third_party/c_library_v2 index 34df623..3228187 160000 --- a/third_party/c_library_v2 +++ b/third_party/c_library_v2 @@ -1 +1 @@ -Subproject commit 34df623e51aa0072d798f0ff72a463d4c6004ded +Subproject commit 3228187aa64696e5c3e7cfd8b30fdf6269a08a7f