126void QgsSettingsRegistryCore::migrateOldSettings()
143#if defined( HAVE_QTSERIALPORT )
144 QgsGpsDetector::settingsGpsStopBits->copyValueFromKey( QStringLiteral(
"core/gps/stop_bits" ) );
145 QgsGpsDetector::settingsGpsFlowControl->copyValueFromKey( QStringLiteral(
"core/gps/flow_control" ) );
146 QgsGpsDetector::settingsGpsDataBits->copyValueFromKey( QStringLiteral(
"core/gps/data_bits" ) );
147 QgsGpsDetector::settingsGpsParity->copyValueFromKey( QStringLiteral(
"core/gps/parity" ) );
160 if (
QgsSettings().contains( QStringLiteral(
"Map/scales" ) ) )
162 const QStringList oldScales =
QgsSettings().
value( QStringLiteral(
"Map/scales" ) ).toStringList();
163 if ( ! oldScales.isEmpty() && !oldScales.at( 0 ).isEmpty() )
174 const QStringList oldScales =
QgsSettings().
value( QStringLiteral(
"map/scales" ) ).toStringList();
175 if ( ! oldScales.isEmpty() && !oldScales.at( 0 ).isEmpty() )
179 QStringList actualScales;
180 for (
const QString &element : oldScales )
182 actualScales << element.split(
"," );
187 else if (
QgsSettings().contains( QStringLiteral(
"Map/scales" ) ) )
195 settingsDigitizingLineColor->
copyValueFromKeys( QStringLiteral(
"qgis/digitizing/line_color_red" ), QStringLiteral(
"qgis/digitizing/line_color_green" ), QStringLiteral(
"qgis/digitizing/line_color_blue" ), QStringLiteral(
"qgis/digitizing/line_color_alpha" ) );
196 settingsDigitizingFillColor->
copyValueFromKeys( QStringLiteral(
"qgis/digitizing/fill_color_red" ), QStringLiteral(
"qgis/digitizing/fill_color_green" ), QStringLiteral(
"qgis/digitizing/fill_color_blue" ), QStringLiteral(
"qgis/digitizing/fill_color_alpha" ) );
201 QString name = setting->name();
210 name = QStringLiteral(
"reuseLastValues" );
214 name.replace(
'-',
'_' );
216 setting->copyValueFromKey( QString(
"qgis/digitizing/%1" ).arg( name ) );
223 settings.
beginGroup( QStringLiteral(
"gui/locator_filters" ) );
224 const QStringList childKeys = settings.
childKeys();
225 for (
const QString &childKey : childKeys )
227 if ( childKey.startsWith( QLatin1String(
"enabled" ) ) )
229 QString filter = childKey;
230 filter.remove( QStringLiteral(
"enabled_" ) );
239 const QStringList services = {QStringLiteral(
"WMS" ), QStringLiteral(
"WFS" ), QStringLiteral(
"WCS" )};
240 for (
const QString &service : services )
243 settings.
beginGroup( QStringLiteral(
"qgis/connections-%1" ).arg( service.toLower() ) );
244 const QStringList connections = settings.
childGroups();
245 if ( connections.count() == 0 )
247 for (
const QString &connection : connections )
274 if ( settings.
contains( QStringLiteral(
"selected" ) ) )
281 settings.
beginGroup( QStringLiteral(
"qgis/connections-vector-tile" ) );
282 const QStringList connections = settings.
childGroups();
283 for (
const QString &connection : connections )
285 QgsVectorTileProviderConnection::settingsUrl->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/url" ), {connection}, true );
286 QgsVectorTileProviderConnection::settingsZmin->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/zmin" ), {connection}, true );
287 QgsVectorTileProviderConnection::settingsZmax->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/zmax" ), {connection}, true );
288 QgsVectorTileProviderConnection::settingsAuthcfg->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/authcfg" ), {connection}, true );
289 QgsVectorTileProviderConnection::settingsUsername->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/username" ), {connection}, true );
290 QgsVectorTileProviderConnection::settingsPassword->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/password" ), {connection}, true );
291 QgsVectorTileProviderConnection::settingsStyleUrl->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/styleUrl" ), {connection}, true );
292 QgsVectorTileProviderConnection::settingsServiceType->copyValueFromKey( QStringLiteral(
"qgis/connections-vector-tile/%1/serviceType" ), {connection}, true );
295 QgsVectorTileProviderConnection::settingsHeaders->setValue(
QgsHttpHeaders( settings ).headers(), connection );
304 settings.
beginGroup( QStringLiteral(
"qgis/connections-xyz" ) );
305 const QStringList connections = settings.
childGroups();
306 for (
const QString &connection : connections )
328 const QStringList serviceKeys = {QStringLiteral(
"qgis/connections-arcgisfeatureserver" ), QStringLiteral(
"qgis/connections-arcgismapserver" )};
330 for (
const QString &serviceKey : serviceKeys )
333 const QStringList connections = settings.
childGroups();
334 for (
const QString &connection : connections )
348 settings.
remove( serviceKey );
356 const QStringList deviceNames =
QgsSettings().
value( QStringLiteral(
"/Plugin-GPS/devices/deviceList" ) ).toStringList();
358 for (
const QString &device : deviceNames )
372void QgsSettingsRegistryCore::backwardCompatibility()
386#if defined( HAVE_QTSERIALPORT )
387 QgsGpsDetector::settingsGpsStopBits->copyValueToKey( QStringLiteral(
"core/gps/stop_bits" ) );
388 QgsGpsDetector::settingsGpsFlowControl->copyValueToKey( QStringLiteral(
"core/gps/flow_control" ) );
389 QgsGpsDetector::settingsGpsDataBits->copyValueToKey( QStringLiteral(
"core/gps/data_bits" ) );
390 QgsGpsDetector::settingsGpsParity->copyValueToKey( QStringLiteral(
"core/gps/parity" ) );
403 settingsDigitizingLineColor->
copyValueToKeys( QStringLiteral(
"qgis/digitizing/line_color_red" ), QStringLiteral(
"qgis/digitizing/line_color_green" ), QStringLiteral(
"qgis/digitizing/line_color_blue" ), QStringLiteral(
"qgis/digitizing/line_color_alpha" ) );
404 settingsDigitizingFillColor->
copyValueToKeys( QStringLiteral(
"qgis/digitizing/fill_color_red" ), QStringLiteral(
"qgis/digitizing/fill_color_green" ), QStringLiteral(
"qgis/digitizing/fill_color_blue" ), QStringLiteral(
"qgis/digitizing/fill_color_alpha" ) );
409 QString name = setting->name();
417 name = QStringLiteral(
"reuseLastValues" );
421 name.replace(
'-',
'_' );
423 setting->copyValueToKey( QString(
"qgis/digitizing/%1" ).arg( name ) );
430 for (
const QString &filter : filters )
440 const QStringList services = {QStringLiteral(
"WMS" ), QStringLiteral(
"WFS" ), QStringLiteral(
"WCS" )};
441 for (
const QString &service : services )
444 if ( connections.count() == 0 )
447 settings.
beginGroup( QStringLiteral(
"qgis/connections-%1" ).arg( service.toLower() ) );
448 for (
const QString &connection : connections )
476 if ( settings.
contains( QStringLiteral(
"selected" ) ) )
485 settings.
beginGroup( QStringLiteral(
"qgis/connections-vector-tile" ) );
487 const QStringList connections = QgsVectorTileProviderConnection::sTreeConnectionVectorTile->items();
488 for (
const QString &connection : connections )
491 QgsVectorTileProviderConnection::settingsUrl->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/url" ), {connection} );
492 QgsVectorTileProviderConnection::settingsZmin->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/zmin" ), {connection} );
493 QgsVectorTileProviderConnection::settingsZmax->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/zmax" ), {connection} );
494 QgsVectorTileProviderConnection::settingsAuthcfg->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/authcfg" ), {connection} );
495 QgsVectorTileProviderConnection::settingsUsername->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/username" ), {connection} );
496 QgsVectorTileProviderConnection::settingsPassword->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/password" ), {connection} );
497 QgsVectorTileProviderConnection::settingsStyleUrl->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/styleUrl" ), {connection} );
498 QgsVectorTileProviderConnection::settingsServiceType->copyValueToKey( QStringLiteral(
"qgis/connections-vector-tile/%1/serviceType" ), {connection} );
501 if ( QgsVectorTileProviderConnection::settingsHeaders->exists( connection ) )
511 settings.
beginGroup( QStringLiteral(
"qgis/connections-xyz" ) );
513 for (
const QString &connection : connections )
536 settings.
beginGroup( QStringLiteral(
"qgis/connections-arcgisfeatureserver" ) );
539 for (
const QString &connection : connections )
561 for (
const QString &device : devices )
SettingsOption
Settings options.
static const Qgis::MapToolUnit DEFAULT_SNAP_UNITS
Default snapping distance units.
@ Pixels
Pixels unit of tolerance.
static const double DEFAULT_Z_COORDINATE
Default Z coordinate value.
static const double DEFAULT_SNAP_TOLERANCE
Default snapping distance tolerance.
static const double DEFAULT_M_COORDINATE
Default M coordinate value.
static QString defaultProjectScales()
A string with default project scales.
@ Round
Use rounded joins.
@ AllLayers
On all vector layers.
static const QgsSettingsEntryString * settingsUsername
static const QgsSettingsEntryString * settingsUrl
static const QgsSettingsEntryString * settingsPassword
static const QgsSettingsEntryVariantMap * settingsHeaders
static const QgsSettingsEntryString * settingsContentEndpoint
static QgsSettingsTreeNamedListNode * sTreeConnectionArcgis
static const QgsSettingsEntryString * settingsAuthcfg
static const QgsSettingsEntryString * settingsCommunityEndpoint
static const QgsSettingsEntryStringList * settingsSearchPathForTemplates
Settings entry search path for templates.
static QgsSettingsTreeNamedListNode * sTreeLocatorFilters
static const QgsSettingsEntryBool * settingsLocatorFilterDefault
Settings entry locator filter default value.
static const QgsSettingsEntryBool * settingsLocatorFilterEnabled
Settings entry locator filter enabled.
static const QgsSettingsEntryString * settingsLocatorFilterPrefix
Settings entry locator filter prefix.
static const QgsSettingsEntryInteger * settingsNetworkTimeout
Settings entry network timeout.
static const QgsSettingsEntryBool * settingsPreferCoordinatesForWfsT11
static const QgsSettingsEntryBool * settingsPagingEnabled
static const QgsSettingsEntryString * settingsMaxNumFeatures
static QgsSettingsTreeNamedListNode * sTreeOwsConnections
static const QgsSettingsEntryBool * settingsIgnoreGetFeatureInfoURI
static const QgsSettingsEntryString * settingsPassword
static const QgsSettingsEntryBool * settingsReportedLayerExtents
static const QgsSettingsEntryEnumFlag< Qgis::DpiMode > * settingsDpiMode
static const QgsSettingsEntryBool * settingsIgnoreAxisOrientation
static const QgsSettingsEntryBool * settingsInvertAxisOrientation
static const QgsSettingsEntryString * settingsVersion
static const QgsSettingsEntryString * settingsPagesize
static const QgsSettingsEntryString * settingsAuthCfg
static const QgsSettingsEntryEnumFlag< Qgis::TilePixelRatio > * settingsTilePixelRatio
static const QgsSettingsEntryVariantMap * settingsHeaders
static const QgsSettingsEntryString * settingsUsername
static const QgsSettingsEntryBool * settingsSmoothPixmapTransform
static const QgsSettingsEntryString * settingsUrl
static const QgsSettingsEntryBool * settingsIgnoreGetMapURI
static const QgsSettingsEntryInteger * settingsDefaultOutputRasterLayerExt
Settings entry default output raster layer ext.
static const QgsSettingsEntryInteger * settingsDefaultOutputVectorLayerExt
Settings entry default output vector layer ext.
static const QgsSettingsEntryString * settingsTempPath
Settings entry temp path.
static const QgsSettingsEntryBool * settingsPreferFilenameAsLayerName
Settings entry prefer filename as layer name.
static const QgsSettingsEntryBool * settingsRasterDefaultEarlyResampling
static const QgsSettingsEntryDouble * settingsRasterDefaultOversampling
bool setValue(const T &value, const QString &dynamicKeyPart=QString()) const
Set settings value.
Represent settings entry and provides methods for reading and writing settings values.
bool copyValueFromKey(const QString &key, bool removeSettingAtKey=false) const
Copies the value from a given key if it exists.
bool exists(const QString &dynamicKeyPart=QString()) const
Returns true if the settings is contained in the underlying QSettings.
QString name() const
Returns the name of the settings.
void copyValueToKey(const QString &key, const QStringList &dynamicKeyPartList=QStringList()) const
Copies the settings to the given key.
A boolean settings entry.
bool copyValueFromKeys(const QString &redKey, const QString &greenKey, const QString &blueKey, const QString &alphaKey=QString(), bool removeSettingAtKey=false) const
Copies the value from the given keys if they exist.
void copyValueToKeys(const QString &redKey, const QString &greenKey, const QString &blueKey, const QString &alphaKey=QString()) const
Copies the settings to the given keys.
A template class for enum and flag settings entry.
An integer settings entry.
A string list settings entry.
static const QgsSettingsEntryDouble * settingsDigitizingSearchRadiusVertexEdit
Settings entry digitizing search radius vertex edit.
static const QgsSettingsEntryBool * settingsDigitizingDefaultSnapEnabled
Settings entry digitizing default snap enabled.
static const QgsSettingsEntryEnumFlag< Qgis::MapToolUnit > * settingsDigitizingDefaultSnappingToleranceUnit
Settings entry digitizing default snapping tolerance unit.
static const QgsSettingsEntryDouble * settingsDigitizingOffsetMiterLimit
Settings entry digitizing offset miter limit.
static const QgsSettingsEntryEnumFlag< Qgis::JoinStyle > * settingsDigitizingOffsetJoinStyle
Settings entry digitizing offset join style.
static const QgsSettingsEntryDouble * settingsDigitizingMarkerSizeMm
Settings entry digitizing marker size mm.
static const QgsSettingsEntryEnumFlag< Qgis::MapToolUnit > * settingsDigitizingSearchRadiusVertexEditUnit
Settings entry digitizing search radius vertex edit unit.
static const QgsSettingsEntryBool * settingsLayerTreeShowFeatureCountForNewLayers
Settings entry show feature counts for newly added layers by default.
static const QgsSettingsEntryInteger * settingsDigitizingTracingMaxFeatureCount
Settings entry digitizing tracing max feature count.
static const QgsSettingsEntryColor * settingsDigitizingFillColor
Settings entry digitizing fill color.
static const QgsSettingsEntryBool * settingsDigitizingDisableEnterAttributeValuesDialog
Settings entry digitizing disable enter attribute values dialog.
static const QgsSettingsEntryDouble * settingsDigitizingDefaultSnappingTolerance
Settings entry digitizing default snapping tolerance.
static const QgsSettingsEntryInteger * settingsDigitizingLineWidth
Settings entry digitizing line width.
static const QgsSettingsEntryInteger * settingsDigitizingStreamTolerance
Settings entry digitizing stream tolerance.
static const QgsSettingsEntryBool * settingsDigitizingSnapTooltip
Settings entry digitizing snap tooltip.
static const QgsSettingsEntryEnumFlag< Qgis::SnappingMode > * settingsDigitizingDefaultSnapMode
Settings entry digitizing default snap type.
static const QgsSettingsEntryBool * settingsDigitizingSnapInvisibleFeature
Settings entry digitizing snap invisible feature.
static const QgsSettingsEntryDouble * settingsDigitizingLineColorAlphaScale
Settings entry digitizing line color alpha scale.
static const QgsSettingsEntryDouble * settingsDigitizingDefaultMValue
Settings entry digitizing default m value.
static const QgsSettingsEntryBool * settingsDigitizingLineGhost
Settings entry digitizing line ghost.
static const QgsSettingsEntryBool * settingsDigitizingMarkerOnlyForSelected
Settings entry digitizing marker only for selected.
static const QgsSettingsEntryColor * settingsDigitizingSnapColor
Settings entry digitizing snap color.
static const QgsSettingsEntryDouble * settingsDigitizingConvertToCurveAngleTolerance
Settings entry digitizing convert to curve angle tolerance.
static const QgsSettingsEntryString * settingsGpsBabelPath
Settings entry path to GPSBabel executable.
virtual ~QgsSettingsRegistryCore()
Destructor for QgsSettingsRegistryCore.
static const QgsSettingsEntryDouble * settingsDigitizingConvertToCurveDistanceTolerance
Settings entry digitizing convert to curve distance tolerance.
static const QgsSettingsEntryInteger * settingsDigitizingValidateGeometries
Settings entry digitizing validate geometries.
static const QgsSettingsEntryColor * settingsDigitizingLineColor
Settings entry digitizing line color.
static const QgsSettingsEntryInteger * settingsLayerParallelLoadingMaxCount
Settings entry maximum thread count used to load layer in parallel.
QgsSettingsRegistryCore()
Constructor for QgsSettingsRegistryCore.
static const QgsSettingsEntryBool * settingsDigitizingReuseLastValues
Settings entry digitizing reuseLastValues.
static const QgsSettingsEntryStringList * settingsMapScales
static const QgsSettingsEntryBool * settingsLayerParallelLoading
Settings entry whether layer are loading in parallel.
static const QgsSettingsEntryBool * settingsEnableWMSTilePrefetching
Settings entry enable WMS tile prefetching.
static const QgsSettingsEntryEnumFlag< Qgis::EndCapStyle > * settingsDigitizingOffsetCapStyle
Settings entry digitizing offset cap style.
static const QgsSettingsEntryEnumFlag< Qgis::SnappingType > * settingsDigitizingDefaultSnapType
Settings entry digitizing default snap type.
static const QgsSettingsEntryBool * settingsDigitizingConvertToCurve
Settings entry digitizing convert to curve.
static const QgsSettingsEntryDouble * settingsDigitizingDefaultZValue
Settings entry digitizing default z value.
static const QgsSettingsEntryString * settingsDigitizingMarkerStyle
Settings entry digitizing marker style.
static const QgsSettingsEntryBool * settingsDigitizingOffsetShowAdvanced
Settings entry digitizing offset show advanced.
static const QgsSettingsEntryInteger * settingsDigitizingOffsetQuadSeg
Settings entry digitizing offset quad seg.
QgsSettingsRegistry is used for settings introspection and collects a list of child QgsSettingsRegist...
void setSelectedItem(const QString &item, const QStringList &parentsNamedItems=QStringList())
Sets the selected named item from the named list node.
QStringList items(const QStringList &parentsNamedItems=QStringList()) const
Returns the list of items.
QList< const QgsSettingsEntryBase * > childrenSettings() const
Returns the children settings.
static QgsSettingsTreeNode * sTreeDigitizing
static QgsSettingsTreeNode * sTreeWms
static QgsSettingsTreeNode * sTreeLayerTree
static QgsSettingsTreeNode * sTreeGps
static QgsSettingsTreeNode * sTreeMap
static QgsSettingsTreeNode * sTreeCore
This class is a composition of two QSettings instances:
QStringList childGroups(Qgis::SettingsOrigin origin=Qgis::SettingsOrigin::Any) const
Returns a list of all key top-level groups that contain keys that can be read using the QSettings obj...
void endGroup()
Resets the group to what it was before the corresponding beginGroup() call.
QVariant value(const QString &key, const QVariant &defaultValue=QVariant(), Section section=NoSection) const
Returns the value for setting key.
bool contains(const QString &key, QgsSettings::Section section=QgsSettings::NoSection) const
Returns true if there exists a setting called key; returns false otherwise.
void beginGroup(const QString &prefix, QgsSettings::Section section=QgsSettings::NoSection)
Appends prefix to the current group.
QStringList childKeys() const
Returns a list of all top-level keys that can be read using the QSettings object.
void remove(const QString &key, QgsSettings::Section section=QgsSettings::NoSection)
Removes the setting key and any sub-settings of key in a section.
void setValue(const QString &key, const QVariant &value, QgsSettings::Section section=QgsSettings::NoSection)
Sets the value of setting key to value.
static QgsSettingsTreeNamedListNode * sTreeXyzConnections
static const QgsSettingsEntryString * settingsPassword
static const QgsSettingsEntryDouble * settingsTilePixelRatio
static const QgsSettingsEntryString * settingsInterpretation
static const QgsSettingsEntryString * settingsUsername
static const QgsSettingsEntryString * settingsAuthcfg
static const QgsSettingsEntryInteger * settingsZmin
static const QgsSettingsEntryBool * settingsHidden
static const QgsSettingsEntryInteger * settingsZmax
static const QgsSettingsEntryString * settingsUrl
static const QgsSettingsEntryVariantMap * settingsHeaders
static const QgsSettingsEntryInteger * settingsRenderingLabelCandidatesLimitLines
static const QgsSettingsEntryInteger * settingsRenderingLabelCandidatesLimitPoints
static const QgsSettingsEntryInteger * settingsRenderingLabelCandidatesLimitPolygons
#define Q_NOWARN_DEPRECATED_POP
#define Q_NOWARN_DEPRECATED_PUSH