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..ecbbd9d9ff2097c7bb7da5d305ca755bba8ca112 100644
--- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h
+++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h
@@ -101,27 +101,33 @@ public:
ArduSubFirmwarePlugin(void);
// Overrides from FirmwarePlugin
- int manualControlReservedButtonCount(void);
+ int manualControlReservedButtonCount(void) final;
int defaultJoystickTXMode(void) final { return 3; }
- bool supportsThrottleModeCenterZero(void);
+ bool supportsThrottleModeCenterZero(void) final;
- bool supportsManualControl(void);
+ bool supportsManualControl(void) final;
- bool supportsRadio(void);
+ bool supportsRadio(void) final;
- bool supportsJSButton(void);
+ bool supportsJSButton(void) final;
- bool supportsMotorInterference(void);
+ bool supportsMotorInterference(void) final;
- 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"); }
+ /// 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 final;
+
+ /// 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 final;
+
+ QString brandImageIndoor(const Vehicle* vehicle) const final{ Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
+ QString brandImageOutdoor(const Vehicle* vehicle) const final { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; }
int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final;
const QVariantList& toolBarIndicators(const Vehicle* vehicle) final;
- bool adjustIncomingMavlinkMessage(Vehicle* vehicle, mavlink_message_t* message);
- virtual QMap* factGroups(void);
+ bool adjustIncomingMavlinkMessage(Vehicle* vehicle, mavlink_message_t* message) final;
+ virtual QMap* factGroups(void) final;
private:
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