diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc index 61c8acc540485db473cbc37341b76e43776a756b..3bc7ad2cad39e333bb42c7f4475c15998003c525 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc @@ -107,16 +107,16 @@ bool ArduSubFirmwarePlugin::supportsMotorInterference(void) return false; } -QVariantList& ArduSubFirmwarePlugin::toolBarIndicators(const Vehicle* vehicle) +const QVariantList& ArduSubFirmwarePlugin::toolBarIndicators(const Vehicle* vehicle) { Q_UNUSED(vehicle); //-- Sub specific list of indicators (Enter your modified list here) - if(_toolBarIndicatorList.size() == 0) { - _toolBarIndicatorList.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/MessageIndicator.qml"))); - _toolBarIndicatorList.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/TelemetryRSSIIndicator.qml"))); - _toolBarIndicatorList.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/RCRSSIIndicator.qml"))); - _toolBarIndicatorList.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/BatteryIndicator.qml"))); - _toolBarIndicatorList.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/ModeIndicator.qml"))); + if(_toolBarIndicators.size() == 0) { + _toolBarIndicators.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/MessageIndicator.qml"))); + _toolBarIndicators.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/TelemetryRSSIIndicator.qml"))); + _toolBarIndicators.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/RCRSSIIndicator.qml"))); + _toolBarIndicators.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/BatteryIndicator.qml"))); + _toolBarIndicators.append(QVariant::fromValue(QUrl::fromUserInput("qrc:/toolbar/ModeIndicator.qml"))); } - return _toolBarIndicatorList; + return _toolBarIndicators; } diff --git a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h index f8ca03ba8278e19eda260edd7d6cd17d5ce950aa..e1b8150b621471fc02ac97b29fe8718e65a3113a 100644 --- a/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h +++ b/src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h @@ -86,9 +86,10 @@ public: QString brandImage(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); } const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; } int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final; - QVariantList& toolBarIndicators(const Vehicle* vehicle) final; + const QVariantList& toolBarIndicators(const Vehicle* vehicle) final; private: + QVariantList _toolBarIndicators; static bool _remapParamNameIntialized; static FirmwarePlugin::remapParamNameMajorVersionMap_t _remapParamName; }; diff --git a/src/FirmwarePlugin/FirmwarePlugin.cc b/src/FirmwarePlugin/FirmwarePlugin.cc index ac018b68b55df578548fa42501d16b2689c4cd7a..87372a617b80a7f8c3aaa28750d87e5c247c1111 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.cc +++ b/src/FirmwarePlugin/FirmwarePlugin.cc @@ -341,7 +341,7 @@ QString FirmwarePlugin::vehicleImageCompass(const Vehicle* vehicle) const return QStringLiteral("/qmlimages/compassInstrumentArrow.svg"); } -QVariantList& FirmwarePlugin::toolBarIndicators(const Vehicle* vehicle) +const QVariantList &FirmwarePlugin::toolBarIndicators(const Vehicle* vehicle) { Q_UNUSED(vehicle); //-- Default list of indicators for all vehicles. diff --git a/src/FirmwarePlugin/FirmwarePlugin.h b/src/FirmwarePlugin/FirmwarePlugin.h index 45954d300d8f5b1be91e6a9c12c520be9a5f6107..e63836d455b95dd50177c85985f9f24c93306cd3 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.h +++ b/src/FirmwarePlugin/FirmwarePlugin.h @@ -259,7 +259,7 @@ public: /// Allows the core plugin to override the toolbar indicators /// @return A list of QUrl with the indicators (see MainToolBarIndicators.qml) - virtual QVariantList& toolBarIndicators(const Vehicle* vehicle); + virtual const QVariantList& toolBarIndicators(const Vehicle* vehicle); /// Returns a list of CameraMetaData objects for available cameras on the vehicle. virtual const QVariantList& cameraList(const Vehicle* vehicle); @@ -267,10 +267,8 @@ public: // FIXME: Hack workaround for non pluginize FollowMe support static const char* px4FollowMeFlightMode; -protected: - QVariantList _toolBarIndicatorList; - private: + QVariantList _toolBarIndicatorList; static QVariantList _cameraList; ///< Standard QGC camera list }; diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index d3fd9db5e982b356217ff83176c574144b3d3a48..0ea67378c7f948f875c4bab6767c4f6e5fd1f570 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -2375,7 +2375,7 @@ QString Vehicle::vehicleImageCompass() const return QString(); } -QVariantList& Vehicle::toolBarIndicators() +const QVariantList& Vehicle::toolBarIndicators() { if(_firmwarePlugin) { return _firmwarePlugin->toolBarIndicators(this); diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index f3e226d2f209df95f1df787c7bc2b85eba444c60..e10775014e7b972a5586714acd513b5f3b5c91e1 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -653,8 +653,8 @@ public: QString vehicleImageOutline () const; QString vehicleImageCompass () const; - QVariantList& toolBarIndicators(); - const QVariantList& cameraList(void) const; + const QVariantList& toolBarIndicators (); + const QVariantList& cameraList (void) const; public slots: