Browse Source

Fix indoorPalette overriding

QGC4.4
Don Gagne 8 years ago
parent
commit
7a89279c68
  1. 12
      src/Settings/AppSettings.cc
  2. 13
      src/api/QGCCorePlugin.cc

12
src/Settings/AppSettings.cc

@ -47,15 +47,7 @@ AppSettings::AppSettings(QObject* parent)
{ {
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
qmlRegisterUncreatableType<AppSettings>("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only"); qmlRegisterUncreatableType<AppSettings>("QGroundControl.SettingsManager", 1, 0, "AppSettings", "Reference only");
QGCPalette::setGlobalTheme(indoorPalette()->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light);
// Set up correct default for palette setting
QVariant outdoorPalette;
#if defined (__mobile__)
outdoorPalette = 0;
#else
outdoorPalette = 1;
#endif
_nameToMetaDataMap[indoorPaletteName]->setRawDefaultValue(outdoorPalette);
} }
Fact* AppSettings::offlineEditingFirmwareType(void) Fact* AppSettings::offlineEditingFirmwareType(void)
@ -177,5 +169,5 @@ Fact* AppSettings::indoorPalette(void)
void AppSettings::_indoorPaletteChanged(void) void AppSettings::_indoorPaletteChanged(void)
{ {
qgcApp()->_loadCurrentStyleSheet(); qgcApp()->_loadCurrentStyleSheet();
QGCPalette::setGlobalTheme(_indoorPaletteFact->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light); QGCPalette::setGlobalTheme(indoorPalette()->rawValue().toBool() ? QGCPalette::Dark : QGCPalette::Light);
} }

13
src/api/QGCCorePlugin.cc

@ -11,6 +11,7 @@
#include "QGCOptions.h" #include "QGCOptions.h"
#include "QGCSettings.h" #include "QGCSettings.h"
#include "FactMetaData.h" #include "FactMetaData.h"
#include "SettingsManager.h"
#include <QtQml> #include <QtQml>
#include <QQmlEngine> #include <QQmlEngine>
@ -164,6 +165,16 @@ bool QGCCorePlugin::overrideSettingsGroupVisibility(QString name)
bool QGCCorePlugin::adjustSettingMetaData(FactMetaData& metaData) 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 return true; // Show setting in ui
} }

Loading…
Cancel
Save