diff --git a/src/FactSystem/Fact.cc b/src/FactSystem/Fact.cc index 8f402a35b00430923a4a72202691d2e26c2c7128..b4ecbb2f3fa1a0d161cf4a4af83a49993b697d35 100644 --- a/src/FactSystem/Fact.cc +++ b/src/FactSystem/Fact.cc @@ -62,8 +62,6 @@ Fact::Fact(FactMetaData* metaData, QObject* parent) , _deferredValueChangeSignal(false) , _valueSliderModel (NULL) { - // Allow core plugin a chance to override the default value - qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(*metaData); setMetaData(metaData, true /* setDefaultFromMetaData */); } diff --git a/src/FactSystem/SettingsFact.cc b/src/FactSystem/SettingsFact.cc index 81a5db8728ffcd76420705767f78c6c30652efef..1d8f4f58f7db4a1fcb44dd8e025d44b6acecfa23 100644 --- a/src/FactSystem/SettingsFact.cc +++ b/src/FactSystem/SettingsFact.cc @@ -20,19 +20,19 @@ SettingsFact::SettingsFact(QObject* parent) QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); } -SettingsFact::SettingsFact(QString settingGroup, FactMetaData* metaData, QObject* parent) - : Fact(0, metaData->name(), metaData->type(), parent) - , _settingGroup(settingGroup) - , _visible(true) +SettingsFact::SettingsFact(QString settingsGroup, FactMetaData* metaData, QObject* parent) + : Fact (0, metaData->name(), metaData->type(), parent) + , _settingsGroup(settingsGroup) + , _visible (true) { QSettings settings; - if (!_settingGroup.isEmpty()) { - settings.beginGroup(_settingGroup); + if (!_settingsGroup.isEmpty()) { + settings.beginGroup(_settingsGroup); } // Allow core plugin a chance to override the default value - _visible = qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(*metaData); + _visible = qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(settingsGroup, *metaData); setMetaData(metaData); QVariant rawDefaultValue = metaData->rawDefaultValue(); @@ -60,7 +60,7 @@ const SettingsFact& SettingsFact::operator=(const SettingsFact& other) { Fact::operator=(other); - _settingGroup = other._settingGroup; + _settingsGroup = other._settingsGroup; return *this; } @@ -69,8 +69,8 @@ void SettingsFact::_rawValueChanged(QVariant value) { QSettings settings; - if (!_settingGroup.isEmpty()) { - settings.beginGroup(_settingGroup); + if (!_settingsGroup.isEmpty()) { + settings.beginGroup(_settingsGroup); } settings.setValue(_name, value); diff --git a/src/FactSystem/SettingsFact.h b/src/FactSystem/SettingsFact.h index eba4a241797746145755193d28814d88e68d3f15..a59c8e5e98d1f27472a673e164ce903c718569e5 100644 --- a/src/FactSystem/SettingsFact.h +++ b/src/FactSystem/SettingsFact.h @@ -7,12 +7,7 @@ * ****************************************************************************/ - -/// @file -/// @author Don Gagne - -#ifndef SettingsFact_H -#define SettingsFact_H +#pragma once #include "Fact.h" @@ -23,7 +18,7 @@ class SettingsFact : public Fact public: SettingsFact(QObject* parent = NULL); - SettingsFact(QString settingGroup, FactMetaData* metaData, QObject* parent = NULL); + SettingsFact(QString settingsGroup, FactMetaData* metaData, QObject* parent = NULL); SettingsFact(const SettingsFact& other, QObject* parent = NULL); const SettingsFact& operator=(const SettingsFact& other); @@ -37,8 +32,6 @@ private slots: void _rawValueChanged(QVariant value); private: - QString _settingGroup; + QString _settingsGroup; bool _visible; }; - -#endif diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index 264181c8fd8fea423b9ca33d41ef90cde1aa7174..64716bca6b43e6784f54d7aec1a660c8b7c716b2 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -15,7 +15,7 @@ #include #include -const char* AppSettings::appSettingsGroupName = "App"; +const char* AppSettings::settingsGroup = "App"; const char* AppSettings::offlineEditingFirmwareTypeSettingsName = "OfflineEditingFirmwareType"; const char* AppSettings::offlineEditingVehicleTypeSettingsName = "OfflineEditingVehicleType"; const char* AppSettings::offlineEditingCruiseSpeedSettingsName = "OfflineEditingCruiseSpeed"; @@ -58,7 +58,7 @@ const char* AppSettings::videoDirectory = "Video"; const char* AppSettings::crashDirectory = "CrashLogs"; AppSettings::AppSettings(QObject* parent) - : SettingsGroup (appSettingsGroupName, QString() /* root settings group */, parent) + : SettingsGroup (settingsGroup, QString() /* root settings group */, parent) , _offlineEditingFirmwareTypeFact (NULL) , _offlineEditingVehicleTypeFact (NULL) , _offlineEditingCruiseSpeedFact (NULL) diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h index 3b7b88fa6b1afe6aa24129ab3c462212dc1282a7..93bf1f5b819d13ef6e236c17d00bee85ff7c2f25 100644 --- a/src/Settings/AppSettings.h +++ b/src/Settings/AppSettings.h @@ -93,7 +93,7 @@ public: static MAV_AUTOPILOT offlineEditingFirmwareTypeFromFirmwareType(MAV_AUTOPILOT firmwareType); static MAV_TYPE offlineEditingVehicleTypeFromVehicleType(MAV_TYPE vehicleType); - static const char* appSettingsGroupName; + static const char* settingsGroup; static const char* offlineEditingFirmwareTypeSettingsName; static const char* offlineEditingVehicleTypeSettingsName; diff --git a/src/api/QGCCorePlugin.cc b/src/api/QGCCorePlugin.cc index 58b06834e82948323797611d4de59f72d147f161..d99898b52d333954b7d73b6eddb0410ce70db879 100644 --- a/src/api/QGCCorePlugin.cc +++ b/src/api/QGCCorePlugin.cc @@ -190,8 +190,13 @@ bool QGCCorePlugin::overrideSettingsGroupVisibility(QString name) return true; } -bool QGCCorePlugin::adjustSettingMetaData(FactMetaData& metaData) +bool QGCCorePlugin::adjustSettingMetaData(const QString& settingsGroup, FactMetaData& metaData) { + if (settingsGroup != AppSettings::settingsGroup) { + // All changes refer to AppSettings + return true; + } + //-- Default Palette if (metaData.name() == AppSettings::indoorPaletteName) { QVariant outdoorPalette; diff --git a/src/api/QGCCorePlugin.h b/src/api/QGCCorePlugin.h index b5d6006f64c35e6dd1406dabe3cc157354aba15c..63672b0d729f46c06794744bbdd41d7a5605290a 100644 --- a/src/api/QGCCorePlugin.h +++ b/src/api/QGCCorePlugin.h @@ -72,9 +72,10 @@ public: virtual bool overrideSettingsGroupVisibility(QString name); /// Allows the core plugin to override the setting meta data before the setting fact is created. + /// @param settingsGroup - Settings group which contains this value /// @param metaData - MetaData for setting fact /// @return true: Setting should be visible in ui, false: Setting should not be shown in ui - virtual bool adjustSettingMetaData(FactMetaData& metaData); + virtual bool adjustSettingMetaData(const QString& settingsGroup, FactMetaData& metaData); /// Return the resource file which contains the brand image for for Indoor theme. virtual QString brandImageIndoor(void) const { return QString(); }