diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index 74feaa27063e7ce9edebaa3be2ab221449083aac..e30ca2c05c1209311df0a22e5cf1532d421da95a 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -46,16 +46,8 @@ AppSettings::AppSettings(QObject* parent) , _indoorPaletteFact(NULL) { QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); - qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only"); - - // Set up correct default for palette setting - QVariant outdoorPalette; -#if defined (__mobile__) - outdoorPalette = 0; -#else - outdoorPalette = 1; -#endif - _nameToMetaDataMap[indoorPaletteName]->setRawDefaultValue(outdoorPalette); + qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only"); + QGCPalette::setGlobalTheme(indoorPalette()->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light); } Fact* AppSettings::offlineEditingFirmwareType(void) @@ -177,5 +169,5 @@ Fact* AppSettings::indoorPalette(void) void AppSettings::_indoorPaletteChanged(void) { qgcApp()->_loadCurrentStyleSheet(); - QGCPalette::setGlobalTheme(_indoorPaletteFact->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light); + QGCPalette::setGlobalTheme(indoorPalette()->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light); } diff --git a/src/api/QGCCorePlugin.cc b/src/api/QGCCorePlugin.cc index 78fa0150db72f6bccab49066dba7e2987bd92890..3d7ff10987e9f15c999900734be5f8fa4329515f 100644 --- a/src/api/QGCCorePlugin.cc +++ b/src/api/QGCCorePlugin.cc @@ -11,6 +11,7 @@ #include "QGCOptions.h" #include "QGCSettings.h" #include "FactMetaData.h" +#include "SettingsManager.h" #include #include @@ -164,6 +165,16 @@ bool QGCCorePlugin::overrideSettingsGroupVisibility(QString name) bool QGCCorePlugin::adjustSettingMetaData(FactMetaData& metaData) { - Q_UNUSED(metaData); // No mods to standard meta data + if (metaData.name() == AppSettings::indoorPaletteName) { + // Set up correct default for palette setting + QVariant outdoorPalette; +#if defined (__mobile__) + outdoorPalette = 0; +#else + outdoorPalette = 1; +#endif + metaData.setRawDefaultValue(outdoorPalette); + } + return true; // Show setting in ui }