diff --git a/qgcresources.qrc b/qgcresources.qrc
index b27361e6c50cf810c6c1ada2476f850eff476d29..9b045fadf53d3d784b7570fa6186d039c13c795c 100644
--- a/qgcresources.qrc
+++ b/qgcresources.qrc
@@ -166,6 +166,7 @@
src/FirmwarePlugin/APM/APMBrandImage.png
src/FirmwarePlugin/APM/APMBrandImageSub.png
src/FirmwarePlugin/PX4/PX4BrandImage.png
+ src/FlightMap/Images/sub.png
resources/action.svg
diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
index c08a0fa969139c2b5ae8abc61a76a14316798a78..a77106ada72bc470e07e6efb7ae67d221dc24eed 100644
--- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
+++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
@@ -231,3 +231,14 @@ APMSubmarineFactGroup::APMSubmarineFactGroup(QObject* parent)
_lightsLevel2Fact.setRawValue (std::numeric_limits::quiet_NaN());
_pilotGainFact.setRawValue (std::numeric_limits::quiet_NaN());
}
+
+QString ArduSubFirmwarePlugin::vehicleImageOpaque(const Vehicle* vehicle) const
+{
+ Q_UNUSED(vehicle);
+ return QStringLiteral("/qmlimages/subVehicleArrowOpaque.png");
+}
+
+QString ArduSubFirmwarePlugin::vehicleImageOutline(const Vehicle* vehicle) const
+{
+ return vehicleImageOpaque(vehicle);
+}
diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h
index 8c050028e1a3717f76ed142cd256f338e7807ea3..d5b70e26dcf6b30869a787eec3ee6ad133c855a9 100644
--- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h
+++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h
@@ -115,6 +115,12 @@ public:
bool supportsMotorInterference(void);
+ /// Return the resource file which contains the vehicle icon used in the flight view when the view is dark (Satellite for instance)
+ virtual QString vehicleImageOpaque(const Vehicle* vehicle) const override;
+
+ /// Return the resource file which contains the vehicle icon used in the flight view when the view is light (Map for instance)
+ virtual QString vehicleImageOutline(const Vehicle* vehicle) const override;
+
QString brandImageIndoor(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
QString brandImageOutdoor(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; }
diff --git a/src/FlightMap/Images/sub.png b/src/FlightMap/Images/sub.png
new file mode 100644
index 0000000000000000000000000000000000000000..3838b056e669599a33a08ae8b098dde0ce02a7e5
Binary files /dev/null and b/src/FlightMap/Images/sub.png differ