From 23561c4a5ced26271879bf3e6cf131c6bf241d56 Mon Sep 17 00:00:00 2001 From: dheideman Date: Thu, 14 Sep 2017 18:36:33 -0700 Subject: [PATCH] Move User Brand Image to new factgroup --- qgroundcontrol.pro | 2 + qgroundcontrol.qrc | 1 + src/Settings/AppSettings.cc | 22 ----------- src/Settings/AppSettings.h | 8 ---- src/Settings/BrandImage.SettingsGroup.json | 16 ++++++++ src/Settings/BrandImageSettings.cc | 44 ++++++++++++++++++++++ src/Settings/BrandImageSettings.h | 38 +++++++++++++++++++ src/Settings/SettingsManager.cc | 2 + src/Settings/SettingsManager.h | 4 ++ src/ui/preferences/GeneralSettings.qml | 8 ++-- src/ui/toolbar/MainToolBarIndicators.qml | 4 +- 11 files changed, 113 insertions(+), 36 deletions(-) create mode 100644 src/Settings/BrandImage.SettingsGroup.json create mode 100644 src/Settings/BrandImageSettings.cc create mode 100644 src/Settings/BrandImageSettings.h diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 47e517ca3..c9145d77f 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -554,6 +554,7 @@ HEADERS += \ src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \ src/Settings/AppSettings.h \ src/Settings/AutoConnectSettings.h \ + src/Settings/BrandImageSettings.h \ src/Settings/FlightMapSettings.h \ src/Settings/GuidedSettings.h \ src/Settings/RTKSettings.h \ @@ -736,6 +737,7 @@ SOURCES += \ src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \ src/Settings/AppSettings.cc \ src/Settings/AutoConnectSettings.cc \ + src/Settings/BrandImageSettings.cc \ src/Settings/FlightMapSettings.cc \ src/Settings/GuidedSettings.cc \ src/Settings/RTKSettings.cc \ diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index adc4f7795..ce13d5a07 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -222,6 +222,7 @@ src/Vehicle/VibrationFact.json src/Vehicle/TemperatureFact.json src/Vehicle/SubmarineFact.json + src/Settings/BrandImage.SettingsGroup.json src/comm/APMArduCopterMockLink.params diff --git a/src/Settings/AppSettings.cc b/src/Settings/AppSettings.cc index 3f2375bdf..65068ef39 100644 --- a/src/Settings/AppSettings.cc +++ b/src/Settings/AppSettings.cc @@ -32,8 +32,6 @@ const char* AppSettings::appFontPointSizeName = "BaseDev const char* AppSettings::indoorPaletteName = "StyleIsDark"; const char* AppSettings::showLargeCompassName = "ShowLargeCompass"; const char* AppSettings::savePathName = "SavePath"; -const char* AppSettings::userBrandImageIndoorName = "UserBrandImageIndoor"; -const char* AppSettings::userBrandImageOutdoorName = "UserBrandImageOutdoor"; const char* AppSettings::autoLoadMissionsName = "AutoLoadMissions"; const char* AppSettings::mapboxTokenName = "MapboxToken"; const char* AppSettings::esriTokenName = "EsriToken"; @@ -73,8 +71,6 @@ AppSettings::AppSettings(QObject* parent) , _indoorPaletteFact(NULL) , _showLargeCompassFact(NULL) , _savePathFact(NULL) - , _userBrandImageIndoorFact(NULL) - , _userBrandImageOutdoorFact(NULL) , _autoLoadMissionsFact(NULL) , _mapboxTokenFact(NULL) , _esriTokenFact(NULL) @@ -335,24 +331,6 @@ QString AppSettings::videoSavePath(void) return fullPath; } -Fact* AppSettings::userBrandImageIndoor(void) -{ - if (!_userBrandImageIndoorFact) { - _userBrandImageIndoorFact = _createSettingsFact(userBrandImageIndoorName); - } - - return _userBrandImageIndoorFact; -} - -Fact* AppSettings::userBrandImageOutdoor(void) -{ - if (!_userBrandImageOutdoorFact) { - _userBrandImageOutdoorFact = _createSettingsFact(userBrandImageOutdoorName); - } - - return _userBrandImageOutdoorFact; -} - Fact* AppSettings::autoLoadMissions(void) { if (!_autoLoadMissionsFact) { diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h index 0314a17ac..5b29ac370 100644 --- a/src/Settings/AppSettings.h +++ b/src/Settings/AppSettings.h @@ -36,8 +36,6 @@ public: Q_PROPERTY(Fact* indoorPalette READ indoorPalette CONSTANT) Q_PROPERTY(Fact* showLargeCompass READ showLargeCompass CONSTANT) Q_PROPERTY(Fact* savePath READ savePath CONSTANT) - Q_PROPERTY(Fact* userBrandImageIndoor READ userBrandImageIndoor CONSTANT) - Q_PROPERTY(Fact* userBrandImageOutdoor READ userBrandImageOutdoor CONSTANT) Q_PROPERTY(Fact* autoLoadMissions READ autoLoadMissions CONSTANT) Q_PROPERTY(Fact* mapboxToken READ mapboxToken CONSTANT) Q_PROPERTY(Fact* esriToken READ esriToken CONSTANT) @@ -73,8 +71,6 @@ public: Fact* indoorPalette (void); Fact* showLargeCompass (void); Fact* savePath (void); - Fact* userBrandImageIndoor (void); - Fact* userBrandImageOutdoor (void); Fact* autoLoadMissions (void); Fact* mapboxToken (void); Fact* esriToken (void); @@ -107,8 +103,6 @@ public: static const char* indoorPaletteName; static const char* showLargeCompassName; static const char* savePathName; - static const char* userBrandImageIndoorName; - static const char* userBrandImageOutdoorName; static const char* autoLoadMissionsName; static const char* mapboxTokenName; static const char* esriTokenName; @@ -156,8 +150,6 @@ private: SettingsFact* _indoorPaletteFact; SettingsFact* _showLargeCompassFact; SettingsFact* _savePathFact; - SettingsFact* _userBrandImageIndoorFact; - SettingsFact* _userBrandImageOutdoorFact; SettingsFact* _autoLoadMissionsFact; SettingsFact* _mapboxTokenFact; SettingsFact* _esriTokenFact; diff --git a/src/Settings/BrandImage.SettingsGroup.json b/src/Settings/BrandImage.SettingsGroup.json new file mode 100644 index 000000000..2d80c20bc --- /dev/null +++ b/src/Settings/BrandImage.SettingsGroup.json @@ -0,0 +1,16 @@ +[ +{ + "name": "UserBrandImageIndoor", + "shortDescription": "User-selected brand image", + "longDescription": "Location in file system of user-selected brand image (indoor)", + "type": "string", + "defaultValue": "" +}, +{ + "name": "UserBrandImageOutdoor", + "shortDescription": "User-selected brand image", + "longDescription": "Location in file system of user-selected brand image (outdoor)", + "type": "string", + "defaultValue": "" +} +] diff --git a/src/Settings/BrandImageSettings.cc b/src/Settings/BrandImageSettings.cc new file mode 100644 index 000000000..20bdc6d3f --- /dev/null +++ b/src/Settings/BrandImageSettings.cc @@ -0,0 +1,44 @@ +/**************************************************************************** + * + * (c) 2009-2017 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ + +#include "BrandImageSettings.h" + +#include +#include + +const char* BrandImageSettings::brandImageSettingsGroupName = "BrandImage"; +const char* BrandImageSettings::userBrandImageIndoorName = "UserBrandImageIndoor"; +const char* BrandImageSettings::userBrandImageOutdoorName = "UserBrandImageOutdoor"; + +BrandImageSettings::BrandImageSettings(QObject* parent) + : SettingsGroup(brandImageSettingsGroupName, QString() /* root settings group */, parent) + , _userBrandImageIndoorFact(NULL) + , _userBrandImageOutdoorFact(NULL) +{ + QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); + qmlRegisterUncreatableType("QGroundControl.SettingsManager", 1, 0, "BrandImageSettings", "Reference only"); +} + +Fact* BrandImageSettings::userBrandImageIndoor(void) +{ + if (!_userBrandImageIndoorFact) { + _userBrandImageIndoorFact = _createSettingsFact(userBrandImageIndoorName); + } + + return _userBrandImageIndoorFact; +} + +Fact* BrandImageSettings::userBrandImageOutdoor(void) +{ + if (!_userBrandImageOutdoorFact) { + _userBrandImageOutdoorFact = _createSettingsFact(userBrandImageOutdoorName); + } + + return _userBrandImageOutdoorFact; +} diff --git a/src/Settings/BrandImageSettings.h b/src/Settings/BrandImageSettings.h new file mode 100644 index 000000000..c2f66b3d3 --- /dev/null +++ b/src/Settings/BrandImageSettings.h @@ -0,0 +1,38 @@ +/**************************************************************************** + * + * (c) 2009-2017 QGROUNDCONTROL PROJECT + * + * QGroundControl is licensed according to the terms in the file + * COPYING.md in the root of the source code directory. + * + ****************************************************************************/ + +#ifndef BrandImageSettings_H +#define BrandImageSettings_H + +#include "SettingsGroup.h" + +class BrandImageSettings : public SettingsGroup +{ + Q_OBJECT + +public: + BrandImageSettings(QObject* parent = NULL); + + Q_PROPERTY(Fact* userBrandImageIndoor READ userBrandImageIndoor CONSTANT) + Q_PROPERTY(Fact* userBrandImageOutdoor READ userBrandImageOutdoor CONSTANT) + + Fact* userBrandImageIndoor (void); + Fact* userBrandImageOutdoor (void); + + static const char* brandImageSettingsGroupName; + + static const char* userBrandImageIndoorName; + static const char* userBrandImageOutdoorName; + +private: + SettingsFact* _userBrandImageIndoorFact; + SettingsFact* _userBrandImageOutdoorFact; +}; + +#endif diff --git a/src/Settings/SettingsManager.cc b/src/Settings/SettingsManager.cc index d2e8e10cb..643bf2345 100644 --- a/src/Settings/SettingsManager.cc +++ b/src/Settings/SettingsManager.cc @@ -21,6 +21,7 @@ SettingsManager::SettingsManager(QGCApplication* app, QGCToolbox* toolbox) , _flightMapSettings (NULL) , _rtkSettings (NULL) , _guidedSettings (NULL) + , _brandImageSettings (NULL) { } @@ -38,4 +39,5 @@ void SettingsManager::setToolbox(QGCToolbox *toolbox) _flightMapSettings = new FlightMapSettings(this); _rtkSettings = new RTKSettings(this); _guidedSettings = new GuidedSettings(this); + _brandImageSettings = new BrandImageSettings(this); } diff --git a/src/Settings/SettingsManager.h b/src/Settings/SettingsManager.h index c38cd725c..a69b7f6bc 100644 --- a/src/Settings/SettingsManager.h +++ b/src/Settings/SettingsManager.h @@ -21,6 +21,7 @@ #include "FlightMapSettings.h" #include "RTKSettings.h" #include "GuidedSettings.h" +#include "BrandImageSettings.h" #include @@ -39,6 +40,7 @@ public: Q_PROPERTY(QObject* flightMapSettings READ flightMapSettings CONSTANT) Q_PROPERTY(QObject* rtkSettings READ rtkSettings CONSTANT) Q_PROPERTY(QObject* guidedSettings READ guidedSettings CONSTANT) + Q_PROPERTY(QObject* brandImageSettings READ brandImageSettings CONSTANT) // Override from QGCTool virtual void setToolbox(QGCToolbox *toolbox); @@ -50,6 +52,7 @@ public: FlightMapSettings* flightMapSettings (void) { return _flightMapSettings; } RTKSettings* rtkSettings (void) { return _rtkSettings; } GuidedSettings* guidedSettings (void) { return _guidedSettings; } + BrandImageSettings* brandImageSettings (void) { return _brandImageSettings; } private: AppSettings* _appSettings; @@ -59,6 +62,7 @@ private: FlightMapSettings* _flightMapSettings; RTKSettings* _rtkSettings; GuidedSettings* _guidedSettings; + BrandImageSettings* _brandImageSettings; }; #endif diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml index dafc78a26..c7faeebde 100644 --- a/src/ui/preferences/GeneralSettings.qml +++ b/src/ui/preferences/GeneralSettings.qml @@ -34,9 +34,9 @@ QGCView { property Fact _percentRemainingAnnounce: QGroundControl.settingsManager.appSettings.batteryPercentRemainingAnnounce property Fact _savePath: QGroundControl.settingsManager.appSettings.savePath - property Fact _userBrandImageIndoor: QGroundControl.settingsManager.appSettings.userBrandImageIndoor - property Fact _userBrandImageOutdoor: QGroundControl.settingsManager.appSettings.userBrandImageOutdoor property Fact _appFontPointSize: QGroundControl.settingsManager.appSettings.appFontPointSize + property Fact _userBrandImageIndoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageIndoor + property Fact _userBrandImageOutdoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageOutdoor property real _labelWidth: ScreenTools.defaultFontPixelWidth * 15 property real _editFieldWidth: ScreenTools.defaultFontPixelWidth * 30 property Fact _mapProvider: QGroundControl.settingsManager.flightMapSettings.mapProvider @@ -697,7 +697,7 @@ QGCView { anchors.baseline: userBrandImageIndoorBrowse.baseline readOnly: true width: _editFieldWidth - text: QGroundControl.settingsManager.appSettings.userBrandImageIndoor.valueString.replace("file:///","") + text: _userBrandImageIndoor.valueString.replace("file:///","") } QGCButton { id: userBrandImageIndoorBrowse @@ -729,7 +729,7 @@ QGCView { anchors.baseline: userBrandImageOutdoorBrowse.baseline readOnly: true width: _editFieldWidth - text: QGroundControl.settingsManager.appSettings.userBrandImageOutdoor.valueString.replace("file:///","") + text: _userBrandImageOutdoor.valueString.replace("file:///","") } QGCButton { id: userBrandImageOutdoorBrowse diff --git a/src/ui/toolbar/MainToolBarIndicators.qml b/src/ui/toolbar/MainToolBarIndicators.qml index 8cf0d4775..1698ce61a 100644 --- a/src/ui/toolbar/MainToolBarIndicators.qml +++ b/src/ui/toolbar/MainToolBarIndicators.qml @@ -96,8 +96,8 @@ Item { property bool _outdoorPalette: qgcPal.globalTheme === QGCPalette.Light property bool _corePluginBranding: QGroundControl.corePlugin.brandImageIndoor.length != 0 - property string _userBrandImageIndoor: QGroundControl.settingsManager.appSettings.userBrandImageIndoor.value - property string _userBrandImageOutdoor: QGroundControl.settingsManager.appSettings.userBrandImageOutdoor.value + property string _userBrandImageIndoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageIndoor.value + property string _userBrandImageOutdoor: QGroundControl.settingsManager.brandImageSettings.userBrandImageOutdoor.value property bool _userBrandingIndoor: _userBrandImageIndoor.length != 0 property bool _userBrandingOutdoor: _userBrandImageOutdoor.length != 0 property string _brandImageIndoor: _userBrandingIndoor ? _userBrandImageIndoor : (_userBrandingOutdoor ? _userBrandImageOutdoor : (_corePluginBranding ? QGroundControl.corePlugin.brandImageIndoor : (_activeVehicle ? _activeVehicle.brandImageIndoor : "") ) ) -- 2.22.0