Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Platzgummer
qgroundcontrol
Commits
53b09213
Commit
53b09213
authored
May 28, 2018
by
DonLakeFlyer
Browse files
Add settingsGroup qualifer to settings override
parent
168bdd6e
Changes
7
Hide whitespace changes
Inline
Side-by-side
src/FactSystem/Fact.cc
View file @
53b09213
...
...
@@ -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 */
);
}
...
...
src/FactSystem/SettingsFact.cc
View file @
53b09213
...
...
@@ -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
setting
s
Group
,
FactMetaData
*
metaData
,
QObject
*
parent
)
:
Fact
(
0
,
metaData
->
name
(),
metaData
->
type
(),
parent
)
,
_setting
s
Group
(
setting
s
Group
)
,
_visible
(
true
)
{
QSettings
settings
;
if
(
!
_settingGroup
.
isEmpty
())
{
settings
.
beginGroup
(
_settingGroup
);
if
(
!
_setting
s
Group
.
isEmpty
())
{
settings
.
beginGroup
(
_setting
s
Group
);
}
// 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
;
_setting
s
Group
=
other
.
_setting
s
Group
;
return
*
this
;
}
...
...
@@ -69,8 +69,8 @@ void SettingsFact::_rawValueChanged(QVariant value)
{
QSettings
settings
;
if
(
!
_settingGroup
.
isEmpty
())
{
settings
.
beginGroup
(
_settingGroup
);
if
(
!
_setting
s
Group
.
isEmpty
())
{
settings
.
beginGroup
(
_setting
s
Group
);
}
settings
.
setValue
(
_name
,
value
);
...
...
src/FactSystem/SettingsFact.h
View file @
53b09213
...
...
@@ -7,12 +7,7 @@
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#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
setting
s
Group
,
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
_setting
s
Group
;
bool
_visible
;
};
#endif
src/Settings/AppSettings.cc
View file @
53b09213
...
...
@@ -15,7 +15,7 @@
#include
<QtQml>
#include
<QStandardPaths>
const
char
*
AppSettings
::
appS
ettingsGroup
Name
=
"App"
;
const
char
*
AppSettings
::
s
ettingsGroup
=
"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
(
appS
ettingsGroup
Name
,
QString
()
/* root settings group */
,
parent
)
:
SettingsGroup
(
s
ettingsGroup
,
QString
()
/* root settings group */
,
parent
)
,
_offlineEditingFirmwareTypeFact
(
NULL
)
,
_offlineEditingVehicleTypeFact
(
NULL
)
,
_offlineEditingCruiseSpeedFact
(
NULL
)
...
...
src/Settings/AppSettings.h
View file @
53b09213
...
...
@@ -93,7 +93,7 @@ public:
static
MAV_AUTOPILOT
offlineEditingFirmwareTypeFromFirmwareType
(
MAV_AUTOPILOT
firmwareType
);
static
MAV_TYPE
offlineEditingVehicleTypeFromVehicleType
(
MAV_TYPE
vehicleType
);
static
const
char
*
appS
ettingsGroup
Name
;
static
const
char
*
s
ettingsGroup
;
static
const
char
*
offlineEditingFirmwareTypeSettingsName
;
static
const
char
*
offlineEditingVehicleTypeSettingsName
;
...
...
src/api/QGCCorePlugin.cc
View file @
53b09213
...
...
@@ -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
;
...
...
src/api/QGCCorePlugin.h
View file @
53b09213
...
...
@@ -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
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment