diff --git a/src/Airmap/AirMapSettings.cc b/src/Airmap/AirMapSettings.cc index ed83f02469988b981df382be9b53d7fd4d43422b..1573dfcffb41e7fa9ead2b268e8d0aa3f32e9ef6 100644 --- a/src/Airmap/AirMapSettings.cc +++ b/src/Airmap/AirMapSettings.cc @@ -15,8 +15,7 @@ DECLARE_SETTINGGROUP(AirMap, "AirMap") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ - qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AirMapSettings", "Reference only"); \ + qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AirMapSettings", "Reference only"); } DECLARE_SETTINGSFACT(AirMapSettings, usePersonalApiKey) diff --git a/src/Settings/APMMavlinkStreamRateSettings.cc b/src/Settings/APMMavlinkStreamRateSettings.cc index 7516a60d33684a065005b9bf1a493d28296122b3..3483c177ad6bbcc2219253bc926edfc0db2d569b 100644 --- a/src/Settings/APMMavlinkStreamRateSettings.cc +++ b/src/Settings/APMMavlinkStreamRateSettings.cc @@ -15,7 +15,6 @@ DECLARE_SETTINGGROUP(APMMavlinkStreamRate, "APMMavlinkStreamRate") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "APMMavlinkStreamRateSettings", "Reference only"); connect(streamRateRawSensors(), &Fact::rawValueChanged, this, &APMMavlinkStreamRateSettings::_updateStreamRateRawSensors); diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index 3d7ec1c582a43f7e40512842b55c7adbc7752df0..b9512f60660e95d9fc83433a5aaf5f8abe0c5717 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -36,7 +36,6 @@ const char* AppSettings::crashDirectory = "CrashLogs"; DECLARE_SETTINGGROUP(App, "") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only"); QGCPalette::setGlobalTheme(indoorPalette()->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light); diff --git a/src/Settings/AutoConnectSettings.cc b/src/Settings/AutoConnectSettings.cc index c539a1aed19c2282c7303b9cfb43bb637a101220..eeeb17e899afc026d9fcc5753fdd39fffd86b507 100644 --- a/src/Settings/AutoConnectSettings.cc +++ b/src/Settings/AutoConnectSettings.cc @@ -15,7 +15,6 @@ DECLARE_SETTINGGROUP(AutoConnect, "LinkManager") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AutoConnectSettings", "Reference only"); \ } diff --git a/src/Settings/BrandImageSettings.cc b/src/Settings/BrandImageSettings.cc index f3d9edfc7ae8a4da9374d5eb3fec3ad33d32f7a5..ac9ddbf5541b332952fb6942554759493e7f0cf2 100644 --- a/src/Settings/BrandImageSettings.cc +++ b/src/Settings/BrandImageSettings.cc @@ -14,7 +14,6 @@ DECLARE_SETTINGGROUP(BrandImage, "Branding") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "BrandImageSettings", "Reference only"); \ } diff --git a/src/Settings/FlightMapSettings.cc b/src/Settings/FlightMapSettings.cc index 6e28b85b7f3f9b123c910aa3b94a2ee0bf2c8b8d..d18f840fb7f9582c05700a7aa9093dc587ada713 100644 --- a/src/Settings/FlightMapSettings.cc +++ b/src/Settings/FlightMapSettings.cc @@ -18,7 +18,6 @@ DECLARE_SETTINGGROUP(FlightMap, "FlightMap") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "FlightMapSettings", "Reference only"); // Save the original version since we modify based on map provider diff --git a/src/Settings/FlyViewSettings.cc b/src/Settings/FlyViewSettings.cc index ad04e35e266f4fd4c1716f0b1e59af595e962230..ee4ee9b0ea892e3a9c39237160845b2ea48cf5dc 100644 --- a/src/Settings/FlyViewSettings.cc +++ b/src/Settings/FlyViewSettings.cc @@ -14,7 +14,6 @@ DECLARE_SETTINGGROUP(FlyView, "FlyView") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "FlyViewSettings", "Reference only"); \ } diff --git a/src/Settings/PlanViewSettings.cc b/src/Settings/PlanViewSettings.cc index 4ca6e43f1667343e4762f51a8e748f5b38bd06e5..ecd85cf157d738c3668cd236e001f5e0ac9ad2b2 100644 --- a/src/Settings/PlanViewSettings.cc +++ b/src/Settings/PlanViewSettings.cc @@ -14,6 +14,5 @@ DECLARE_SETTINGGROUP(PlanView, "PlanView") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "PlanViewSettings", "Reference only"); \ } diff --git a/src/Settings/RTKSettings.cc b/src/Settings/RTKSettings.cc index ca808b88767d94561a46e313fb9af3cc2e4d9c55..8f1bb20901498e0d763f38f0326f8f31bf366722 100644 --- a/src/Settings/RTKSettings.cc +++ b/src/Settings/RTKSettings.cc @@ -14,7 +14,6 @@ DECLARE_SETTINGGROUP(RTK, "RTK") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); \ qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "RTKSettings", "Reference only"); \ } diff --git a/src/Settings/SettingsGroup.cc b/src/Settings/SettingsGroup.cc index d93ed4c9feb9c4582ee6b9c7f9cdb5a94419ba97..9550e606f7e0000143f3dcad509226a94b779c5a 100644 --- a/src/Settings/SettingsGroup.cc +++ b/src/Settings/SettingsGroup.cc @@ -11,6 +11,9 @@ #include "QGCCorePlugin.h" #include "QGCApplication.h" +#include +#include + static const char* kJsonFile = ":/json/%1.SettingsGroup.json"; SettingsGroup::SettingsGroup(const QString& name, const QString& settingsGroup, QObject* parent) @@ -19,6 +22,8 @@ SettingsGroup::SettingsGroup(const QString& name, const QString& settingsGroup, , _name (name) , _settingsGroup(settingsGroup) { + QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); + _nameToMetaDataMap = FactMetaData::createMapFromJsonFile(QString(kJsonFile).arg(name), this); } diff --git a/src/Settings/UnitsSettings.cc b/src/Settings/UnitsSettings.cc index 547c742e4a3a10bbdd014bdea9626bfe196c22c7..7ccbcbee50bb10d3a4d8283882bc1edf699e217f 100644 --- a/src/Settings/UnitsSettings.cc +++ b/src/Settings/UnitsSettings.cc @@ -14,7 +14,6 @@ DECLARE_SETTINGGROUP(Units, "Units") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "UnitsSettings", "Reference only"); } diff --git a/src/Settings/VideoSettings.cc b/src/Settings/VideoSettings.cc index 544e5e132d5cad78abde0d99d19673b8de0c5ffe..2759b976bc946259da429811ec8c54c7cae154de 100644 --- a/src/Settings/VideoSettings.cc +++ b/src/Settings/VideoSettings.cc @@ -28,7 +28,6 @@ const char* VideoSettings::videoSourceMPEGTS = "MPEG-TS (h.264) Video Stream" DECLARE_SETTINGGROUP(Video, "Video") { - QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "VideoSettings", "Reference only"); // Setup enum values for videoSource settings into meta data