Unverified Commit 5a5c4415 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #6521 from DonLakeFlyer/SettingsOverride

Add settingsGroup qualifer to settings override
parents 168bdd6e 53b09213
...@@ -62,8 +62,6 @@ Fact::Fact(FactMetaData* metaData, QObject* parent) ...@@ -62,8 +62,6 @@ Fact::Fact(FactMetaData* metaData, QObject* parent)
, _deferredValueChangeSignal(false) , _deferredValueChangeSignal(false)
, _valueSliderModel (NULL) , _valueSliderModel (NULL)
{ {
// Allow core plugin a chance to override the default value
qgcApp()->toolbox()->corePlugin()->adjustSettingMetaData(*metaData);
setMetaData(metaData, true /* setDefaultFromMetaData */); setMetaData(metaData, true /* setDefaultFromMetaData */);
} }
......
...@@ -20,19 +20,19 @@ SettingsFact::SettingsFact(QObject* parent) ...@@ -20,19 +20,19 @@ SettingsFact::SettingsFact(QObject* parent)
QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
} }
SettingsFact::SettingsFact(QString settingGroup, FactMetaData* metaData, QObject* parent) SettingsFact::SettingsFact(QString settingsGroup, FactMetaData* metaData, QObject* parent)
: Fact(0, metaData->name(), metaData->type(), parent) : Fact (0, metaData->name(), metaData->type(), parent)
, _settingGroup(settingGroup) , _settingsGroup(settingsGroup)
, _visible(true) , _visible (true)
{ {
QSettings settings; QSettings settings;
if (!_settingGroup.isEmpty()) { if (!_settingsGroup.isEmpty()) {
settings.beginGroup(_settingGroup); settings.beginGroup(_settingsGroup);
} }
// Allow core plugin a chance to override the default value // 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); setMetaData(metaData);
QVariant rawDefaultValue = metaData->rawDefaultValue(); QVariant rawDefaultValue = metaData->rawDefaultValue();
...@@ -60,7 +60,7 @@ const SettingsFact& SettingsFact::operator=(const SettingsFact& other) ...@@ -60,7 +60,7 @@ const SettingsFact& SettingsFact::operator=(const SettingsFact& other)
{ {
Fact::operator=(other); Fact::operator=(other);
_settingGroup = other._settingGroup; _settingsGroup = other._settingsGroup;
return *this; return *this;
} }
...@@ -69,8 +69,8 @@ void SettingsFact::_rawValueChanged(QVariant value) ...@@ -69,8 +69,8 @@ void SettingsFact::_rawValueChanged(QVariant value)
{ {
QSettings settings; QSettings settings;
if (!_settingGroup.isEmpty()) { if (!_settingsGroup.isEmpty()) {
settings.beginGroup(_settingGroup); settings.beginGroup(_settingsGroup);
} }
settings.setValue(_name, value); settings.setValue(_name, value);
......
...@@ -7,12 +7,7 @@ ...@@ -7,12 +7,7 @@
* *
****************************************************************************/ ****************************************************************************/
#pragma once
/// @file
/// @author Don Gagne <don@thegagnes.com>
#ifndef SettingsFact_H
#define SettingsFact_H
#include "Fact.h" #include "Fact.h"
...@@ -23,7 +18,7 @@ class SettingsFact : public Fact ...@@ -23,7 +18,7 @@ class SettingsFact : public Fact
public: public:
SettingsFact(QObject* parent = NULL); 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); SettingsFact(const SettingsFact& other, QObject* parent = NULL);
const SettingsFact& operator=(const SettingsFact& other); const SettingsFact& operator=(const SettingsFact& other);
...@@ -37,8 +32,6 @@ private slots: ...@@ -37,8 +32,6 @@ private slots:
void _rawValueChanged(QVariant value); void _rawValueChanged(QVariant value);
private: private:
QString _settingGroup; QString _settingsGroup;
bool _visible; bool _visible;
}; };
#endif
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <QtQml> #include <QtQml>
#include <QStandardPaths> #include <QStandardPaths>
const char* AppSettings::appSettingsGroupName = "App"; const char* AppSettings::settingsGroup = "App";
const char* AppSettings::offlineEditingFirmwareTypeSettingsName = "OfflineEditingFirmwareType"; const char* AppSettings::offlineEditingFirmwareTypeSettingsName = "OfflineEditingFirmwareType";
const char* AppSettings::offlineEditingVehicleTypeSettingsName = "OfflineEditingVehicleType"; const char* AppSettings::offlineEditingVehicleTypeSettingsName = "OfflineEditingVehicleType";
const char* AppSettings::offlineEditingCruiseSpeedSettingsName = "OfflineEditingCruiseSpeed"; const char* AppSettings::offlineEditingCruiseSpeedSettingsName = "OfflineEditingCruiseSpeed";
...@@ -58,7 +58,7 @@ const char* AppSettings::videoDirectory = "Video"; ...@@ -58,7 +58,7 @@ const char* AppSettings::videoDirectory = "Video";
const char* AppSettings::crashDirectory = "CrashLogs"; const char* AppSettings::crashDirectory = "CrashLogs";
AppSettings::AppSettings(QObject* parent) AppSettings::AppSettings(QObject* parent)
: SettingsGroup (appSettingsGroupName, QString() /* root settings group */, parent) : SettingsGroup (settingsGroup, QString() /* root settings group */, parent)
, _offlineEditingFirmwareTypeFact (NULL) , _offlineEditingFirmwareTypeFact (NULL)
, _offlineEditingVehicleTypeFact (NULL) , _offlineEditingVehicleTypeFact (NULL)
, _offlineEditingCruiseSpeedFact (NULL) , _offlineEditingCruiseSpeedFact (NULL)
......
...@@ -93,7 +93,7 @@ public: ...@@ -93,7 +93,7 @@ public:
static MAV_AUTOPILOT offlineEditingFirmwareTypeFromFirmwareType(MAV_AUTOPILOT firmwareType); static MAV_AUTOPILOT offlineEditingFirmwareTypeFromFirmwareType(MAV_AUTOPILOT firmwareType);
static MAV_TYPE offlineEditingVehicleTypeFromVehicleType(MAV_TYPE vehicleType); static MAV_TYPE offlineEditingVehicleTypeFromVehicleType(MAV_TYPE vehicleType);
static const char* appSettingsGroupName; static const char* settingsGroup;
static const char* offlineEditingFirmwareTypeSettingsName; static const char* offlineEditingFirmwareTypeSettingsName;
static const char* offlineEditingVehicleTypeSettingsName; static const char* offlineEditingVehicleTypeSettingsName;
......
...@@ -190,8 +190,13 @@ bool QGCCorePlugin::overrideSettingsGroupVisibility(QString name) ...@@ -190,8 +190,13 @@ bool QGCCorePlugin::overrideSettingsGroupVisibility(QString name)
return true; 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 //-- Default Palette
if (metaData.name() == AppSettings::indoorPaletteName) { if (metaData.name() == AppSettings::indoorPaletteName) {
QVariant outdoorPalette; QVariant outdoorPalette;
......
...@@ -72,9 +72,10 @@ public: ...@@ -72,9 +72,10 @@ public:
virtual bool overrideSettingsGroupVisibility(QString name); virtual bool overrideSettingsGroupVisibility(QString name);
/// Allows the core plugin to override the setting meta data before the setting fact is created. /// 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 /// @param metaData - MetaData for setting fact
/// @return true: Setting should be visible in ui, false: Setting should not be shown in ui /// @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. /// Return the resource file which contains the brand image for for Indoor theme.
virtual QString brandImageIndoor(void) const { return QString(); } virtual QString brandImageIndoor(void) const { return QString(); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment