Compare commits

..

28 Commits

Author SHA1 Message Date
Benoit D.-M. - oslandia
75f4322f07
Merge ca5ac9329097353b57833fb620ed44f416f34981 into 74549aad26c3358101e88477d9dfa1caae013d72 2025-07-01 12:12:11 +02:00
Juergen E. Fischer
74549aad26 Reapply "Allow free naming of project properties (#60855)"
This reverts commit fb11239112adfc321b3bbacbb20da888a7a37c23.
2025-07-01 09:08:44 +00:00
Juergen E. Fischer
eac401c009 if a plugin supports qt6 it should also support QGIS4 (fixes #62359) 2025-07-01 09:07:26 +00:00
Loïc Bartoletti
1f0166d35e
Merge pull request #62365 from benoitdm-oslandia/fix/cgibin_dir
fix: update default cgi-bin installation paths according to OS
2025-07-01 07:26:25 +02:00
Loïc Bartoletti
ada589bb1d
Merge pull request #62052 from martin-s42/visitPointsByRegularDistance-segfault-fix
fix segfault due to calling qgsDoubleNear with tollerance that can ne…
2025-07-01 06:59:03 +02:00
Alexander Bruy
08dd318614
Merge pull request #62463 from qgis/m-kuhn-patch-2
Add qtimageformats
2025-06-30 12:19:41 +01:00
Nyall Dawson
ac9051e2b6 Update src/core/CMakeLists.txt 2025-06-30 14:03:24 +12:00
Nyall Dawson
a940543035 Fix a number of warnings when building in c++20 mode 2025-06-30 14:03:24 +12:00
qgis-bot
d1528ee83d auto sipify 🍺 2025-06-29 23:10:34 +00:00
Mathieu Pellerin
d49bfa66ee Disable bogus lint warnings 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
d31b74c0ae Address review 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
231929e6e3 Make the feature filter provider thread friendly, relocate old filter classes back into server 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
8133424f5e Address review 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
d8d7d5480e Fix rebase conflict 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
42e2fbfc09 Add test masks 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
6c9e71fae2 Sipify, again! 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
d2377a0c48 Sipify 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
432e29a504 Add test coverage 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
cc17d79bd7 [layout] Add an atlas option to limit coverage layer rendering to the current feature only 2025-06-30 11:07:37 +12:00
Mathieu Pellerin
cbee242034 Move QgsFeatureFilter and QgsFeatureFilterProviderGroup from server into core 2025-06-30 11:07:37 +12:00
github-actions[bot]
e5ee5686c1 auto-fix pre-commit issues 2025-06-29 23:04:38 +00:00
Harrissou Sant-anna
8c0a4221e1 Add more methods to the Processing script template 2025-06-30 11:03:42 +12:00
Matthias Kuhn
89dbd40b8f
Add qtimageformats 2025-06-29 13:02:03 +02:00
bdm-oslandia
b1c8ef3265 fixup! fix: update default cgi-bin installation paths according to OS 2025-06-27 09:35:48 +02:00
bdm-oslandia
f4cf09d4b0 fixup! fix: update default cgi-bin installation paths according to OS 2025-06-25 08:29:52 +02:00
bdm-oslandia
9db58e3726 fixup! fix: update default cgi-bin installation paths according to OS 2025-06-24 17:37:57 +02:00
bdm-oslandia
551aa20f20 fix: update default cgi-bin installation paths according to OS 2025-06-23 10:44:49 +02:00
Martin Siegert
a156c43f7b
fix segfault due to calling qgsDoubleNear with tollerance that can never been reached
see issue #60772: function interpolatePoint in qgsabstractprofilesurfacegenerator.cpp:157 can return a nullpointer causing a segfault because qgsDoubleNear in visitPointsByRegularDistance in qgslinestring.cpp is called with a tolerance that is too small so that qgsDoubleNear always returns false. Solution: scale epsilon by the size of the numbers to be compared.
2025-05-29 13:37:03 -07:00
470 changed files with 3546 additions and 2447 deletions

View File

@ -979,7 +979,31 @@ if (WITH_CORE)
else()
# UNIX
set (DEFAULT_BIN_SUBDIR bin)
set (DEFAULT_CGIBIN_SUBDIR bin)
# From https://www.cyberciti.biz/faq/how-do-i-find-the-url-for-my-cgi-bin/
execute_process(COMMAND lsb_release -a OUTPUT_VARIABLE LSB_RELEASE_A)
if(EXISTS "/etc/fedora-release")
# in /var/www/cgi-bin
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
elseif (${CMAKE_HOST_SYSTEM_NAME} MATCHES "FreeBSD")
# in /usr/local/www/cgi-bin/
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
elseif (${CMAKE_HOST_SYSTEM_NAME} MATCHES "BSD")
# in /usr/local/libexec/cgi-bin/
set (DEFAULT_CGIBIN_SUBDIR libexec/cgi-bin)
elseif ("${LSB_RELEASE_A}" MATCHES "Ubuntu" OR "${LSB_RELEASE_A}" MATCHES "Debian" OR "${LSB_RELEASE_A}" MATCHES "Mint")
# in /usr/lib/cgi-bin/
set (DEFAULT_CGIBIN_SUBDIR lib/cgi-bin)
else()
# others: Red Hat/CentOS/Rocky/Alma Linux
# in /var/www/cgi-bin/
set (DEFAULT_CGIBIN_SUBDIR www/cgi-bin)
endif()
set (DEFAULT_LIB_SUBDIR lib${LIB_SUFFIX})
set (DEFAULT_DATA_SUBDIR share/qgis)
set (DEFAULT_LIBEXEC_SUBDIR lib${LIB_SUFFIX}/qgis)

View File

@ -62,7 +62,7 @@ Returns intensity of the light
Sets intensity of the light
%End
bool operator==( const QgsDirectionalLightSettings &other );
bool operator==( const QgsDirectionalLightSettings &other ) const;
};

View File

@ -95,7 +95,7 @@ Returns quadratic attenuation (A_2)
Sets quadratic attenuation (A_2)
%End
bool operator==( const QgsPointLightSettings &other );
bool operator==( const QgsPointLightSettings &other ) const;
};

View File

@ -62,7 +62,7 @@ Returns intensity of the light
Sets intensity of the light
%End
bool operator==( const QgsDirectionalLightSettings &other );
bool operator==( const QgsDirectionalLightSettings &other ) const;
};

View File

@ -95,7 +95,7 @@ Returns quadratic attenuation (A_2)
Sets quadratic attenuation (A_2)
%End
bool operator==( const QgsPointLightSettings &other );
bool operator==( const QgsPointLightSettings &other ) const;
};

View File

@ -10135,6 +10135,9 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature = Qgis.LayoutRenderFlag.LimitCoverageLayerRenderToCurrentFeature
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.is_monkey_patched = True
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.__doc__ = "Limit coverage layer rendering to the current atlas feature. \n.. versionadded:: 4.0"
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note::
@ -10200,6 +10203,10 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
.. versionadded:: 4.0
"""
# --

View File

@ -0,0 +1,5 @@
# The following has been generated automatically from src/core/qgsfeatureexpressionfilterprovider.h
try:
QgsFeatureExpressionFilterProvider.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,6 @@
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
try:
QgsFeatureFilterProvider.__abstract_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilterProvider.__virtual_methods__ = ['isFilterThreadSafe', 'filterFeatures']
QgsFeatureFilterProvider.__abstract_methods__ = ['layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -0,0 +1,5 @@
# The following has been generated automatically from src/core/qgsgroupedfeaturefilterprovider.h
try:
QgsGroupedFeatureFilterProvider.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -73,6 +73,26 @@ Sets whether the coverage layer should be hidden in map items in the
layouts.
.. seealso:: :py:func:`hideCoverage`
%End
bool limitCoverageLayerRenderToCurrentFeature() const;
%Docstring
Returns ``True`` if the atlas is set to limit rendering on the coverage
layer to the current feature.
.. seealso:: :py:func:`setHideCoverage`
.. versionadded:: 4.0
%End
void setLimitCoverageLayerRenderToCurrentFeature( bool limit );
%Docstring
Sets whether the rendering of the coverage layer should be limited to
the current feature.
.. seealso:: :py:func:`hideCoverage`
.. versionadded:: 4.0
%End
QString filenameExpression() const;

View File

@ -2912,6 +2912,7 @@ The development version
LosslessImageRendering,
SynchronousLegendGraphics,
AlwaysUseGlobalMasks,
LimitCoverageLayerRenderToCurrentFeature,
};
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;

View File

@ -0,0 +1,57 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeatureexpressionfilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureExpressionFilterProvider : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. versionadded:: 4.0
%End
%TypeHeaderCode
#include "qgsfeatureexpressionfilterprovider.h"
%End
public:
QgsFeatureExpressionFilterProvider();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring
Set a filter for the given layer.
:param layerId: the layer to filter
:param expression: the filter expression
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeatureexpressionfilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -0,0 +1,93 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureFilter : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
%End
%TypeHeaderCode
#include "qgsfeaturefilter.h"
%End
public:
QgsFeatureFilter();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Set a filter for the given layer.
:param layer: the layer to filter
:param expression: the filter expression
.. deprecated:: 4.0
Use the layer ID variant.
%End
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring
Set a filter for the given layer.
:param layerId: the layer to filter
:param expression: the filter expression
.. versionadded:: 4.0
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -30,7 +30,17 @@ also available.
public:
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 0;
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
%Docstring
Returns ``True`` if the filterFeature function is thread safe, which
will lead to reliance on layer ID instead of the raw layer pointer.
.. versionadded:: 4.0
.. deprecated:: 4.0
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this
@ -38,6 +48,22 @@ method.
:param layer: the layer to filter
:param featureRequest: the feature request to update
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const;
%Docstring
Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this
method.
:param layerId: the layer ID to filter
:param featureRequest: the feature request to update
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -0,0 +1,81 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilterprovidergroup.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
%End
%TypeHeaderCode
#include "qgsfeaturefilterprovidergroup.h"
%End
public:
QgsFeatureFilterProviderGroup();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring
Add another filter provider to the group
:param provider: The provider to add
:return: itself
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilterprovidergroup.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -0,0 +1,60 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgroupedfeaturefilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsGroupedFeatureFilterProvider : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. versionadded:: 4.0
%End
%TypeHeaderCode
#include "qgsgroupedfeaturefilterprovider.h"
%End
public:
QgsGroupedFeatureFilterProvider();
%Docstring
Constructor
%End
virtual bool isFilterThreadSafe() const /Deprecated/;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring
Add another filter provider to the group
:param provider: The provider to add
:return: itself
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgroupedfeaturefilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -1,14 +1,14 @@
Qgis.defaultProjectScales: src/core/qgis.h#L6067
Qgis.defaultProjectScales: src/core/qgis.h#L6068
Qgis.devVersion: src/core/qgis.h#L89
Qgis.geoNone: src/core/qgis.h#L6112
Qgis.geoProj4: src/core/qgis.h#L6142
Qgis.geoWkt: src/core/qgis.h#L6133
Qgis.geographicCrsAuthId: src/core/qgis.h#L6122
Qgis.geosVersion: src/core/qgis.h#L6102
Qgis.geosVersionInt: src/core/qgis.h#L6074
Qgis.geosVersionMajor: src/core/qgis.h#L6081
Qgis.geosVersionMinor: src/core/qgis.h#L6088
Qgis.geosVersionPatch: src/core/qgis.h#L6095
Qgis.geoNone: src/core/qgis.h#L6113
Qgis.geoProj4: src/core/qgis.h#L6143
Qgis.geoWkt: src/core/qgis.h#L6134
Qgis.geographicCrsAuthId: src/core/qgis.h#L6123
Qgis.geosVersion: src/core/qgis.h#L6103
Qgis.geosVersionInt: src/core/qgis.h#L6075
Qgis.geosVersionMajor: src/core/qgis.h#L6082
Qgis.geosVersionMinor: src/core/qgis.h#L6089
Qgis.geosVersionPatch: src/core/qgis.h#L6096
Qgis.releaseName: src/core/qgis.h#L79
Qgis.version: src/core/qgis.h#L65
Qgis.versionInt: src/core/qgis.h#L72
@ -4268,6 +4268,12 @@ QgsFeature.setGeometry: src/core/qgsfeature.h#L873
QgsFeature.setId: src/core/qgsfeature.h#L530
QgsFeature.setValid: src/core/qgsfeature.h#L813
QgsFeature: src/core/qgsfeature.h#L57
QgsFeatureExpressionFilterProvider.clone: src/core/qgsfeatureexpressionfilterprovider.h#L43
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L40
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L41
QgsFeatureExpressionFilterProvider.layerAttributes: src/core/qgsfeatureexpressionfilterprovider.h#L42
QgsFeatureExpressionFilterProvider.setFilter: src/core/qgsfeatureexpressionfilterprovider.h#L50
QgsFeatureExpressionFilterProvider: src/core/qgsfeatureexpressionfilterprovider.h#L34
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
@ -4279,9 +4285,11 @@ QgsFeatureFilterModel.setExtraIdentifierValueToNull: src/core/qgsfeaturefiltermo
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L71
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L59
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L65
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L97
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L72
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L85
QgsFeatureFilterProvider.isFilterThreadSafe: src/core/qgsfeaturefilterprovider.h#L59
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L91
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
@ -5762,6 +5770,12 @@ QgsGroupLayer.setTransformContext: src/core/qgsgrouplayer.h#L87
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
QgsGroupedFeatureFilterProvider.clone: src/core/qgsgroupedfeaturefilterprovider.h#L43
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L40
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L41
QgsGroupedFeatureFilterProvider.isFilterThreadSafe: src/core/qgsgroupedfeaturefilterprovider.h#L38
QgsGroupedFeatureFilterProvider.layerAttributes: src/core/qgsgroupedfeaturefilterprovider.h#L42
QgsGroupedFeatureFilterProvider: src/core/qgsgroupedfeaturefilterprovider.h#L32
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
@ -6780,53 +6794,55 @@ QgsLayoutAligner.alignItems: src/core/layout/qgslayoutaligner.h#L79
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L245
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L314
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L247
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L115
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L320
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L255
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L253
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L109
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L261
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L330
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L263
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L131
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L336
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L271
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L269
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L125
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L246
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L331
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L248
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L92
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L224
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L207
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L286
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L262
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L347
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L264
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L108
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L240
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L223
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L302
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L277
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L293
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L323
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L140
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L259
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L328
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L128
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L268
QgsLayoutAtlas.limitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L92
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L339
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L156
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L275
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L344
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L144
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L284
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L309
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L334
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L337
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L295
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L304
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L121
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L325
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L350
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L353
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L311
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L320
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L137
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L102
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L237
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L214
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L118
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L253
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L230
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L134
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L178
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L200
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L156
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L167
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L189
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L148
QgsLayoutAtlas.setLimitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L100
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L150
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L194
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L216
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L172
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L183
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L205
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L164
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L317
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L243
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L333
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L259
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
@ -7310,119 +7326,119 @@ QgsLayoutItemManualTable.type: src/core/layout/qgslayoutitemmanualtable.h#L46
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L361
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L828
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L785
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L842
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L385
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L862
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L643
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L685
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L662
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L928
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L604
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L601
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L395
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L748
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L471
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L981
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L388
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L919
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L634
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L915
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L408
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L409
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L451
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L948
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L766
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L570
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L584
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L922
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L707
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L701
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L365
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L994
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L925
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L811
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L869
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L366
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L500
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L535
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L734
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L964
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L855
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L373
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L622
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L955
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L764
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L934
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L755
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L594
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L407
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L403
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L722
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L715
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L398
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L958
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L481
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L826
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L988
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L921
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L992
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L999
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L798
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L850
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L817
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L939
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L603
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L417
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L651
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L694
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L673
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L490
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L628
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L435
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L575
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L592
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L410
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L510
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L541
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L746
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L553
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L529
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L380
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L612
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L595
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L426
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L912
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L878
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L405
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L558
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L974
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L931
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L364
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L997
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L461
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L920
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L900
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L888
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L597
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L444
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L317
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L148
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L56
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L70
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L84
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L141
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L99
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L63
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L77
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L91
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L127
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L107
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L134
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L40
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L362
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L829
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L786
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L843
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L386
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L863
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L644
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L686
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L663
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L929
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L605
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L602
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L396
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L749
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L472
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L982
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L389
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L920
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L635
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L916
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L409
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L410
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L452
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L949
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L767
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L571
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L585
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L923
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L708
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L702
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L366
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L995
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L926
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L812
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L870
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L367
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L501
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L536
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L735
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L965
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L856
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L374
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L623
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L956
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L765
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L935
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L756
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L595
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L408
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L404
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L723
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L716
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L399
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L959
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L482
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L827
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L989
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L922
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L993
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L1000
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L799
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L851
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L818
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L940
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L604
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L418
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L652
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L695
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L674
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L491
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L629
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L436
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L576
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L593
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L411
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L511
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L542
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L747
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L554
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L530
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L381
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L613
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L596
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L427
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L913
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L879
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L407
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L559
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L975
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L932
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L365
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L998
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L462
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L921
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L901
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L889
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L598
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L445
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L318
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L149
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L57
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L71
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L85
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L142
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L100
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L64
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L78
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L92
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L128
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L108
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L135
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L41
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
@ -7553,23 +7569,23 @@ QgsLayoutItemMapItem.stackingPosition: src/core/layout/qgslayoutitemmapitem.h#L1
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L297
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L219
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L208
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L194
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L248
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L290
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L262
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L187
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L284
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L201
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L255
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L269
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L233
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L241
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L224
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L276
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L170
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L298
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L220
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L209
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L195
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L249
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L291
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L263
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L188
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L285
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L202
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L256
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L270
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L234
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L242
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L225
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L277
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L171
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276

View File

@ -51,6 +51,7 @@
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
%Include auto_generated/qgsexpressionfieldbuffer.sip
%Include auto_generated/qgsfeature.sip
%Include auto_generated/qgsfeatureexpressionfilterprovider.sip
%Include auto_generated/qgsfeaturepickermodel.sip
%Include auto_generated/qgsfeaturepickermodelbase.sip
%Include auto_generated/qgsfeaturefiltermodel.sip
@ -77,6 +78,7 @@
%Include auto_generated/qgsgeometryvalidator.sip
%Include auto_generated/qgsgml.sip
%Include auto_generated/qgsgmlschema.sip
%Include auto_generated/qgsgroupedfeaturefilterprovider.sip
%Include auto_generated/qgsgrouplayer.sip
%Include auto_generated/qgshistogram.sip
%Include auto_generated/qgshstoreutils.sip

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsaccesscontrol.h
try:
QgsAccessControl.__overridden_methods__ = ['filterFeatures', 'clone', 'layerAttributes']
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsfeaturefilter.h
try:
QgsFeatureFilter.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilter.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
try:
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -35,6 +35,15 @@ Constructor
~QgsAccessControl();
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsAccessControl *clone() const /Factory/;
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring
Resolve features' filter of layers The method fetch filter's expressions
@ -49,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
void unresolveFilterFeatures();
%Docstring
Clear expression's cache computed from `resolveFilterFeatures`
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QString extraSubsetString( const QgsVectorLayer *layer ) const;
@ -111,17 +103,6 @@ Returns the layer delete right
:param layer: the layer to control
:return: ``True`` if we can do a delete
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
%Docstring
Returns the authorized layer attributes
:param layer: the layer to control
:param attributes: the list of attribute
:return: the list of visible attributes
%End
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;

View File

@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. deprecated:: 3.4
Use :py:class:`QgsFeatureExpressionFilterProvider`
%End
%TypeHeaderCode
@ -27,25 +31,14 @@ per-layer basis.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
%Docstring

View File

@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End
%TypeHeaderCode
@ -25,25 +29,14 @@ A filter filter provider grouping several filter providers.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -1,16 +1,17 @@
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L152
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L101
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L108
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L158
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L95
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L144
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L136
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L122
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L115
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L129
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L165
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L83
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L88
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L137
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L78
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L101
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L143
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L76
QgsAccessControl.isFilterThreadSafe: src/server/qgsaccesscontrol.h#L74
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L77
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L129
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L115
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L108
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L122
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L150
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L89
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L94
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
@ -54,15 +55,17 @@ QgsFcgiServerRequest.data: src/server/qgsfcgiserverrequest.h#L36
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L52
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L44
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L46
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L59
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L33
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L50
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L42
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L44
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L31
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L44
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L42
QgsFeatureFilter.isFilterThreadSafe: src/server/qgsfeaturefilter.h#L40
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L43
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L51
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L34
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L42
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L40
QgsFeatureFilterProviderGroup.isFilterThreadSafe: src/server/qgsfeaturefilterprovidergroup.h#L38
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L41
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L32
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97

View File

@ -10055,6 +10055,9 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.__doc__ = "When applying clipping paths for selective masking, always use global (\"entire map\") paths, instead of calculating local clipping paths per rendered feature. This results in considerably more complex layout exports in all current Qt versions. This flag only applies to vector layout exports. \n.. versionadded:: 3.38"
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature = Qgis.LayoutRenderFlag.LimitCoverageLayerRenderToCurrentFeature
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.is_monkey_patched = True
QgsLayoutRenderContext.LimitCoverageLayerRenderToCurrentFeature.__doc__ = "Limit coverage layer rendering to the current atlas feature. \n.. versionadded:: 4.0"
Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note::
@ -10120,6 +10123,10 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
.. versionadded:: 4.0
"""
# --

View File

@ -0,0 +1,5 @@
# The following has been generated automatically from src/core/qgsfeatureexpressionfilterprovider.h
try:
QgsFeatureExpressionFilterProvider.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,6 @@
# The following has been generated automatically from src/core/qgsfeaturefilterprovider.h
try:
QgsFeatureFilterProvider.__abstract_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilterProvider.__virtual_methods__ = ['isFilterThreadSafe', 'filterFeatures']
QgsFeatureFilterProvider.__abstract_methods__ = ['layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -0,0 +1,5 @@
# The following has been generated automatically from src/core/qgsgroupedfeaturefilterprovider.h
try:
QgsGroupedFeatureFilterProvider.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -73,6 +73,26 @@ Sets whether the coverage layer should be hidden in map items in the
layouts.
.. seealso:: :py:func:`hideCoverage`
%End
bool limitCoverageLayerRenderToCurrentFeature() const;
%Docstring
Returns ``True`` if the atlas is set to limit rendering on the coverage
layer to the current feature.
.. seealso:: :py:func:`setHideCoverage`
.. versionadded:: 4.0
%End
void setLimitCoverageLayerRenderToCurrentFeature( bool limit );
%Docstring
Sets whether the rendering of the coverage layer should be limited to
the current feature.
.. seealso:: :py:func:`hideCoverage`
.. versionadded:: 4.0
%End
QString filenameExpression() const;

View File

@ -2912,6 +2912,7 @@ The development version
LosslessImageRendering,
SynchronousLegendGraphics,
AlwaysUseGlobalMasks,
LimitCoverageLayerRenderToCurrentFeature,
};
typedef QFlags<Qgis::LayoutRenderFlag> LayoutRenderFlags;

View File

@ -0,0 +1,57 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeatureexpressionfilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureExpressionFilterProvider : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. versionadded:: 4.0
%End
%TypeHeaderCode
#include "qgsfeatureexpressionfilterprovider.h"
%End
public:
QgsFeatureExpressionFilterProvider();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring
Set a filter for the given layer.
:param layerId: the layer to filter
:param expression: the filter expression
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeatureexpressionfilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -0,0 +1,93 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureFilter : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
%End
%TypeHeaderCode
#include "qgsfeaturefilter.h"
%End
public:
QgsFeatureFilter();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Set a filter for the given layer.
:param layer: the layer to filter
:param expression: the filter expression
.. deprecated:: 4.0
Use the layer ID variant.
%End
void setFilter( const QString &layerId, const QgsExpression &expression );
%Docstring
Set a filter for the given layer.
:param layerId: the layer to filter
:param expression: the filter expression
.. versionadded:: 4.0
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -30,7 +30,17 @@ also available.
public:
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 0;
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
%Docstring
Returns ``True`` if the filterFeature function is thread safe, which
will lead to reliance on layer ID instead of the raw layer pointer.
.. versionadded:: 4.0
.. deprecated:: 4.0
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this
@ -38,6 +48,22 @@ method.
:param layer: the layer to filter
:param featureRequest: the feature request to update
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const;
%Docstring
Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this
method.
:param layerId: the layer ID to filter
:param featureRequest: the feature request to update
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -0,0 +1,81 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilterprovidergroup.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
%End
%TypeHeaderCode
#include "qgsfeaturefilterprovidergroup.h"
%End
public:
QgsFeatureFilterProviderGroup();
%Docstring
Constructor
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
.. deprecated:: 4.0
Use the layer ID variant.
%End
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layerId: the layer ID to control
:param filterFeatures: the request to fill
.. versionadded:: 4.0
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring
Add another filter provider to the group
:param provider: The provider to add
:return: itself
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsfeaturefilterprovidergroup.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -0,0 +1,60 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgroupedfeaturefilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsGroupedFeatureFilterProvider : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. versionadded:: 4.0
%End
%TypeHeaderCode
#include "qgsgroupedfeaturefilterprovider.h"
%End
public:
QgsGroupedFeatureFilterProvider();
%Docstring
Constructor
%End
virtual bool isFilterThreadSafe() const /Deprecated/;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring
Add another filter provider to the group
:param provider: The provider to add
:return: itself
%End
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgroupedfeaturefilterprovider.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/

View File

@ -1,14 +1,14 @@
Qgis.defaultProjectScales: src/core/qgis.h#L6067
Qgis.defaultProjectScales: src/core/qgis.h#L6068
Qgis.devVersion: src/core/qgis.h#L89
Qgis.geoNone: src/core/qgis.h#L6112
Qgis.geoProj4: src/core/qgis.h#L6142
Qgis.geoWkt: src/core/qgis.h#L6133
Qgis.geographicCrsAuthId: src/core/qgis.h#L6122
Qgis.geosVersion: src/core/qgis.h#L6102
Qgis.geosVersionInt: src/core/qgis.h#L6074
Qgis.geosVersionMajor: src/core/qgis.h#L6081
Qgis.geosVersionMinor: src/core/qgis.h#L6088
Qgis.geosVersionPatch: src/core/qgis.h#L6095
Qgis.geoNone: src/core/qgis.h#L6113
Qgis.geoProj4: src/core/qgis.h#L6143
Qgis.geoWkt: src/core/qgis.h#L6134
Qgis.geographicCrsAuthId: src/core/qgis.h#L6123
Qgis.geosVersion: src/core/qgis.h#L6103
Qgis.geosVersionInt: src/core/qgis.h#L6075
Qgis.geosVersionMajor: src/core/qgis.h#L6082
Qgis.geosVersionMinor: src/core/qgis.h#L6089
Qgis.geosVersionPatch: src/core/qgis.h#L6096
Qgis.releaseName: src/core/qgis.h#L79
Qgis.version: src/core/qgis.h#L65
Qgis.versionInt: src/core/qgis.h#L72
@ -4268,6 +4268,12 @@ QgsFeature.setGeometry: src/core/qgsfeature.h#L873
QgsFeature.setId: src/core/qgsfeature.h#L530
QgsFeature.setValid: src/core/qgsfeature.h#L813
QgsFeature: src/core/qgsfeature.h#L57
QgsFeatureExpressionFilterProvider.clone: src/core/qgsfeatureexpressionfilterprovider.h#L43
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L40
QgsFeatureExpressionFilterProvider.filterFeatures: src/core/qgsfeatureexpressionfilterprovider.h#L41
QgsFeatureExpressionFilterProvider.layerAttributes: src/core/qgsfeatureexpressionfilterprovider.h#L42
QgsFeatureExpressionFilterProvider.setFilter: src/core/qgsfeatureexpressionfilterprovider.h#L50
QgsFeatureExpressionFilterProvider: src/core/qgsfeatureexpressionfilterprovider.h#L34
QgsFeatureFilterModel.QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L48
QgsFeatureFilterModel.extraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L85
QgsFeatureFilterModel.extraIdentifierValuesChanged: src/core/qgsfeaturefiltermodel.h#L107
@ -4279,9 +4285,11 @@ QgsFeatureFilterModel.setExtraIdentifierValueToNull: src/core/qgsfeaturefiltermo
QgsFeatureFilterModel.setExtraIdentifierValues: src/core/qgsfeaturefiltermodel.h#L92
QgsFeatureFilterModel.setIdentifierFields: src/core/qgsfeaturefiltermodel.h#L71
QgsFeatureFilterModel: src/core/qgsfeaturefiltermodel.h#L27
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L71
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L59
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L65
QgsFeatureFilterProvider.clone: src/core/qgsfeaturefilterprovider.h#L97
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L72
QgsFeatureFilterProvider.filterFeatures: src/core/qgsfeaturefilterprovider.h#L85
QgsFeatureFilterProvider.isFilterThreadSafe: src/core/qgsfeaturefilterprovider.h#L59
QgsFeatureFilterProvider.layerAttributes: src/core/qgsfeaturefilterprovider.h#L91
QgsFeatureFilterProvider: src/core/qgsfeaturefilterprovider.h#L41
QgsFeatureIterator.__iter__: src/core/qgsfeatureiterator.h#L294
QgsFeatureIterator.__next__: src/core/qgsfeatureiterator.h#L299
@ -5762,6 +5770,12 @@ QgsGroupLayer.setTransformContext: src/core/qgsgrouplayer.h#L87
QgsGroupLayer.writeSymbology: src/core/qgsgrouplayer.h#L90
QgsGroupLayer.writeXml: src/core/qgsgrouplayer.h#L89
QgsGroupLayer: src/core/qgsgrouplayer.h#L41
QgsGroupedFeatureFilterProvider.clone: src/core/qgsgroupedfeaturefilterprovider.h#L43
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L40
QgsGroupedFeatureFilterProvider.filterFeatures: src/core/qgsgroupedfeaturefilterprovider.h#L41
QgsGroupedFeatureFilterProvider.isFilterThreadSafe: src/core/qgsgroupedfeaturefilterprovider.h#L38
QgsGroupedFeatureFilterProvider.layerAttributes: src/core/qgsgroupedfeaturefilterprovider.h#L42
QgsGroupedFeatureFilterProvider: src/core/qgsgroupedfeaturefilterprovider.h#L32
QgsHashedLineSymbolLayer.clone: src/core/symbology/qgslinesymbollayer.h#L1040
QgsHashedLineSymbolLayer.color: src/core/symbology/qgslinesymbollayer.h#L1042
QgsHashedLineSymbolLayer.create: src/core/symbology/qgslinesymbollayer.h#L1034
@ -6780,53 +6794,55 @@ QgsLayoutAligner.alignItems: src/core/layout/qgslayoutaligner.h#L79
QgsLayoutAligner.distributeItems: src/core/layout/qgslayoutaligner.h#L86
QgsLayoutAligner.resizeItems: src/core/layout/qgslayoutaligner.h#L93
QgsLayoutAligner: src/core/layout/qgslayoutaligner.h#L35
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L245
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L314
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L247
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L115
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L320
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L255
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L253
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L109
QgsLayoutAtlas.beginRender: src/core/layout/qgslayoutatlas.h#L261
QgsLayoutAtlas.changed: src/core/layout/qgslayoutatlas.h#L330
QgsLayoutAtlas.count: src/core/layout/qgslayoutatlas.h#L263
QgsLayoutAtlas.coverageLayer: src/core/layout/qgslayoutatlas.h#L131
QgsLayoutAtlas.coverageLayerChanged: src/core/layout/qgslayoutatlas.h#L336
QgsLayoutAtlas.createExpressionContext: src/core/layout/qgslayoutatlas.h#L271
QgsLayoutAtlas.currentFeatureNumber: src/core/layout/qgslayoutatlas.h#L269
QgsLayoutAtlas.currentFilename: src/core/layout/qgslayoutatlas.h#L125
QgsLayoutAtlas.enabled: src/core/layout/qgslayoutatlas.h#L66
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L246
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L331
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L248
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L92
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L224
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L207
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L286
QgsLayoutAtlas.endRender: src/core/layout/qgslayoutatlas.h#L262
QgsLayoutAtlas.featureChanged: src/core/layout/qgslayoutatlas.h#L347
QgsLayoutAtlas.filePath: src/core/layout/qgslayoutatlas.h#L264
QgsLayoutAtlas.filenameExpression: src/core/layout/qgslayoutatlas.h#L108
QgsLayoutAtlas.filterExpression: src/core/layout/qgslayoutatlas.h#L240
QgsLayoutAtlas.filterFeatures: src/core/layout/qgslayoutatlas.h#L223
QgsLayoutAtlas.first: src/core/layout/qgslayoutatlas.h#L302
QgsLayoutAtlas.hideCoverage: src/core/layout/qgslayoutatlas.h#L78
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L277
QgsLayoutAtlas.last: src/core/layout/qgslayoutatlas.h#L293
QgsLayoutAtlas.layout: src/core/layout/qgslayoutatlas.h#L51
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L323
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L140
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L259
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L328
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L128
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L268
QgsLayoutAtlas.limitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L92
QgsLayoutAtlas.messagePushed: src/core/layout/qgslayoutatlas.h#L339
QgsLayoutAtlas.nameForPage: src/core/layout/qgslayoutatlas.h#L156
QgsLayoutAtlas.next: src/core/layout/qgslayoutatlas.h#L275
QgsLayoutAtlas.numberFeaturesChanged: src/core/layout/qgslayoutatlas.h#L344
QgsLayoutAtlas.pageNameExpression: src/core/layout/qgslayoutatlas.h#L144
QgsLayoutAtlas.previous: src/core/layout/qgslayoutatlas.h#L284
QgsLayoutAtlas.readXml: src/core/layout/qgslayoutatlas.h#L60
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L309
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L334
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L337
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L295
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L304
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L121
QgsLayoutAtlas.refreshCurrentFeature: src/core/layout/qgslayoutatlas.h#L325
QgsLayoutAtlas.renderBegun: src/core/layout/qgslayoutatlas.h#L350
QgsLayoutAtlas.renderEnded: src/core/layout/qgslayoutatlas.h#L353
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L311
QgsLayoutAtlas.seekTo: src/core/layout/qgslayoutatlas.h#L320
QgsLayoutAtlas.setCoverageLayer: src/core/layout/qgslayoutatlas.h#L137
QgsLayoutAtlas.setEnabled: src/core/layout/qgslayoutatlas.h#L72
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L102
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L237
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L214
QgsLayoutAtlas.setFilenameExpression: src/core/layout/qgslayoutatlas.h#L118
QgsLayoutAtlas.setFilterExpression: src/core/layout/qgslayoutatlas.h#L253
QgsLayoutAtlas.setFilterFeatures: src/core/layout/qgslayoutatlas.h#L230
QgsLayoutAtlas.setHideCoverage: src/core/layout/qgslayoutatlas.h#L84
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L134
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L178
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L200
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L156
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L167
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L189
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L148
QgsLayoutAtlas.setLimitCoverageLayerRenderToCurrentFeature: src/core/layout/qgslayoutatlas.h#L100
QgsLayoutAtlas.setPageNameExpression: src/core/layout/qgslayoutatlas.h#L150
QgsLayoutAtlas.setSortAscending: src/core/layout/qgslayoutatlas.h#L194
QgsLayoutAtlas.setSortExpression: src/core/layout/qgslayoutatlas.h#L216
QgsLayoutAtlas.setSortFeatures: src/core/layout/qgslayoutatlas.h#L172
QgsLayoutAtlas.sortAscending: src/core/layout/qgslayoutatlas.h#L183
QgsLayoutAtlas.sortExpression: src/core/layout/qgslayoutatlas.h#L205
QgsLayoutAtlas.sortFeatures: src/core/layout/qgslayoutatlas.h#L164
QgsLayoutAtlas.stringType: src/core/layout/qgslayoutatlas.h#L50
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L317
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L243
QgsLayoutAtlas.toggled: src/core/layout/qgslayoutatlas.h#L333
QgsLayoutAtlas.updateFeatures: src/core/layout/qgslayoutatlas.h#L259
QgsLayoutAtlas.writeXml: src/core/layout/qgslayoutatlas.h#L59
QgsLayoutAtlas: src/core/layout/qgslayoutatlas.h#L40
QgsLayoutChecker.setSize: src/core/qgsmultirenderchecker.h#L209
@ -7310,119 +7326,119 @@ QgsLayoutItemManualTable.type: src/core/layout/qgslayoutitemmanualtable.h#L46
QgsLayoutItemManualTable.verticalAlignmentForCell: src/core/layout/qgslayoutitemmanualtable.h#L145
QgsLayoutItemManualTable.writePropertiesToElement: src/core/layout/qgslayoutitemmanualtable.h#L139
QgsLayoutItemManualTable: src/core/layout/qgslayoutitemmanualtable.h#L31
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L361
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L828
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L785
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L842
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L385
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L862
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L643
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L685
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L662
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L928
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L604
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L601
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L395
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L748
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L471
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L981
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L388
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L919
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L634
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L915
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L408
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L409
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L451
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L948
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L766
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L570
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L584
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L922
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L707
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L701
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L365
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L994
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L925
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L811
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L869
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L366
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L500
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L535
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L734
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L964
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L855
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L373
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L622
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L955
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L764
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L934
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L755
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L594
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L407
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L403
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L722
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L715
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L398
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L958
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L481
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L826
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L988
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L921
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L992
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L999
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L798
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L850
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L817
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L939
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L603
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L417
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L651
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L694
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L673
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L490
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L628
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L435
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L575
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L592
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L410
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L510
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L541
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L746
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L553
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L529
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L380
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L612
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L595
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L426
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L912
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L878
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L405
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L558
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L974
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L931
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L364
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L997
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L461
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L920
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L900
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L888
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L597
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L444
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L317
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L148
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L56
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L70
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L84
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L141
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L99
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L63
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L77
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L91
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L127
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L107
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L134
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L40
QgsLayoutItemMap.QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L362
QgsLayoutItemMap.accept: src/core/layout/qgslayoutitemmap.h#L829
QgsLayoutItemMap.addLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L786
QgsLayoutItemMap.addRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L843
QgsLayoutItemMap.assignFreeId: src/core/layout/qgslayoutitemmap.h#L386
QgsLayoutItemMap.atlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L863
QgsLayoutItemMap.atlasDriven: src/core/layout/qgslayoutitemmap.h#L644
QgsLayoutItemMap.atlasMargin: src/core/layout/qgslayoutitemmap.h#L686
QgsLayoutItemMap.atlasScalingMode: src/core/layout/qgslayoutitemmap.h#L663
QgsLayoutItemMap.boundingRect: src/core/layout/qgslayoutitemmap.h#L929
QgsLayoutItemMap.containsAdvancedEffects: src/core/layout/qgslayoutitemmap.h#L605
QgsLayoutItemMap.containsWmsLayer: src/core/layout/qgslayoutitemmap.h#L602
QgsLayoutItemMap.create: src/core/layout/qgslayoutitemmap.h#L396
QgsLayoutItemMap.createExpressionContext: src/core/layout/qgslayoutitemmap.h#L749
QgsLayoutItemMap.crs: src/core/layout/qgslayoutitemmap.h#L472
QgsLayoutItemMap.crsChanged: src/core/layout/qgslayoutitemmap.h#L982
QgsLayoutItemMap.displayName: src/core/layout/qgslayoutitemmap.h#L389
QgsLayoutItemMap.draw: src/core/layout/qgslayoutitemmap.h#L920
QgsLayoutItemMap.drawAnnotations: src/core/layout/qgslayoutitemmap.h#L635
QgsLayoutItemMap.estimatedFrameBleed: src/core/layout/qgslayoutitemmap.h#L916
QgsLayoutItemMap.exportLayerBehavior: src/core/layout/qgslayoutitemmap.h#L409
QgsLayoutItemMap.exportLayerDetails: src/core/layout/qgslayoutitemmap.h#L410
QgsLayoutItemMap.extent: src/core/layout/qgslayoutitemmap.h#L452
QgsLayoutItemMap.extentChanged: src/core/layout/qgslayoutitemmap.h#L949
QgsLayoutItemMap.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L767
QgsLayoutItemMap.followVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L571
QgsLayoutItemMap.followVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L585
QgsLayoutItemMap.framePath: src/core/layout/qgslayoutitemmap.h#L923
QgsLayoutItemMap.grid: src/core/layout/qgslayoutitemmap.h#L708
QgsLayoutItemMap.grids: src/core/layout/qgslayoutitemmap.h#L702
QgsLayoutItemMap.icon: src/core/layout/qgslayoutitemmap.h#L366
QgsLayoutItemMap.invalidateCache: src/core/layout/qgslayoutitemmap.h#L995
QgsLayoutItemMap.isDrawing: src/core/layout/qgslayoutitemmap.h#L926
QgsLayoutItemMap.isLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L812
QgsLayoutItemMap.itemClippingSettings: src/core/layout/qgslayoutitemmap.h#L870
QgsLayoutItemMap.itemFlags: src/core/layout/qgslayoutitemmap.h#L367
QgsLayoutItemMap.keepLayerSet: src/core/layout/qgslayoutitemmap.h#L501
QgsLayoutItemMap.keepLayerStyles: src/core/layout/qgslayoutitemmap.h#L536
QgsLayoutItemMap.labelMargin: src/core/layout/qgslayoutitemmap.h#L735
QgsLayoutItemMap.layerStyleOverridesChanged: src/core/layout/qgslayoutitemmap.h#L965
QgsLayoutItemMap.layoutToMapCoordsTransform: src/core/layout/qgslayoutitemmap.h#L856
QgsLayoutItemMap.mapFlags: src/core/layout/qgslayoutitemmap.h#L374
QgsLayoutItemMap.mapRotation: src/core/layout/qgslayoutitemmap.h#L623
QgsLayoutItemMap.mapRotationChanged: src/core/layout/qgslayoutitemmap.h#L956
QgsLayoutItemMap.mapSettings: src/core/layout/qgslayoutitemmap.h#L765
QgsLayoutItemMap.mapToItemCoords: src/core/layout/qgslayoutitemmap.h#L935
QgsLayoutItemMap.mapUnitsToLayoutUnits: src/core/layout/qgslayoutitemmap.h#L756
QgsLayoutItemMap.moveContent: src/core/layout/qgslayoutitemmap.h#L595
QgsLayoutItemMap.nextExportPart: src/core/layout/qgslayoutitemmap.h#L408
QgsLayoutItemMap.numberExportLayers: src/core/layout/qgslayoutitemmap.h#L404
QgsLayoutItemMap.overview: src/core/layout/qgslayoutitemmap.h#L723
QgsLayoutItemMap.overviews: src/core/layout/qgslayoutitemmap.h#L716
QgsLayoutItemMap.paint: src/core/layout/qgslayoutitemmap.h#L399
QgsLayoutItemMap.preparedForAtlas: src/core/layout/qgslayoutitemmap.h#L959
QgsLayoutItemMap.presetCrs: src/core/layout/qgslayoutitemmap.h#L482
QgsLayoutItemMap.previewLabelingResults: src/core/layout/qgslayoutitemmap.h#L827
QgsLayoutItemMap.previewRefreshed: src/core/layout/qgslayoutitemmap.h#L989
QgsLayoutItemMap.readPropertiesFromElement: src/core/layout/qgslayoutitemmap.h#L922
QgsLayoutItemMap.refresh: src/core/layout/qgslayoutitemmap.h#L993
QgsLayoutItemMap.refreshDataDefinedProperty: src/core/layout/qgslayoutitemmap.h#L1000
QgsLayoutItemMap.removeLabelBlockingItem: src/core/layout/qgslayoutitemmap.h#L799
QgsLayoutItemMap.removeRenderedFeatureHandler: src/core/layout/qgslayoutitemmap.h#L851
QgsLayoutItemMap.renderingErrors: src/core/layout/qgslayoutitemmap.h#L818
QgsLayoutItemMap.requestedExtent: src/core/layout/qgslayoutitemmap.h#L940
QgsLayoutItemMap.requiresRasterization: src/core/layout/qgslayoutitemmap.h#L604
QgsLayoutItemMap.scale: src/core/layout/qgslayoutitemmap.h#L418
QgsLayoutItemMap.setAtlasDriven: src/core/layout/qgslayoutitemmap.h#L652
QgsLayoutItemMap.setAtlasMargin: src/core/layout/qgslayoutitemmap.h#L695
QgsLayoutItemMap.setAtlasScalingMode: src/core/layout/qgslayoutitemmap.h#L674
QgsLayoutItemMap.setCrs: src/core/layout/qgslayoutitemmap.h#L491
QgsLayoutItemMap.setDrawAnnotations: src/core/layout/qgslayoutitemmap.h#L629
QgsLayoutItemMap.setExtent: src/core/layout/qgslayoutitemmap.h#L436
QgsLayoutItemMap.setFollowVisibilityPreset: src/core/layout/qgslayoutitemmap.h#L576
QgsLayoutItemMap.setFollowVisibilityPresetName: src/core/layout/qgslayoutitemmap.h#L593
QgsLayoutItemMap.setFrameStrokeWidth: src/core/layout/qgslayoutitemmap.h#L411
QgsLayoutItemMap.setKeepLayerSet: src/core/layout/qgslayoutitemmap.h#L511
QgsLayoutItemMap.setKeepLayerStyles: src/core/layout/qgslayoutitemmap.h#L542
QgsLayoutItemMap.setLabelMargin: src/core/layout/qgslayoutitemmap.h#L747
QgsLayoutItemMap.setLayerStyleOverrides: src/core/layout/qgslayoutitemmap.h#L554
QgsLayoutItemMap.setLayers: src/core/layout/qgslayoutitemmap.h#L530
QgsLayoutItemMap.setMapFlags: src/core/layout/qgslayoutitemmap.h#L381
QgsLayoutItemMap.setMapRotation: src/core/layout/qgslayoutitemmap.h#L613
QgsLayoutItemMap.setMoveContentPreviewOffset: src/core/layout/qgslayoutitemmap.h#L596
QgsLayoutItemMap.setScale: src/core/layout/qgslayoutitemmap.h#L427
QgsLayoutItemMap.setZRange: src/core/layout/qgslayoutitemmap.h#L913
QgsLayoutItemMap.setZRangeEnabled: src/core/layout/qgslayoutitemmap.h#L879
QgsLayoutItemMap.startLayeredExport: src/core/layout/qgslayoutitemmap.h#L406
QgsLayoutItemMap.stopLayeredExport: src/core/layout/qgslayoutitemmap.h#L407
QgsLayoutItemMap.storeCurrentLayerStyles: src/core/layout/qgslayoutitemmap.h#L559
QgsLayoutItemMap.themeChanged: src/core/layout/qgslayoutitemmap.h#L975
QgsLayoutItemMap.transformedMapPolygon: src/core/layout/qgslayoutitemmap.h#L932
QgsLayoutItemMap.type: src/core/layout/qgslayoutitemmap.h#L365
QgsLayoutItemMap.updateBoundingRect: src/core/layout/qgslayoutitemmap.h#L998
QgsLayoutItemMap.visibleExtentPolygon: src/core/layout/qgslayoutitemmap.h#L462
QgsLayoutItemMap.writePropertiesToElement: src/core/layout/qgslayoutitemmap.h#L921
QgsLayoutItemMap.zRange: src/core/layout/qgslayoutitemmap.h#L901
QgsLayoutItemMap.zRangeEnabled: src/core/layout/qgslayoutitemmap.h#L889
QgsLayoutItemMap.zoomContent: src/core/layout/qgslayoutitemmap.h#L598
QgsLayoutItemMap.zoomToExtent: src/core/layout/qgslayoutitemmap.h#L445
QgsLayoutItemMap: src/core/layout/qgslayoutitemmap.h#L318
QgsLayoutItemMapAtlasClippingSettings.changed: src/core/layout/qgslayoutitemmap.h#L149
QgsLayoutItemMapAtlasClippingSettings.enabled: src/core/layout/qgslayoutitemmap.h#L57
QgsLayoutItemMapAtlasClippingSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L71
QgsLayoutItemMapAtlasClippingSettings.forceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L85
QgsLayoutItemMapAtlasClippingSettings.readXml: src/core/layout/qgslayoutitemmap.h#L142
QgsLayoutItemMapAtlasClippingSettings.restrictToLayers: src/core/layout/qgslayoutitemmap.h#L100
QgsLayoutItemMapAtlasClippingSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L64
QgsLayoutItemMapAtlasClippingSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L78
QgsLayoutItemMapAtlasClippingSettings.setForceLabelsInsideFeature: src/core/layout/qgslayoutitemmap.h#L92
QgsLayoutItemMapAtlasClippingSettings.setLayersToClip: src/core/layout/qgslayoutitemmap.h#L128
QgsLayoutItemMapAtlasClippingSettings.setRestrictToLayers: src/core/layout/qgslayoutitemmap.h#L108
QgsLayoutItemMapAtlasClippingSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L135
QgsLayoutItemMapAtlasClippingSettings: src/core/layout/qgslayoutitemmap.h#L41
QgsLayoutItemMapGrid.accept: src/core/layout/qgslayoutitemmapgrid.h#L1005
QgsLayoutItemMapGrid.annotationDirection: src/core/layout/qgslayoutitemmapgrid.h#L701
QgsLayoutItemMapGrid.annotationDisplay: src/core/layout/qgslayoutitemmapgrid.h#L656
@ -7553,23 +7569,23 @@ QgsLayoutItemMapItem.stackingPosition: src/core/layout/qgslayoutitemmapitem.h#L1
QgsLayoutItemMapItem.usesAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L128
QgsLayoutItemMapItem.writeXml: src/core/layout/qgslayoutitemmapitem.h#L65
QgsLayoutItemMapItem: src/core/layout/qgslayoutitemmapitem.h#L32
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L297
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L219
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L208
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L194
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L248
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L290
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L262
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L187
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L284
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L201
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L255
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L269
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L233
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L241
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L224
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L276
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L170
QgsLayoutItemMapItemClipPathSettings.changed: src/core/layout/qgslayoutitemmap.h#L298
QgsLayoutItemMapItemClipPathSettings.clipPathInMapItemCoordinates: src/core/layout/qgslayoutitemmap.h#L220
QgsLayoutItemMapItemClipPathSettings.clippedMapExtent: src/core/layout/qgslayoutitemmap.h#L209
QgsLayoutItemMapItemClipPathSettings.enabled: src/core/layout/qgslayoutitemmap.h#L195
QgsLayoutItemMapItemClipPathSettings.featureClippingType: src/core/layout/qgslayoutitemmap.h#L249
QgsLayoutItemMapItemClipPathSettings.finalizeRestoreFromXml: src/core/layout/qgslayoutitemmap.h#L291
QgsLayoutItemMapItemClipPathSettings.forceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L263
QgsLayoutItemMapItemClipPathSettings.isActive: src/core/layout/qgslayoutitemmap.h#L188
QgsLayoutItemMapItemClipPathSettings.readXml: src/core/layout/qgslayoutitemmap.h#L285
QgsLayoutItemMapItemClipPathSettings.setEnabled: src/core/layout/qgslayoutitemmap.h#L202
QgsLayoutItemMapItemClipPathSettings.setFeatureClippingType: src/core/layout/qgslayoutitemmap.h#L256
QgsLayoutItemMapItemClipPathSettings.setForceLabelsInsideClipPath: src/core/layout/qgslayoutitemmap.h#L270
QgsLayoutItemMapItemClipPathSettings.setSourceItem: src/core/layout/qgslayoutitemmap.h#L234
QgsLayoutItemMapItemClipPathSettings.sourceItem: src/core/layout/qgslayoutitemmap.h#L242
QgsLayoutItemMapItemClipPathSettings.toMapClippingRegion: src/core/layout/qgslayoutitemmap.h#L225
QgsLayoutItemMapItemClipPathSettings.writeXml: src/core/layout/qgslayoutitemmap.h#L277
QgsLayoutItemMapItemClipPathSettings: src/core/layout/qgslayoutitemmap.h#L171
QgsLayoutItemMapItemStack.addItem: src/core/layout/qgslayoutitemmapitem.h#L306
QgsLayoutItemMapItemStack.containsAdvancedEffects: src/core/layout/qgslayoutitemmapitem.h#L282
QgsLayoutItemMapItemStack.drawItems: src/core/layout/qgslayoutitemmapitem.h#L276

View File

@ -51,6 +51,7 @@
%Include auto_generated/qgsexpressioncontextscopegenerator.sip
%Include auto_generated/qgsexpressionfieldbuffer.sip
%Include auto_generated/qgsfeature.sip
%Include auto_generated/qgsfeatureexpressionfilterprovider.sip
%Include auto_generated/qgsfeaturepickermodel.sip
%Include auto_generated/qgsfeaturepickermodelbase.sip
%Include auto_generated/qgsfeaturefiltermodel.sip
@ -77,6 +78,7 @@
%Include auto_generated/qgsgeometryvalidator.sip
%Include auto_generated/qgsgml.sip
%Include auto_generated/qgsgmlschema.sip
%Include auto_generated/qgsgroupedfeaturefilterprovider.sip
%Include auto_generated/qgsgrouplayer.sip
%Include auto_generated/qgshistogram.sip
%Include auto_generated/qgshstoreutils.sip

View File

@ -79,13 +79,21 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
"""
return "examplescripts"
def shortDescription(self) -> str:
"""
Returns an optional translated short description of the algorithm, displayed
on hover in Processing Toolbox. This should be at most a single sentence, e.g.,
Converts 2D features to 3D by sampling a DEM raster.
"""
return "Example algorithm short description on hover"
def shortHelpString(self) -> str:
"""
Returns a localised short helper string for the algorithm. This string
should provide a basic description about what the algorithm does and the
Returns a localised helper string for the algorithm displayed in the dialog.
This string should provide a basic description about what the algorithm does and the
parameters and outputs associated with it.
"""
return "Example algorithm short description"
return "Example algorithm description"
def initAlgorithm(self, config: Optional[dict[str, Any]] = None):
"""
@ -95,13 +103,16 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
# We add the input vector features source. It can have any kind of
# geometry.
self.addParameter(
QgsProcessingParameterFeatureSource(
input_layer = QgsProcessingParameterFeatureSource(
self.INPUT,
"Input layer",
[QgsProcessing.SourceType.TypeVectorAnyGeometry],
)
input_layer.setHelp(
"A descriptive, translated string explaining the parameters behavior and use in depth."
)
self.addParameter(input_layer)
# We add a feature sink in which to store our processed features (this
# usually takes the form of a newly created vector layer when the

View File

@ -659,6 +659,9 @@ class Repositories(QObject):
.strip()
)
if not qgisMaximumVersion:
if qgisMinimumVersion[0] == "3" and supports_qt6:
qgisMaximumVersion = "4.99"
else:
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
# if compatible, add the plugin to the list
if not pluginNodes.item(i).firstChildElement(
@ -845,6 +848,9 @@ class Plugins(QObject):
qgisMinimumVersion = "0"
qgisMaximumVersion = pluginMetadata("qgisMaximumVersion").strip()
if not qgisMaximumVersion:
if qgisMinimumVersion[0] == "3" and supports_qt6:
qgisMaximumVersion = "4.99"
else:
qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
# if compatible, add the plugin to the list
if not isCompatible(

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsaccesscontrol.h
try:
QgsAccessControl.__overridden_methods__ = ['filterFeatures', 'clone', 'layerAttributes']
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsfeaturefilter.h
try:
QgsFeatureFilter.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilter.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -1,5 +1,5 @@
# The following has been generated automatically from src/server/qgsfeaturefilterprovidergroup.h
try:
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['filterFeatures', 'layerAttributes', 'clone']
QgsFeatureFilterProviderGroup.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
except (NameError, AttributeError):
pass

View File

@ -35,6 +35,15 @@ Constructor
~QgsAccessControl();
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsAccessControl *clone() const /Factory/;
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring
Resolve features' filter of layers The method fetch filter's expressions
@ -49,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
void unresolveFilterFeatures();
%Docstring
Clear expression's cache computed from `resolveFilterFeatures`
%End
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QString extraSubsetString( const QgsVectorLayer *layer ) const;
@ -111,17 +103,6 @@ Returns the layer delete right
:param layer: the layer to control
:return: ``True`` if we can do a delete
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
%Docstring
Returns the authorized layer attributes
:param layer: the layer to control
:param attributes: the list of attribute
:return: the list of visible attributes
%End
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;

View File

@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
%Docstring(signature="appended")
A feature filter provider allowing to set filter expressions on a
per-layer basis.
.. deprecated:: 3.4
Use :py:class:`QgsFeatureExpressionFilterProvider`
%End
%TypeHeaderCode
@ -27,25 +31,14 @@ per-layer basis.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
%Docstring

View File

@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{
%Docstring(signature="appended")
A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End
%TypeHeaderCode
@ -25,25 +29,14 @@ A filter filter provider grouping several filter providers.
Constructor
%End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
%Docstring
Filter the features of the layer.
:param layer: the layer to control
:param filterFeatures: the request to fill
%End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
virtual QgsFeatureFilterProvider *clone() const /Factory/;
%Docstring
Returns a clone of the object
:return: A clone
%End
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring

View File

@ -1,16 +1,17 @@
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L152
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L101
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L108
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L158
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L95
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L144
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L136
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L122
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L115
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L129
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L165
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L83
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L88
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L137
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L78
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L101
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L143
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L76
QgsAccessControl.isFilterThreadSafe: src/server/qgsaccesscontrol.h#L74
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L77
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L129
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L115
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L108
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L122
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L150
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L89
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L94
QgsAccessControl: src/server/qgsaccesscontrol.h#L35
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
@ -54,15 +55,17 @@ QgsFcgiServerRequest.data: src/server/qgsfcgiserverrequest.h#L36
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L52
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L44
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L46
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L59
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L33
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L50
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L42
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L44
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L31
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L44
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L42
QgsFeatureFilter.isFilterThreadSafe: src/server/qgsfeaturefilter.h#L40
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L43
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L51
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L34
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L42
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L40
QgsFeatureFilterProviderGroup.isFilterThreadSafe: src/server/qgsfeaturefilterprovidergroup.h#L38
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L41
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L32
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97

View File

@ -64,7 +64,7 @@ void QgsDirectionalLightSettings::readXml( const QDomElement &elem, const QgsRea
mIntensity = elem.attribute( QStringLiteral( "intensity" ) ).toFloat();
}
bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other )
bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other ) const
{
return mDirection == other.mDirection && mColor == other.mColor && mIntensity == other.mIntensity;
}

View File

@ -58,7 +58,7 @@ class _3D_EXPORT QgsDirectionalLightSettings : public QgsLightSource
void setIntensity( float intensity ) { mIntensity = intensity; }
// TODO c++20 - replace with = default
bool operator==( const QgsDirectionalLightSettings &other );
bool operator==( const QgsDirectionalLightSettings &other ) const;
private:
QgsVector3D mDirection { -0.32, 0.27, -0.91 };

View File

@ -107,7 +107,7 @@ void QgsPointLightSettings::readXml( const QDomElement &elem, const QgsReadWrite
mQuadraticAttenuation = elem.attribute( QStringLiteral( "attenuation-2" ) ).toDouble();
}
bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other )
bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other ) const
{
return mPosition == other.mPosition && mColor == other.mColor && mIntensity == other.mIntensity && mConstantAttenuation == other.mConstantAttenuation && mLinearAttenuation == other.mLinearAttenuation && mQuadraticAttenuation == other.mQuadraticAttenuation;
}

View File

@ -79,7 +79,7 @@ class _3D_EXPORT QgsPointLightSettings : public QgsLightSource
void setQuadraticAttenuation( float value ) { mQuadraticAttenuation = value; }
// TODO c++20 - replace with = default
bool operator==( const QgsPointLightSettings &other );
bool operator==( const QgsPointLightSettings &other ) const;
private:
QgsVector3D mPosition { 0, 0, 1000 };

View File

@ -66,7 +66,7 @@ Qgs3DMapCanvas::Qgs3DMapCanvas()
const QgsSettings setting;
mEngine = new QgsWindow3DEngine( this );
connect( mEngine, &QgsAbstract3DEngine::imageCaptured, this, [=]( const QImage &image ) {
connect( mEngine, &QgsAbstract3DEngine::imageCaptured, this, [this]( const QImage &image ) {
if ( image.save( mCaptureFileName, mCaptureFileFormat.toLocal8Bit().data() ) )
{
emit savedAsImage( mCaptureFileName );
@ -169,7 +169,7 @@ void Qgs3DMapCanvas::setMapSettings( Qgs3DMapSettings *mapSettings )
resetView();
connect( cameraController(), &QgsCameraController::setCursorPosition, this, [=]( QPoint point ) {
connect( cameraController(), &QgsCameraController::setCursorPosition, this, [this]( QPoint point ) {
QCursor::setPos( mapToGlobal( point ) );
} );
connect( cameraController(), &QgsCameraController::cameraMovementSpeedChanged, mMapSettings, &Qgs3DMapSettings::setCameraMovementSpeed );
@ -216,7 +216,7 @@ void Qgs3DMapCanvas::saveAsImage( const QString &fileName, const QString &fileFo
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
mScene->addComponent( screenCaptureFrameAction );
// Wait to have the render capture enabled in the next frame
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [=]( float ) {
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [this, screenCaptureFrameAction]( float ) {
mEngine->requestCaptureImage();
mScene->removeComponent( screenCaptureFrameAction );
screenCaptureFrameAction->deleteLater();
@ -232,7 +232,7 @@ void Qgs3DMapCanvas::captureDepthBuffer()
Qt3DLogic::QFrameAction *screenCaptureFrameAction = new Qt3DLogic::QFrameAction;
mScene->addComponent( screenCaptureFrameAction );
// Wait to have the render capture enabled in the next frame
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [=]( float ) {
connect( screenCaptureFrameAction, &Qt3DLogic::QFrameAction::triggered, this, [this, screenCaptureFrameAction]( float ) {
mEngine->requestDepthBufferCapture();
mScene->removeComponent( screenCaptureFrameAction );
screenCaptureFrameAction->deleteLater();

View File

@ -159,7 +159,7 @@ Qgs3DMapScene::Qgs3DMapScene( Qgs3DMapSettings &map, QgsAbstract3DEngine *engine
connect( &map, &Qgs3DMapSettings::originChanged, this, &Qgs3DMapScene::onOriginChanged );
connect( QgsApplication::sourceCache(), &QgsSourceCache::remoteSourceFetched, this, [=]( const QString &url ) {
connect( QgsApplication::sourceCache(), &QgsSourceCache::remoteSourceFetched, this, [this]( const QString &url ) {
const QList<QgsMapLayer *> modelVectorLayers = mModelVectorLayers;
for ( QgsMapLayer *layer : modelVectorLayers )
{

View File

@ -33,7 +33,7 @@ void QgsAbstract3DEngine::requestCaptureImage()
mFrameGraph->setRenderCaptureEnabled( true );
captureReply = mFrameGraph->renderCapture()->requestCapture();
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [=] {
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [this, captureReply] {
emit imageCaptured( captureReply->image() );
captureReply->deleteLater();
mFrameGraph->setRenderCaptureEnabled( false );
@ -45,7 +45,7 @@ void QgsAbstract3DEngine::requestDepthBufferCapture()
Qt3DRender::QRenderCaptureReply *captureReply;
captureReply = mFrameGraph->depthRenderCapture()->requestCapture();
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [=] {
connect( captureReply, &Qt3DRender::QRenderCaptureReply::completed, this, [this, captureReply] {
emit depthBufferCaptured( captureReply->image() );
captureReply->deleteLater();
} );

View File

@ -522,8 +522,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
const int dx = mouse->x() - mMousePos.x();
const int dy = mouse->y() - mMousePos.y();
const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier );
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
const bool hasRightButton = ( mouse->buttons() & Qt::RightButton );
@ -676,8 +676,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
void QgsCameraController::onPositionChangedGlobeTerrainNavigation( Qt3DInput::QMouseEvent *mouse )
{
const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier );
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
@ -815,7 +815,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
{
case Qgis::NavigationMode::Walk:
{
const float scaling = ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f;
const float scaling = ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f;
setCameraMovementSpeed( mCameraMovementSpeed + mCameraMovementSpeed * scaling * wheel->angleDelta().y() );
break;
}
@ -824,7 +824,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
{
// Scale our variable to roughly "number of normal steps", with Ctrl
// increasing granularity 10x
const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1 : 1.0 );
const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1 : 1.0 );
// Apparently angleDelta needs to be accumulated
// see: https://doc.qt.io/qt-5/qwheelevent.html#angleDelta
@ -861,7 +861,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
mKeyboardHandler->setFocus( true );
if ( mouse->button() == Qt3DInput::QMouseEvent::MiddleButton || ( ( mouse->modifiers() & Qt::ShiftModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) || ( ( mouse->modifiers() & Qt::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) )
if ( mouse->button() == Qt3DInput::QMouseEvent::MiddleButton || ( ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) || ( ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ) )
{
mMousePos = QPoint( mouse->x(), mouse->y() );
@ -869,7 +869,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
mIgnoreNextMouseMove = true;
const MouseOperation operation {
( mouse->modifiers() & Qt::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter
( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter
};
setMouseParameters( operation, mMousePos );
}

View File

@ -278,7 +278,7 @@ class QgsGlobeChunkLoader : public QgsChunkLoader
, mTextureGenerator( textureGenerator )
, mGlobeCrsToLatLon( globeCrsToLatLon )
{
connect( mTextureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [=]( int job, const QImage &img ) {
connect( mTextureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [this]( int job, const QImage &img ) {
if ( job == mJobId )
{
mTexture = img;
@ -436,7 +436,7 @@ class QgsGlobeMapUpdateJob : public QgsChunkQueueJob
QgsTerrainTextureImage *terrainTexImage = qobject_cast<QgsTerrainTextureImage *>( texImages[0] );
Q_ASSERT( terrainTexImage );
connect( textureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [=]( int jobId, const QImage &image ) {
connect( textureGenerator, &QgsTerrainTextureGenerator::tileReady, this, [this, terrainTexImage]( int jobId, const QImage &image ) {
if ( mJobId == jobId )
{
terrainTexImage->setImage( image );
@ -487,7 +487,7 @@ class QgsGlobeMapUpdateJobFactory : public QgsChunkQueueJobFactory
QgsGlobeEntity::QgsGlobeEntity( Qgs3DMapSettings *mapSettings )
: QgsChunkedEntity( mapSettings, mapSettings->terrainSettings()->maximumScreenError(), new QgsGlobeChunkLoaderFactory( mapSettings ), true )
{
connect( mapSettings, &Qgs3DMapSettings::showTerrainBoundingBoxesChanged, this, [=] {
connect( mapSettings, &Qgs3DMapSettings::showTerrainBoundingBoxesChanged, this, [this, mapSettings] {
setShowBoundingBoxes( mapSettings->showTerrainBoundingBoxes() );
} );
connect( mapSettings, &Qgs3DMapSettings::showTerrainTilesInfoChanged, this, &QgsGlobeEntity::invalidateMapImages );

View File

@ -135,7 +135,7 @@ bool QgsVectorWarperTask::run()
QgsVectorWarper warper( mMethod, mPoints, mDestinationCrs );
connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [=]( long long count ) {
connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [this]( long long count ) {
const double newProgress = 100.0 * count / mFeatureCount;
// avoid flooding with too many events
if ( static_cast<int>( newProgress * 10 ) != static_cast<int>( mLastProgress * 10 ) )

View File

@ -73,10 +73,10 @@ QVariantMap QgsPdalInformationAlgorithm::processAlgorithm( const QVariantMap &pa
QStringList commandOutput;
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
wrenchProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
wrenchProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba.trimmed() );
} );
wrenchProcess.setStdOutHandler( [=, &commandOutput]( const QByteArray &ba ) {
wrenchProcess.setStdOutHandler( [feedback, &commandOutput]( const QByteArray &ba ) {
feedback->pushConsoleInfo( ba.trimmed() );
commandOutput << ba;
} );

View File

@ -189,10 +189,10 @@ QVariantMap QgsPdalAlgorithmBase::processAlgorithm( const QVariantMap &parameter
QString buffer;
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
wrenchProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
wrenchProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba.trimmed() );
} );
wrenchProcess.setStdOutHandler( [=, &progress, &buffer]( const QByteArray &ba ) {
wrenchProcess.setStdOutHandler( [feedback, &progress, &buffer]( const QByteArray &ba ) {
QString data( ba );
QRegularExpression re( "\\.*(\\d+)?\\.*$" );

View File

@ -137,7 +137,7 @@ QgsFeatureList QgsDrapeAlgorithmBase::processFeature( const QgsFeature &feature,
// a pointless iteration over all vertices
if ( !mRasterExtent.isNull() && geometry.boundingBoxIntersects( mRasterExtent ) )
{
geometry.transformVertices( [=]( const QgsPoint &p ) -> QgsPoint {
geometry.transformVertices( [this, nodata, scale, offset, feedback, &f]( const QgsPoint &p ) -> QgsPoint {
QgsPointXY t;
double val = nodata;
try

View File

@ -111,10 +111,10 @@ QVariantMap QgsConvertGpxFeatureTypeAlgorithm::processAlgorithm( const QVariantM
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + babelPath + ' ' + logArgs.join( ' ' ) );
QgsBlockingProcess babelProcess( babelPath, processArgs );
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba );
} );
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
feedback->pushDebugInfo( ba );
} );
@ -355,10 +355,10 @@ QVariantMap QgsConvertGpsDataAlgorithm::processAlgorithm( const QVariantMap &par
feedback->pushCommandInfo( QObject::tr( "Conversion command: " ) + logCommand.join( ' ' ) );
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba );
} );
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
feedback->pushDebugInfo( ba );
} );
@ -576,10 +576,10 @@ QVariantMap QgsDownloadGpsDataAlgorithm::processAlgorithm( const QVariantMap &pa
feedback->pushCommandInfo( QObject::tr( "Download command: " ) + logCommand.join( ' ' ) );
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba );
} );
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
feedback->pushDebugInfo( ba );
} );
@ -796,10 +796,10 @@ QVariantMap QgsUploadGpsDataAlgorithm::processAlgorithm( const QVariantMap &para
feedback->pushCommandInfo( QObject::tr( "Upload command: " ) + logCommand.join( ' ' ) );
QgsBlockingProcess babelProcess( processCommand.value( 0 ), processCommand.mid( 1 ) );
babelProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) {
feedback->reportError( ba );
} );
babelProcess.setStdOutHandler( [=]( const QByteArray &ba ) {
babelProcess.setStdOutHandler( [feedback]( const QByteArray &ba ) {
feedback->pushDebugInfo( ba );
} );

View File

@ -142,7 +142,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
int recursionGuard { 0 };
// This function recursively finds referenced layers
const auto findReferenced = [=, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferenced ) -> void {
const auto findReferenced = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferenced ) -> void {
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
Q_ASSERT( originalLayer );
const QList<QgsRelation> relations { project->relationManager()->referencingRelations( originalLayer ) };
@ -208,7 +208,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
};
// This function recursively finds referencing layers
const auto findReferencing = [=, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferencing ) -> void {
const auto findReferencing = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferencing ) -> void {
const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
Q_ASSERT( originalLayer );
const QList<QgsRelation> relations { project->relationManager()->referencedRelations( originalLayer ) };

View File

@ -179,7 +179,7 @@ QVariantMap QgsRasterBooleanLogicAlgorithmBase::processAlgorithm( const QVariant
QgsRasterLogicalOrAlgorithm::QgsRasterLogicalOrAlgorithm()
{
mExtractValFunc = [=]( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
mExtractValFunc = []( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
res = false;
resIsNoData = false;
bool isNoData = false;
@ -252,7 +252,7 @@ QgsRasterLogicalOrAlgorithm *QgsRasterLogicalOrAlgorithm::createInstance() const
QgsRasterLogicalAndAlgorithm::QgsRasterLogicalAndAlgorithm()
{
mExtractValFunc = [=]( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
mExtractValFunc = []( const std::vector<std::unique_ptr<QgsRasterBlock>> &inputs, bool &res, bool &resIsNoData, int row, int column, bool treatNoDataAsFalse ) {
res = true;
resIsNoData = false;
bool isNoData = false;

View File

@ -40,7 +40,7 @@ Qgs3DAnimationExportDialog::Qgs3DAnimationExportDialog()
QValidator *validator = new QRegularExpressionValidator( rx, this );
mTemplateLineEdit->setValidator( validator );
connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [=] {
connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [this] {
QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/fileNameTemplate" ), mTemplateLineEdit->text() );
} );
@ -51,30 +51,30 @@ Qgs3DAnimationExportDialog::Qgs3DAnimationExportDialog()
mOutputDirFileWidget->setDefaultRoot( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
mOutputDirFileWidget->setFilePath( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
connect( mOutputDirFileWidget, &QgsFileWidget::fileChanged, this, [=] {
connect( mOutputDirFileWidget, &QgsFileWidget::fileChanged, this, [this] {
QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/lastDir" ), mOutputDirFileWidget->filePath(), QgsSettings::App );
} );
mFpsSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/fps" ), 30 ).toInt() );
connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/fps" ), mFpsSpinBox->value() );
} );
mWidthSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/width" ), 800 ).toInt() );
connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/width" ), mWidthSpinBox->value() );
} );
mHeightSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/height" ), 600 ).toInt() );
connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] {
QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/height" ), mHeightSpinBox->value() );
} );
connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [=] {
connect( mButtonBox, &QDialogButtonBox::helpRequested, this, [] {
QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#create-animation" ) );
} );

View File

@ -75,29 +75,29 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
whileBlocking( chkStopUpdates )->setChecked( mMap->stopUpdates() );
whileBlocking( chkStopOriginShifts )->setChecked( !m3DMapCanvas->scene()->hasSceneOriginShiftEnabled() );
whileBlocking( chkDebugOverlay )->setChecked( mMap->isDebugOverlayEnabled() );
connect( chkShowTileInfo, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } );
connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } );
connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } );
connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } );
connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } );
connect( chkStopUpdates, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setStopUpdates( enabled ); } );
connect( chkStopOriginShifts, &QCheckBox::toggled, this, [=]( const bool enabled ) {
connect( chkShowTileInfo, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } );
connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } );
connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } );
connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } );
connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } );
connect( chkStopUpdates, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setStopUpdates( enabled ); } );
connect( chkStopOriginShifts, &QCheckBox::toggled, this, [this]( const bool enabled ) {
m3DMapCanvas->scene()->setSceneOriginShiftEnabled( !enabled );
} );
connect( chkDebugOverlay, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } );
connect( chkDebugOverlay, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } );
// set up the shadow map block
whileBlocking( mDebugShadowMapGroupBox )->setChecked( mMap->debugShadowMapEnabled() );
whileBlocking( mDebugShadowMapCornerComboBox )->setCurrentIndex( mMap->debugShadowMapCorner() );
whileBlocking( mDebugShadowMapSizeSpinBox )->setValue( mMap->debugShadowMapSize() );
// Do not display the shadow debug map if the shadow effect is not enabled.
connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) {
mMap->setDebugShadowMapSettings( enabled && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), mDebugShadowMapSizeSpinBox->value() );
} );
connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) {
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( index ), mDebugShadowMapSizeSpinBox->value() );
} );
connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), value );
} );
@ -105,39 +105,39 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
whileBlocking( mDebugDepthMapGroupBox )->setChecked( mMap->debugDepthMapEnabled() );
whileBlocking( mDebugDepthMapCornerComboBox )->setCurrentIndex( mMap->debugDepthMapCorner() );
whileBlocking( mDebugDepthMapSizeSpinBox )->setValue( mMap->debugDepthMapSize() );
connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) {
mMap->setDebugDepthMapSettings( enabled, static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), mDebugDepthMapSizeSpinBox->value() );
} );
connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) {
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( index ), mDebugDepthMapSizeSpinBox->value() );
} );
connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), value );
} );
// connect the camera info spin boxes with changing functions
connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
m3DMapCanvas->cameraController()->camera()->setNearPlane( static_cast<float>( value ) );
} );
connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
m3DMapCanvas->cameraController()->camera()->setFarPlane( static_cast<float>( value ) );
} );
connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setX( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} );
connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setY( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} );
connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setZ( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} );
connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setX( value );
m3DMapCanvas->cameraController()->setLookingAtPoint(
@ -147,7 +147,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
m3DMapCanvas->cameraController()->yaw()
);
} );
connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setY( value );
m3DMapCanvas->cameraController()->setLookingAtPoint(
@ -157,7 +157,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
m3DMapCanvas->cameraController()->yaw()
);
} );
connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setZ( value );
m3DMapCanvas->cameraController()->setLookingAtPoint(

View File

@ -230,7 +230,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mActionSync2DNavTo3D = new QAction( tr( "2D Map View Follows 3D Camera" ), this );
mActionSync2DNavTo3D->setCheckable( true );
connect( mActionSync2DNavTo3D, &QAction::triggered, this, [=]( bool enabled ) {
connect( mActionSync2DNavTo3D, &QAction::triggered, this, [this]( bool enabled ) {
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync2DTo3D, enabled );
mCanvas->mapSettings()->setViewSyncMode( syncMode );
@ -239,7 +239,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mActionSync3DNavTo2D = new QAction( tr( "3D Camera Follows 2D Map View" ), this );
mActionSync3DNavTo2D->setCheckable( true );
connect( mActionSync3DNavTo2D, &QAction::triggered, this, [=]( bool enabled ) {
connect( mActionSync3DNavTo2D, &QAction::triggered, this, [this]( bool enabled ) {
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync3DTo2D, enabled );
mCanvas->mapSettings()->setViewSyncMode( syncMode );
@ -248,14 +248,14 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mShowFrustumPolygon = new QAction( tr( "Show Visible Camera Area in 2D Map View" ), this );
mShowFrustumPolygon->setCheckable( true );
connect( mShowFrustumPolygon, &QAction::triggered, this, [=]( bool enabled ) {
connect( mShowFrustumPolygon, &QAction::triggered, this, [this]( bool enabled ) {
mCanvas->mapSettings()->setViewFrustumVisualizationEnabled( enabled );
} );
mCameraMenu->addAction( mShowFrustumPolygon );
mActionSetSceneExtent = mCameraMenu->addAction( QgsApplication::getThemeIcon( QStringLiteral( "extents.svg" ) ), tr( "Set 3D Scene Extent on 2D Map View" ), this, &Qgs3DMapCanvasWidget::setSceneExtentOn2DCanvas );
mActionSetSceneExtent->setCheckable( true );
auto createShortcuts = [=]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) {
auto createShortcuts = [this]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) {
if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) )
connect( sc, &QShortcut::activated, this, slot );
};
@ -277,7 +277,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mActionEnableShadows = new QAction( tr( "Show Shadows" ), this );
mActionEnableShadows->setCheckable( true );
connect( mActionEnableShadows, &QAction::toggled, this, [=]( bool enabled ) {
connect( mActionEnableShadows, &QAction::toggled, this, [this]( bool enabled ) {
QgsShadowSettings settings = mCanvas->mapSettings()->shadowSettings();
settings.setRenderShadows( enabled );
mCanvas->mapSettings()->setShadowSettings( settings );
@ -286,14 +286,14 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mActionEnableEyeDome = new QAction( tr( "Show Eye Dome Lighting" ), this );
mActionEnableEyeDome->setCheckable( true );
connect( mActionEnableEyeDome, &QAction::triggered, this, [=]( bool enabled ) {
connect( mActionEnableEyeDome, &QAction::triggered, this, [this]( bool enabled ) {
mCanvas->mapSettings()->setEyeDomeLightingEnabled( enabled );
} );
mEffectsMenu->addAction( mActionEnableEyeDome );
mActionEnableAmbientOcclusion = new QAction( tr( "Show Ambient Occlusion" ), this );
mActionEnableAmbientOcclusion->setCheckable( true );
connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [=]( bool enabled ) {
connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [this]( bool enabled ) {
QgsAmbientOcclusionSettings ambientOcclusionSettings = mCanvas->mapSettings()->ambientOcclusionSettings();
ambientOcclusionSettings.setEnabled( enabled );
mCanvas->mapSettings()->setAmbientOcclusionSettings( ambientOcclusionSettings );
@ -308,7 +308,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mCanvas = new Qgs3DMapCanvas;
mCanvas->setMinimumSize( QSize( 200, 200 ) );
connect( mCanvas, &Qgs3DMapCanvas::savedAsImage, this, [=]( const QString &fileName ) {
connect( mCanvas, &Qgs3DMapCanvas::savedAsImage, this, []( const QString &fileName ) {
QgisApp::instance()->messageBar()->pushSuccess( tr( "Save as Image" ), tr( "Successfully saved the 3D map to <a href=\"%1\">%2</a>" ).arg( QUrl::fromLocalFile( fileName ).toString(), QDir::toNativeSeparators( fileName ) ) );
} );
@ -353,7 +353,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mLabelNavSpeedHideTimeout = new QTimer( this );
mLabelNavSpeedHideTimeout->setInterval( 1000 );
connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [=] {
connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [this] {
mLabelNavigationSpeed->hide();
mLabelNavSpeedHideTimeout->stop();
} );
@ -404,10 +404,10 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
}
QAction *dockAction = mDockableWidgetHelper->createDockUndockAction( tr( "Dock 3D Map View" ), this );
toolBar->addAction( dockAction );
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [=]() {
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [this]() {
QgisApp::instance()->close3DMapView( canvasName() );
} );
connect( dockAction, &QAction::toggled, this, [=]( const bool isSmallSize ) {
connect( dockAction, &QAction::toggled, this, [toolBar]( const bool isSmallSize ) {
toolBar->setIconSize( QgisApp::instance()->iconSize( isSmallSize ) );
} );
@ -769,7 +769,7 @@ void Qgs3DMapCanvasWidget::configure()
Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, mCanvas, mConfigureDialog );
QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help, mConfigureDialog );
auto applyConfig = [=]() {
auto applyConfig = [this, map, w]() {
const QgsVector3D oldOrigin = map->origin();
const QgsCoordinateReferenceSystem oldCrs = map->crs();
const QgsCameraPose oldCameraPose = mCanvas->cameraController()->cameraPose();
@ -797,7 +797,7 @@ void Qgs3DMapCanvasWidget::configure()
};
connect( buttons, &QDialogButtonBox::rejected, mConfigureDialog, &QDialog::reject );
connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [=]( QAbstractButton *button ) {
connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [this, buttons, applyConfig]( QAbstractButton *button ) {
if ( button == buttons->button( QDialogButtonBox::Apply ) || button == buttons->button( QDialogButtonBox::Ok ) )
applyConfig();
if ( button == buttons->button( QDialogButtonBox::Ok ) )
@ -805,7 +805,7 @@ void Qgs3DMapCanvasWidget::configure()
} );
connect( buttons, &QDialogButtonBox::helpRequested, w, []() { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#scene-configuration" ) ); } );
connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [=]( bool valid ) {
connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [buttons]( bool valid ) {
buttons->button( QDialogButtonBox::Apply )->setEnabled( valid );
buttons->button( QDialogButtonBox::Ok )->setEnabled( valid );
} );
@ -838,7 +838,7 @@ void Qgs3DMapCanvasWidget::exportScene()
connect( buttons, &QDialogButtonBox::accepted, &dlg, &QDialog::accept );
connect( buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject );
connect( buttons, &QDialogButtonBox::helpRequested, &dlg, [=] { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html" ) ); } );
connect( buttons, &QDialogButtonBox::helpRequested, &dlg, [] { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html" ) ); } );
QVBoxLayout *layout = new QVBoxLayout( &dlg );
layout->addWidget( &exportWidget, 1 );
@ -902,7 +902,7 @@ void Qgs3DMapCanvasWidget::mapThemeMenuAboutToShow()
{
actionFollowMain->setChecked( true );
}
connect( actionFollowMain, &QAction::triggered, this, [=] {
connect( actionFollowMain, &QAction::triggered, this, [this] {
mCanvas->mapSettings()->setTerrainMapTheme( QString() );
} );
mMapThemeMenuPresetActions.append( actionFollowMain );

View File

@ -59,7 +59,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
// get rid of annoying outer focus rect on Mac
m3DOptionsListWidget->setAttribute( Qt::WA_MacShowFocusRect, false );
m3DOptionsListWidget->setCurrentRow( settings.value( QStringLiteral( "Windows/3DMapConfig/Tab" ), 0 ).toInt() );
connect( m3DOptionsListWidget, &QListWidget::currentRowChanged, this, [=]( int index ) { m3DOptionsStackedWidget->setCurrentIndex( index ); } );
connect( m3DOptionsListWidget, &QListWidget::currentRowChanged, this, [this]( int index ) { m3DOptionsStackedWidget->setCurrentIndex( index ); } );
m3DOptionsStackedWidget->setCurrentIndex( m3DOptionsListWidget->currentRow() );
if ( !settings.contains( QStringLiteral( "Windows/3DMapConfig/OptionsSplitState" ) ) )
@ -76,7 +76,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
cboCameraProjectionType->addItem( tr( "Perspective Projection" ), Qt3DRender::QCameraLens::PerspectiveProjection );
cboCameraProjectionType->addItem( tr( "Orthogonal Projection" ), Qt3DRender::QCameraLens::OrthographicProjection );
connect( cboCameraProjectionType, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [=]() {
connect( cboCameraProjectionType, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [this]() {
spinCameraFieldOfView->setEnabled( cboCameraProjectionType->currentIndex() == cboCameraProjectionType->findData( Qt3DRender::QCameraLens::PerspectiveProjection ) );
} );

View File

@ -47,7 +47,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mZoomInButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeZoom( ZOOM_FACTOR );
@ -61,7 +61,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mZoomOutButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeZoom( 1 / ZOOM_FACTOR );
@ -75,7 +75,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mTiltUpButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( 1 );
}
);
@ -85,7 +85,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mTiltDownButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
m3DMapCanvas->cameraController()->tiltUpAroundViewCenter( -1 );
}
);
@ -98,7 +98,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mCompass,
&QwtDial::valueChanged,
m3DMapCanvas,
[=] {
[this] {
m3DMapCanvas->cameraController()->setCameraHeadingAngle( float( mCompass->value() ) );
}
);
@ -108,7 +108,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mMoveUpButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeMoveCenterPoint( MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
@ -122,7 +122,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mMoveRightButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeMoveCenterPoint( 0, MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );
@ -136,7 +136,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mMoveDownButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeMoveCenterPoint( -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint(), 0 );
@ -150,7 +150,7 @@ Qgs3DNavigationWidget::Qgs3DNavigationWidget( Qgs3DMapCanvas *canvas, QWidget *p
mMoveLeftButton,
&QToolButton::clicked,
m3DMapCanvas,
[=] {
[this] {
QgsCameraController *controller = m3DMapCanvas->cameraController();
if ( m3DMapCanvas->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
controller->globeMoveCenterPoint( 0, -MOVE_FACTOR * controller->cameraPose().distanceFromCenterPoint() );

View File

@ -38,14 +38,14 @@ QgsMap3DExportWidget::QgsMap3DExportWidget( Qgs3DMapScene *scene, Qgs3DMapExport
loadSettings();
connect( ui->sceneNameLineEdit, &QLineEdit::textChanged, this, [=]( const QString & ) { settingsChanged(); } );
connect( ui->selectFolderWidget, &QgsFileWidget::fileChanged, this, [=]( const QString & ) { settingsChanged(); } );
connect( ui->smoothEdgesCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
connect( ui->terrainResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
connect( ui->exportNormalsCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
connect( ui->exportTexturesCheckBox, &QCheckBox::stateChanged, this, [=]( int ) { settingsChanged(); } );
connect( ui->terrainTextureResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
connect( ui->scaleSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( int ) { settingsChanged(); } );
connect( ui->sceneNameLineEdit, &QLineEdit::textChanged, this, [this]( const QString & ) { settingsChanged(); } );
connect( ui->selectFolderWidget, &QgsFileWidget::fileChanged, this, [this]( const QString & ) { settingsChanged(); } );
connect( ui->smoothEdgesCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
connect( ui->terrainResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
connect( ui->exportNormalsCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
connect( ui->exportTexturesCheckBox, &QCheckBox::stateChanged, this, [this]( int ) { settingsChanged(); } );
connect( ui->terrainTextureResolutionSpinBox, qOverload<int>( &QSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
connect( ui->scaleSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( int ) { settingsChanged(); } );
// sets the export settings to whatever is on the scene
settingsChanged();

View File

@ -30,11 +30,11 @@ QgsMetalRoughMaterialWidget::QgsMetalRoughMaterialWidget( QWidget *parent, bool
setSettings( &defaultMaterial, nullptr );
connect( mButtonBaseColor, &QgsColorButton::colorChanged, this, &QgsMetalRoughMaterialWidget::changed );
connect( mSpinMetalness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
connect( mSpinMetalness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
updateWidgetState();
emit changed();
} );
connect( mSpinRoughness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
connect( mSpinRoughness, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
updateWidgetState();
emit changed();
} );

View File

@ -34,7 +34,7 @@ QgsPhongMaterialWidget::QgsPhongMaterialWidget( QWidget *parent, bool hasOpacity
connect( btnDiffuse, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongMaterialWidget::changed );
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
updateWidgetState();
emit changed();
} );

View File

@ -33,7 +33,7 @@ QgsPhongTexturedMaterialWidget::QgsPhongTexturedMaterialWidget( QWidget *parent
connect( btnAmbient, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
connect( btnSpecular, &QgsColorButton::colorChanged, this, &QgsPhongTexturedMaterialWidget::changed );
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [=] {
connect( spinShininess, static_cast<void ( QDoubleSpinBox::* )( double )>( &QDoubleSpinBox::valueChanged ), this, [this] {
updateWidgetState();
emit changed();
} );

View File

@ -587,8 +587,8 @@ Qgs3DRendererRulePropsWidget::Qgs3DRendererRulePropsWidget( QgsRuleBased3DRender
connect( editDescription, &QLineEdit::textChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
connect( groupSymbol, &QGroupBox::toggled, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
connect( mSymbolWidget, &QgsSymbol3DWidget::widgetChanged, this, &Qgs3DRendererRulePropsWidget::widgetChanged );
connect( mFilterRadio, &QRadioButton::toggled, this, [=]( bool toggled ) { filterFrame->setEnabled( toggled ); } );
connect( mElseRadio, &QRadioButton::toggled, this, [=]( bool toggled ) { if ( toggled ) editFilter->setText( QStringLiteral( "ELSE" ) ); } );
connect( mFilterRadio, &QRadioButton::toggled, this, [this]( bool toggled ) { filterFrame->setEnabled( toggled ); } );
connect( mElseRadio, &QRadioButton::toggled, this, [this]( bool toggled ) { if ( toggled ) editFilter->setText( QStringLiteral( "ELSE" ) ); } );
}
Qgs3DRendererRulePropsWidget::~Qgs3DRendererRulePropsWidget() = default;

View File

@ -93,7 +93,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QgsSettings settings;
QAction *actionRefresh = new QAction( tr( "Refresh" ), menu );
connect( actionRefresh, &QAction::triggered, this, [=] { directoryItem->refresh(); } );
connect( actionRefresh, &QAction::triggered, this, [directoryItem] { directoryItem->refresh(); } );
menu->addAction( actionRefresh );
menu->addSeparator();
@ -101,7 +101,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QMenu *newMenu = new QMenu( tr( "New" ), menu );
QAction *createFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFolder.svg" ) ), tr( "Directory…" ), menu );
connect( createFolder, &QAction::triggered, this, [=] {
connect( createFolder, &QAction::triggered, this, [directoryItem, context] {
bool ok = false;
const QString name = QInputDialog::getText( QgisApp::instance(), tr( "Create Directory" ), tr( "Directory name" ), QLineEdit::Normal, QString(), &ok );
@ -126,7 +126,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QAction *createGpkg = new QAction( tr( "GeoPackage…" ), newMenu );
createGpkg->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewGeoPackageLayer.svg" ) ) );
connect( createGpkg, &QAction::triggered, this, [=] {
connect( createGpkg, &QAction::triggered, this, [directoryItem, context] {
QDir dir( directoryItem->dirPath() );
QString newName = tr( "New GeoPackage.gpkg" );
int i = 1;
@ -175,7 +175,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QAction *createShp = new QAction( tr( "ShapeFile…" ), newMenu );
createShp->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewVectorLayer.svg" ) ) );
connect( createShp, &QAction::triggered, this, [=] {
connect( createShp, &QAction::triggered, this, [directoryItem, item, context] {
QString enc;
QDir dir( directoryItem->dirPath() );
QString error;
@ -195,7 +195,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION( 3, 6, 0 )
QAction *createFgdb = new QAction( tr( "ESRI FileGeodatabase…" ), newMenu );
createFgdb->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFileGeodatabase.svg" ) ) );
connect( createFgdb, &QAction::triggered, this, [=] {
connect( createFgdb, &QAction::triggered, this, [directoryItem, context] {
QDir dir( directoryItem->dirPath() );
QString newName = tr( "New File Geodatabase.gdb" );
int i = 1;
@ -254,7 +254,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QAction *addAsFavorite = new QAction( tr( "Add as a Favorite" ), menu );
addAsFavorite->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconFavorites.svg" ) ) );
menu->addAction( addAsFavorite );
connect( addAsFavorite, &QAction::triggered, this, [=] {
connect( addAsFavorite, &QAction::triggered, this, [this, directoryItem] {
addFavorite( directoryItem );
} );
}
@ -263,13 +263,13 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
if ( QgsFavoriteItem *favoriteItem = qobject_cast<QgsFavoriteItem *>( item ) )
{
QAction *actionRename = new QAction( tr( "Rename Favorite…" ), menu );
connect( actionRename, &QAction::triggered, this, [=] {
connect( actionRename, &QAction::triggered, this, [this, favoriteItem] {
renameFavorite( favoriteItem );
} );
menu->addAction( actionRename );
QAction *removeFavoriteAction = new QAction( tr( "Remove Favorite" ), menu );
connect( removeFavoriteAction, &QAction::triggered, this, [=] {
connect( removeFavoriteAction, &QAction::triggered, this, [this, favoriteItem] {
removeFavorite( favoriteItem );
} );
menu->addAction( removeFavoriteAction );
@ -277,7 +277,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
}
}
QAction *hideAction = new QAction( tr( "Hide from Browser" ), menu );
connect( hideAction, &QAction::triggered, this, [=] {
connect( hideAction, &QAction::triggered, this, [this, directoryItem] {
hideDirectory( directoryItem );
} );
menu->addAction( hideAction );
@ -289,7 +289,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
for ( const QString &path : hiddenPathList )
{
QAction *action = new QAction( QDir::toNativeSeparators( path ), hiddenMenu );
connect( action, &QAction::triggered, this, [=] {
connect( action, &QAction::triggered, this, [path] {
QgsSettings s;
QStringList pathsList = s.value( QStringLiteral( "/browser/hiddenPaths" ) ).toStringList();
pathsList.removeAll( path );
@ -321,7 +321,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
hiddenMenu->addSeparator();
QAction *moreAction = new QAction( tr( "Show More…" ), hiddenMenu );
connect( moreAction, &QAction::triggered, this, [=] {
connect( moreAction, &QAction::triggered, this, [] {
QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mOptionsPageDataSources" ) );
} );
hiddenMenu->addAction( moreAction );
@ -337,14 +337,14 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
const QPixmap icon = QgsColorButton::createMenuIcon( directoryItem->iconColor(), true );
actionSetIconColor->setIcon( icon );
}
connect( actionSetIconColor, &QAction::triggered, this, [=] {
connect( actionSetIconColor, &QAction::triggered, this, [this, directoryItem] {
changeDirectoryColor( directoryItem );
} );
menu->addAction( actionSetIconColor );
if ( directoryItem->iconColor().isValid() )
{
QAction *actionClearIconColor = new QAction( tr( "Clear Custom Color" ), menu );
connect( actionClearIconColor, &QAction::triggered, this, [=] {
connect( actionClearIconColor, &QAction::triggered, this, [this, directoryItem] {
clearDirectoryColor( directoryItem );
} );
menu->addAction( actionClearIconColor );
@ -353,7 +353,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QMenu *scanningMenu = new QMenu( tr( "Scanning" ), menu );
QAction *monitorAction = new QAction( tr( "Monitor for Changes" ), scanningMenu );
connect( monitorAction, &QAction::triggered, this, [=] {
connect( monitorAction, &QAction::triggered, this, [this, directoryItem] {
toggleMonitor( directoryItem );
} );
monitorAction->setCheckable( true );
@ -361,7 +361,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
scanningMenu->addAction( monitorAction );
QAction *fastScanAction = new QAction( tr( "Fast Scan this Directory" ), scanningMenu );
connect( fastScanAction, &QAction::triggered, this, [=] {
connect( fastScanAction, &QAction::triggered, this, [this, directoryItem] {
toggleFastScan( directoryItem );
} );
fastScanAction->setCheckable( true );
@ -373,7 +373,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
menu->addSeparator();
QAction *openFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconFolder.svg" ) ), tr( "Open Directory…" ), menu );
connect( openFolder, &QAction::triggered, this, [=] {
connect( openFolder, &QAction::triggered, this, [directoryItem] {
QDesktopServices::openUrl( QUrl::fromLocalFile( directoryItem->dirPath() ) );
} );
menu->addAction( openFolder );
@ -381,7 +381,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
if ( QgsGui::nativePlatformInterface()->capabilities() & QgsNative::NativeOpenTerminalAtPath )
{
QAction *openTerminal = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionTerminal.svg" ) ), tr( "Open in Terminal…" ), menu );
connect( openTerminal, &QAction::triggered, this, [=] {
connect( openTerminal, &QAction::triggered, this, [directoryItem] {
QgsGui::nativePlatformInterface()->openTerminalAtPath( directoryItem->dirPath() );
} );
menu->addAction( openTerminal );
@ -389,7 +389,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
}
QAction *propertiesAction = new QAction( tr( "Properties…" ), menu );
connect( propertiesAction, &QAction::triggered, this, [=] {
connect( propertiesAction, &QAction::triggered, this, [this, directoryItem, context] {
showProperties( directoryItem, context );
} );
menu->addAction( propertiesAction );
@ -513,7 +513,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
if ( !sourceSelectProviders.isEmpty() && sourceSelectProviders.first()->capabilities().testFlag( QgsSourceSelectProvider::Capability::ConfigureFromUri ) )
{
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
connect( openDataSourceManagerAction, &QAction::triggered, this, [layerItem] {
QString pageName { layerItem->providerKey() };
// GPKG special handling
if ( qobject_cast<QgsGeoPackageVectorLayerItem *>( layerItem ) )
@ -537,7 +537,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
{
const QgsProviderSublayerDetails &sublayer { sublayers.first() };
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
connect( openDataSourceManagerAction, &QAction::triggered, this, [sublayer, layerItem] {
QString pageName { sublayer.providerKey() };
// GPKG special handling
if ( sublayer.driverName() == QLatin1String( "GeoPackage" ) )
@ -587,7 +587,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
if ( fi.suffix().compare( ext, Qt::CaseInsensitive ) == 0 )
{
QAction *viewAction = new QAction( tr( "Open %1 Externally…" ).arg( name ), menu );
connect( viewAction, &QAction::triggered, this, [=] {
connect( viewAction, &QAction::triggered, this, [filename] {
QDesktopServices::openUrl( QUrl::fromLocalFile( filename ) );
} );
@ -646,7 +646,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
{
const QString renameText = tr( "Rename “%1”…" ).arg( fi.fileName() );
QAction *renameAction = new QAction( renameText, menu );
connect( renameAction, &QAction::triggered, this, [=] {
connect( renameAction, &QAction::triggered, this, [this, selectedFiles, context, selectedParents, menu] {
const QString oldPath = selectedFiles.value( 0 );
const QStringList existingNames = QFileInfo( oldPath ).dir().entryList();
@ -670,7 +670,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
const QString deleteText = selectedFiles.count() == 1 ? tr( "Delete “%1”…" ).arg( fi.fileName() )
: tr( "Delete Selected Files…" );
QAction *deleteAction = new QAction( deleteText, menu );
connect( deleteAction, &QAction::triggered, this, [=] {
connect( deleteAction, &QAction::triggered, this, [selectedFiles, selectedParents, context] {
// Check if the files correspond to paths in the project
QList<QgsMapLayer *> layersList;
for ( const QString &path : std::as_const( selectedFiles ) )
@ -810,12 +810,12 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
menu->addSeparator();
QAction *showInFilesAction = menu->addAction( tr( "Show in Files" ) );
connect( showInFilesAction, &QAction::triggered, this, [=] {
connect( showInFilesAction, &QAction::triggered, this, [item] {
QgsGui::nativePlatformInterface()->openFileExplorerAndSelectFile( item->path() );
} );
QAction *filePropertiesAction = menu->addAction( tr( "File Properties…" ) );
connect( filePropertiesAction, &QAction::triggered, this, [=] {
connect( filePropertiesAction, &QAction::triggered, this, [item] {
QgsGui::nativePlatformInterface()->showFileProperties( item->path() );
} );
}
@ -939,7 +939,7 @@ void QgsProjectHomeItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
menu->insertSeparator( menu->actions().at( 0 ) );
QAction *setHome = new QAction( tr( "Set Project Home…" ), menu );
connect( setHome, &QAction::triggered, this, [=] {
connect( setHome, &QAction::triggered, this, [] {
QString oldHome = QgsProject::instance()->homePath();
QString newPath = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Select Project Home Directory" ), oldHome );
if ( !newPath.isEmpty() )
@ -970,7 +970,7 @@ void QgsFavoritesItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
return;
QAction *addAction = new QAction( tr( "Add a Directory…" ), menu );
connect( addAction, &QAction::triggered, this, [=] {
connect( addAction, &QAction::triggered, this, [] {
QString directory = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Add Directory to Favorites" ) );
if ( !directory.isEmpty() )
{
@ -1065,7 +1065,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
const QString deleteText = selectedDeletableItemPaths.count() == 1 ? tr( "Delete Layer “%1”…" ).arg( layerItem->name() )
: tr( "Delete Selected Layers…" );
QAction *deleteAction = new QAction( deleteText, menu );
connect( deleteAction, &QAction::triggered, this, [=] {
connect( deleteAction, &QAction::triggered, this, [this, selectedDeletableItemPaths, context] {
deleteLayers( selectedDeletableItemPaths, context );
} );
@ -1095,7 +1095,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
const QString addText = selectedItems.count() == 1 ? tr( "Add Layer to Project" )
: tr( "Add Selected Layers to Project" );
QAction *addAction = new QAction( addText, menu );
connect( addAction, &QAction::triggered, this, [=] {
connect( addAction, &QAction::triggered, this, [this, selectedItems] {
addLayersFromItems( selectedItems );
} );
menu->addAction( addAction );
@ -1117,7 +1117,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
}
QAction *propertiesAction = new QAction( tr( "Layer Properties…" ), menu );
connect( propertiesAction, &QAction::triggered, this, [=] {
connect( propertiesAction, &QAction::triggered, this, [this, layerItem, context] {
showPropertiesForItem( layerItem, context );
} );
menu->addAction( propertiesAction );
@ -2077,13 +2077,13 @@ bool QgsDatabaseItemGuiProvider::handleDrop( QgsDataItem *item, QgsDataItemGuiCo
mainTask->addSubTask( exportTask );
hasSubTasks = true;
// when export is successful:
connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [=]() {
connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [item, context]() {
notify( tr( "Import to database" ), tr( "Import was successful." ), context, Qgis::MessageLevel::Success );
item->refresh();
} );
// when an error occurs:
connect( exportTask, &QgsVectorLayerExporterTask::errorOccurred, item, [=]( Qgis::VectorExportResult error, const QString &errorMessage ) {
connect( exportTask, &QgsVectorLayerExporterTask::errorOccurred, item, []( Qgis::VectorExportResult error, const QString &errorMessage ) {
if ( error != Qgis::VectorExportResult::UserCanceled )
{
QgsMessageOutput *output = QgsMessageOutput::createMessageOutput();
@ -2297,7 +2297,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{
QAction *rangeDomainAction = new QAction( QObject::tr( "New Range Domain…" ) );
createFieldDomainMenu->addAction( rangeDomainAction );
connect( rangeDomainAction, &QAction::triggered, this, [=] {
connect( rangeDomainAction, &QAction::triggered, this, [createDomain] {
createDomain( Qgis::FieldDomainType::Range );
} );
}
@ -2306,7 +2306,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{
QAction *codedDomainAction = new QAction( QObject::tr( "New Coded Values Domain…" ) );
createFieldDomainMenu->addAction( codedDomainAction );
connect( codedDomainAction, &QAction::triggered, this, [=] {
connect( codedDomainAction, &QAction::triggered, this, [createDomain] {
createDomain( Qgis::FieldDomainType::Coded );
} );
}
@ -2315,7 +2315,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{
QAction *globDomainAction = new QAction( QObject::tr( "New Glob Domain…" ) );
createFieldDomainMenu->addAction( globDomainAction );
connect( globDomainAction, &QAction::triggered, this, [=] {
connect( globDomainAction, &QAction::triggered, this, [createDomain] {
createDomain( Qgis::FieldDomainType::Glob );
} );
}
@ -2580,7 +2580,7 @@ void QgsRelationshipItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QPointer<QgsDataItem> itemWeakPointer( item );
connect( editRelationshipAction, &QAction::triggered, this, [=] {
connect( editRelationshipAction, &QAction::triggered, this, [md, itemWeakPointer, relation, connectionUri, context] {
std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn { static_cast<QgsAbstractDatabaseProviderConnection *>( md->createConnection( connectionUri, {} ) ) };
QgsDbRelationDialog dialog( conn.release(), QgisApp::instance() );

View File

@ -67,7 +67,7 @@ QgsDecorationCopyrightDialog::QgsDecorationCopyrightDialog( QgsDecorationCopyrig
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );

View File

@ -38,7 +38,7 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid &deco, QWidg
connect( buttonBox, &QDialogButtonBox::accepted, this, &QgsDecorationGridDialog::buttonBox_accepted );
connect( buttonBox, &QDialogButtonBox::rejected, this, &QgsDecorationGridDialog::buttonBox_rejected );
connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [=]( int ) { updateSymbolButtons(); } );
connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [this]( int ) { updateSymbolButtons(); } );
connect( mPbtnUpdateFromExtents, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromExtents_clicked );
connect( mPbtnUpdateFromLayer, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromLayer_clicked );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsDecorationGridDialog::showHelp );
@ -47,7 +47,7 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid &deco, QWidg
mLineSymbolButton->setSymbolType( Qgis::SymbolType::Line );
grpEnable->setChecked( mDeco.enabled() );
connect( grpEnable, &QGroupBox::toggled, this, [=] { updateSymbolButtons(); } );
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateSymbolButtons(); } );
mOffsetXEdit->setShowClearButton( true );
mOffsetXEdit->setClearValue( 0 );

View File

@ -51,7 +51,7 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
@ -69,7 +69,7 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
// enabled
grpEnable->setChecked( mDeco.enabled() );
connect( grpEnable, &QGroupBox::toggled, this, [=] { updateEnabledColorButtons(); } );
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateEnabledColorButtons(); } );
wgtImagePath->setFilePath( mDeco.imagePath() );
connect( wgtImagePath, &QgsFileWidget::fileChanged, this, &QgsDecorationImageDialog::updateImagePath );
@ -83,8 +83,8 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select SVG Image Outline Color" ) );
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } );
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } );
drawImage();
}

View File

@ -52,7 +52,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
spinAngle->setEnabled( !mDeco.mAutomatic );
sliderRotation->setEnabled( !mDeco.mAutomatic );
connect( cboxAutomatic, &QAbstractButton::toggled, this, [=]( bool checked ) {
connect( cboxAutomatic, &QAbstractButton::toggled, this, [this]( bool checked ) {
spinAngle->setEnabled( !checked );
sliderRotation->setEnabled( !checked );
} );
@ -66,7 +66,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
@ -87,7 +87,7 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
mSvgPathLineEdit->setText( mDeco.mSvgPath );
connect( mSvgPathLineEdit, &QLineEdit::textChanged, this, &QgsDecorationNorthArrowDialog::updateSvgPath );
connect( mSvgSelectorBtn, &QPushButton::clicked, this, [=] {
connect( mSvgSelectorBtn, &QPushButton::clicked, this, [this] {
QgsSvgSelectorDialog svgDlg( this );
svgDlg.setWindowTitle( tr( "Select SVG file" ) );
svgDlg.svgSelector()->setSvgPath( mSvgPathLineEdit->text().trimmed() );
@ -109,8 +109,8 @@ QgsDecorationNorthArrowDialog::QgsDecorationNorthArrowDialog( QgsDecorationNorth
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select North Arrow Outline Color" ) );
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawNorthArrow(); } );
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawNorthArrow(); } );
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawNorthArrow(); } );
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawNorthArrow(); } );
drawNorthArrow();
}

View File

@ -64,7 +64,7 @@ QgsDecorationScaleBarDialog::QgsDecorationScaleBarDialog( QgsDecorationScaleBar
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );

View File

@ -74,7 +74,7 @@ QgsDecorationTitleDialog::QgsDecorationTitleDialog( QgsDecorationTitle &deco, QW
cboPlacement->addItem( tr( "Bottom Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );

View File

@ -152,19 +152,19 @@ QList<QAction *> QgsNetworkLoggerRequestGroup::actions( QObject *parent )
{
QList<QAction *> res;
QAction *openUrlAction = new QAction( QObject::tr( "Open URL" ), parent );
QObject::connect( openUrlAction, &QAction::triggered, openUrlAction, [=] {
QObject::connect( openUrlAction, &QAction::triggered, openUrlAction, [this] {
QDesktopServices::openUrl( mUrl );
} );
res << openUrlAction;
QAction *copyUrlAction = new QAction( QObject::tr( "Copy URL" ), parent );
QObject::connect( copyUrlAction, &QAction::triggered, openUrlAction, [=] {
QObject::connect( copyUrlAction, &QAction::triggered, openUrlAction, [this] {
QApplication::clipboard()->setText( mUrl.url() );
} );
res << copyUrlAction;
QAction *copyAsCurlAction = new QAction( QObject::tr( "Copy As cURL" ), parent );
QObject::connect( copyAsCurlAction, &QAction::triggered, copyAsCurlAction, [=] {
QObject::connect( copyAsCurlAction, &QAction::triggered, copyAsCurlAction, [this] {
QString curlHeaders;
for ( const QPair<QString, QString> &header : std::as_const( mHeaders ) )
curlHeaders += QStringLiteral( "-H '%1: %2' " ).arg( header.first, header.second );
@ -211,7 +211,7 @@ QList<QAction *> QgsNetworkLoggerRequestGroup::actions( QObject *parent )
res << copyAsCurlAction;
QAction *copyJsonAction = new QAction( QObject::tr( "Copy as JSON" ), parent );
QObject::connect( copyJsonAction, &QAction::triggered, openUrlAction, [=] {
QObject::connect( copyJsonAction, &QAction::triggered, openUrlAction, [this] {
const QVariant value = toVariant();
const QString json = QString::fromStdString( QgsJsonUtils::jsonFromVariant( value ).dump( 2 ) );
QApplication::clipboard()->setText( json );

View File

@ -60,7 +60,7 @@ QgsNetworkLoggerTreeView::QgsNetworkLoggerTreeView( QgsNetworkLogger *logger, QW
mAutoScroll = false;
} );
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [=] {
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [this] {
if ( mLogger->rowCount() > ( QgsNetworkLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer
{
// never trim expanded nodes
@ -185,11 +185,11 @@ QgsNetworkLoggerPanelWidget::QgsNetworkLoggerPanelWidget( QgsNetworkLogger *logg
connect( mActionShowSuccessful, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowSuccessful );
connect( mActionShowCached, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowCached );
connect( mActionClear, &QAction::triggered, mLogger, &QgsNetworkLogger::clear );
connect( mActionRecord, &QAction::toggled, this, [=]( bool enabled ) {
connect( mActionRecord, &QAction::toggled, this, [this]( bool enabled ) {
QgsSettings().setValue( QStringLiteral( "logNetworkRequests" ), enabled, QgsSettings::App );
mLogger->enableLogging( enabled );
} );
connect( mActionSaveLog, &QAction::triggered, this, [=]() {
connect( mActionSaveLog, &QAction::triggered, this, [this]() {
if ( QMessageBox::warning( this, tr( "Save Network Log" ), tr( "Security warning: network logs may contain sensitive data including usernames or passwords. Treat this log as confidential and be careful who you share it with. Continue?" ), QMessageBox::Yes | QMessageBox::No ) == QMessageBox::No )
return;
@ -228,7 +228,7 @@ QgsNetworkLoggerPanelWidget::QgsNetworkLoggerPanelWidget( QgsNetworkLogger *logg
mToolbar->addSeparator();
QCheckBox *disableCacheCheck = new QCheckBox( tr( "Disable cache" ) );
connect( disableCacheCheck, &QCheckBox::toggled, this, [=]( bool checked ) {
connect( disableCacheCheck, &QCheckBox::toggled, this, []( bool checked ) {
// note -- we deliberately do NOT store this as a permanent setting in QSettings
// as it is designed to be a temporary debugging tool only and we don't want
// users to accidentally leave this enabled and cause unnecessary server load...

View File

@ -41,7 +41,7 @@ QgsProfilerPanelWidget::QgsProfilerPanelWidget( QgsRuntimeProfiler *profiler, QW
mTreeView->setItemDelegateForColumn( 1, new CostDelegate( static_cast<int>( QgsRuntimeProfilerNode::CustomRole::Elapsed ), static_cast<int>( QgsRuntimeProfilerNode::CustomRole::ParentElapsed ), mTreeView ) );
connect( mProfiler, &QgsRuntimeProfiler::groupAdded, this, [=]( const QString &group ) {
connect( mProfiler, &QgsRuntimeProfiler::groupAdded, this, [this]( const QString &group ) {
mCategoryComboBox->addItem( QgsRuntimeProfiler::translateGroupName( group ).isEmpty() ? group : QgsRuntimeProfiler::translateGroupName( group ), group );
if ( mCategoryComboBox->count() == 1 )
{
@ -50,7 +50,7 @@ QgsProfilerPanelWidget::QgsProfilerPanelWidget( QgsRuntimeProfiler *profiler, QW
}
} );
connect( mCategoryComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
connect( mCategoryComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) {
mProxyModel->setGroup( mCategoryComboBox->currentData().toString() );
} );

View File

@ -149,7 +149,7 @@ QList<QAction *> QgsDevToolsModelValueNode::actions( QObject *parent )
QList<QAction *> res;
QAction *copyAction = new QAction( QObject::tr( "Copy" ), parent );
QObject::connect( copyAction, &QAction::triggered, copyAction, [=] {
QObject::connect( copyAction, &QAction::triggered, copyAction, [this] {
QApplication::clipboard()->setText( QStringLiteral( "%1: %2" ).arg( mKey, mValue ) );
} );

View File

@ -166,13 +166,13 @@ QList<QAction *> QgsDatabaseQueryLoggerQueryGroup::actions( QObject *parent )
QList<QAction *> res;
QAction *copyUrlAction = new QAction( QObject::tr( "Copy SQL" ), parent );
QObject::connect( copyUrlAction, &QAction::triggered, copyUrlAction, [=] {
QObject::connect( copyUrlAction, &QAction::triggered, copyUrlAction, [this] {
QApplication::clipboard()->setText( mSql );
} );
res << copyUrlAction;
QAction *copyJsonAction = new QAction( QObject::tr( "Copy as JSON" ), parent );
QObject::connect( copyJsonAction, &QAction::triggered, copyJsonAction, [=] {
QObject::connect( copyJsonAction, &QAction::triggered, copyJsonAction, [this] {
const QVariant value = toVariant();
const QString json = QString::fromStdString( QgsJsonUtils::jsonFromVariant( value ).dump( 2 ) );
QApplication::clipboard()->setText( json );

View File

@ -75,7 +75,7 @@ QgsDatabaseQueryLoggerTreeView::QgsDatabaseQueryLoggerTreeView( QgsAppQueryLogge
mAutoScroll = false;
} );
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [=] {
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [this] {
if ( mLogger->rowCount() > ( QgsAppQueryLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer
{
// never trim expanded nodes
@ -183,11 +183,11 @@ QgsDatabaseQueryLoggerPanelWidget::QgsDatabaseQueryLoggerPanelWidget( QgsAppQuer
connect( mFilterLineEdit, &QgsFilterLineEdit::textChanged, mTreeView, &QgsDatabaseQueryLoggerTreeView::setFilterString );
connect( mActionClear, &QAction::triggered, mLogger, &QgsAppQueryLogger::clear );
connect( mActionRecord, &QAction::toggled, this, [=]( bool enabled ) {
connect( mActionRecord, &QAction::toggled, this, []( bool enabled ) {
QgsSettings().setValue( QStringLiteral( "logDatabaseQueries" ), enabled, QgsSettings::App );
QgsApplication::databaseQueryLog()->setEnabled( enabled );
} );
connect( mActionSaveLog, &QAction::triggered, this, [=]() {
connect( mActionSaveLog, &QAction::triggered, this, [this]() {
if ( QMessageBox::warning( this, tr( "Save Database Query Log" ), tr( "Security warning: query logs may contain sensitive data including usernames or passwords. Treat this log as confidential and be careful who you share it with. Continue?" ), QMessageBox::Yes | QMessageBox::No ) == QMessageBox::No )
return;

View File

@ -227,7 +227,7 @@ QgsDwgImporter::QgsDwgImporter( const QString &database, const QgsCoordinateRefe
// setup custom debug printer for libdxfrw
static std::once_flag initialized;
std::call_once( initialized, [=]() {
std::call_once( initialized, []() {
DRW::setCustomDebugPrinter( new QgsDrwDebugPrinter( 4 ) );
} );

View File

@ -145,12 +145,12 @@ QgsElevationProfileToolMeasure::QgsElevationProfileToolMeasure( QgsElevationProf
mDialog = new QgsProfileMeasureResultsDialog();
connect( this, &QgsElevationProfileToolMeasure::cleared, mDialog, &QDialog::hide );
connect( this, &QgsElevationProfileToolMeasure::measureChanged, mDialog, [=]( double totalDistance, double deltaCurve, double deltaElevation ) {
connect( this, &QgsElevationProfileToolMeasure::measureChanged, mDialog, [this]( double totalDistance, double deltaCurve, double deltaElevation ) {
mDialog->setCrs( mElevationCanvas->crs() );
mDialog->setMeasures( totalDistance, deltaCurve, deltaElevation );
mDialog->show();
} );
connect( mDialog, &QgsProfileMeasureResultsDialog::closed, this, [=] {
connect( mDialog, &QgsProfileMeasureResultsDialog::closed, this, [this] {
clear();
} );
}

View File

@ -168,7 +168,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mCanvas->setLockAxisScales( settingLockAxis->value() );
mCanvas->setBackgroundColor( settingBackgroundColor->value() );
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, [=] {
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, [this] {
mCanvas->setBackgroundColor( settingBackgroundColor->value() );
} );
@ -177,7 +177,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mLayerTreeView = new QgsAppElevationProfileLayerTreeView( mLayerTree.get() );
connect( mLayerTreeView, &QgsAppElevationProfileLayerTreeView::addLayers, this, &QgsElevationProfileWidget::addLayersInternal );
connect( mLayerTreeView, &QAbstractItemView::doubleClicked, this, [=]( const QModelIndex &index ) {
connect( mLayerTreeView, &QAbstractItemView::doubleClicked, this, [this]( const QModelIndex &index ) {
if ( QgsMapLayer *layer = mLayerTreeView->indexToLayer( index ) )
{
QgisApp::instance()->showLayerProperties( layer, QStringLiteral( "mOptsPage_Elevation" ) );
@ -198,7 +198,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
QAction *showLayerTree = new QAction( tr( "Show Layer Tree" ), this );
showLayerTree->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mIconLayerTree.svg" ) ) );
showLayerTree->setCheckable( true );
connect( showLayerTree, &QAction::toggled, this, [=]( bool checked ) {
connect( showLayerTree, &QAction::toggled, this, [this]( bool checked ) {
settingShowLayerTree->setValue( checked );
mLayerTreeView->setVisible( checked );
} );
@ -210,7 +210,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mCaptureCurveAction = new QAction( tr( "Capture Curve" ), this );
mCaptureCurveAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionCaptureLine.svg" ) ) );
mCaptureCurveAction->setCheckable( true );
connect( mCaptureCurveAction, &QAction::triggered, this, [=] {
connect( mCaptureCurveAction, &QAction::triggered, this, [this] {
if ( mCaptureCurveMapTool && mMainCanvas )
{
mMainCanvas->setMapTool( mCaptureCurveMapTool.get() );
@ -221,7 +221,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mCaptureCurveFromFeatureAction = new QAction( tr( "Capture Curve From Feature" ), this );
mCaptureCurveFromFeatureAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionCaptureCurveFromFeature.svg" ) ) );
mCaptureCurveFromFeatureAction->setCheckable( true );
connect( mCaptureCurveFromFeatureAction, &QAction::triggered, this, [=] {
connect( mCaptureCurveFromFeatureAction, &QAction::triggered, this, [this] {
if ( mCaptureCurveFromFeatureMapTool && mMainCanvas )
{
mMainCanvas->setMapTool( mCaptureCurveFromFeatureMapTool.get() );
@ -241,7 +241,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mNudgeRightAction->setEnabled( false );
toolBar->addAction( mNudgeRightAction );
auto createShortcuts = [=]( const QString &objectName, void ( QgsElevationProfileWidget::*slot )() ) {
auto createShortcuts = [this]( const QString &objectName, void ( QgsElevationProfileWidget::*slot )() ) {
if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) )
connect( sc, &QShortcut::activated, this, slot );
};
@ -260,7 +260,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
identifyToolAction->setCheckable( true );
identifyToolAction->setChecked( true );
mIdentifyTool->setAction( identifyToolAction );
connect( identifyToolAction, &QAction::triggered, mPanTool, [=] { mCanvas->setTool( mIdentifyTool ); } );
connect( identifyToolAction, &QAction::triggered, mPanTool, [this] { mCanvas->setTool( mIdentifyTool ); } );
toolBar->addAction( identifyToolAction );
QAction *panToolAction = new QAction( tr( "Pan" ), this );
@ -268,21 +268,21 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
panToolAction->setCheckable( true );
panToolAction->setChecked( false );
mPanTool->setAction( panToolAction );
connect( panToolAction, &QAction::triggered, mPanTool, [=] { mCanvas->setTool( mPanTool ); } );
connect( panToolAction, &QAction::triggered, mPanTool, [this] { mCanvas->setTool( mPanTool ); } );
toolBar->addAction( panToolAction );
QAction *zoomXAxisToolAction = new QAction( tr( "Zoom X Axis" ), this );
zoomXAxisToolAction->setCheckable( true );
zoomXAxisToolAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionZoomInXAxis.svg" ) ) );
mXAxisZoomTool->setAction( zoomXAxisToolAction );
connect( zoomXAxisToolAction, &QAction::triggered, mXAxisZoomTool, [=] { mCanvas->setTool( mXAxisZoomTool ); } );
connect( zoomXAxisToolAction, &QAction::triggered, mXAxisZoomTool, [this] { mCanvas->setTool( mXAxisZoomTool ); } );
toolBar->addAction( zoomXAxisToolAction );
QAction *zoomToolAction = new QAction( tr( "Zoom" ), this );
zoomToolAction->setCheckable( true );
zoomToolAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionZoomIn.svg" ) ) );
mZoomTool->setAction( zoomToolAction );
connect( zoomToolAction, &QAction::triggered, mZoomTool, [=] { mCanvas->setTool( mZoomTool ); } );
connect( zoomToolAction, &QAction::triggered, mZoomTool, [this] { mCanvas->setTool( mZoomTool ); } );
toolBar->addAction( zoomToolAction );
QAction *resetViewAction = new QAction( tr( "Zoom Full" ), this );
@ -303,7 +303,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
measureToolAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionMeasure.svg" ) ) );
measureToolAction->setCheckable( true );
mMeasureTool->setAction( measureToolAction );
connect( measureToolAction, &QAction::triggered, this, [=] {
connect( measureToolAction, &QAction::triggered, this, [this] {
mCanvas->setTool( mMeasureTool.get() );
} );
toolBar->addAction( measureToolAction );
@ -383,7 +383,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
action->setData( QVariant::fromValue( unit ) );
action->setCheckable( true );
action->setActionGroup( unitGroup );
connect( action, &QAction::toggled, this, [=]( bool active ) {
connect( action, &QAction::toggled, this, [this, unit]( bool active ) {
if ( active )
{
mCanvas->setDistanceUnit( unit );
@ -391,7 +391,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
} );
mDistanceUnitMenu->addAction( action );
}
connect( mDistanceUnitMenu, &QMenu::aboutToShow, this, [=] {
connect( mDistanceUnitMenu, &QMenu::aboutToShow, this, [this] {
for ( QAction *action : mDistanceUnitMenu->actions() )
{
if ( action->data().value<Qgis::DistanceUnit>() == mCanvas->distanceUnit() && !action->isChecked() )
@ -405,7 +405,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
mSettingsAction = new QgsElevationProfileWidgetSettingsAction( mOptionsMenu );
mSettingsAction->toleranceSpinBox()->setValue( settingTolerance->value() );
connect( mSettingsAction->toleranceSpinBox(), qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( double value ) {
connect( mSettingsAction->toleranceSpinBox(), qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( double value ) {
settingTolerance->setValue( value );
createOrUpdateRubberBands();
scheduleUpdate();
@ -483,7 +483,7 @@ QgsElevationProfileWidget::QgsElevationProfileWidget( const QString &name )
QToolButton *toggleButton = mDockableWidgetHelper->createDockUndockToolButton();
toggleButton->setToolTip( tr( "Dock Elevation Profile View" ) );
toolBar->addWidget( toggleButton );
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [=]() {
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [this]() {
close();
} );
@ -527,8 +527,8 @@ void QgsElevationProfileWidget::setMainCanvas( QgsMapCanvas *canvas )
mCaptureCurveMapTool = std::make_unique<QgsMapToolProfileCurve>( canvas, QgisApp::instance()->cadDockWidget() );
mCaptureCurveMapTool->setAction( mCaptureCurveAction );
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::curveCaptured, this, [=]( const QgsGeometry &curve ) { setProfileCurve( curve, true ); } );
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::captureStarted, this, [=] {
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::curveCaptured, this, [this]( const QgsGeometry &curve ) { setProfileCurve( curve, true ); } );
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::captureStarted, this, [this] {
// if capturing a new curve, we just hide the existing rubber band -- if the user cancels the new curve digitizing then we'll
// re-show the old curve rubber band
if ( mRubberBand )
@ -538,7 +538,7 @@ void QgsElevationProfileWidget::setMainCanvas( QgsMapCanvas *canvas )
if ( mMapPointRubberBand )
mMapPointRubberBand->hide();
} );
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::captureCanceled, this, [=] {
connect( mCaptureCurveMapTool.get(), &QgsMapToolProfileCurve::captureCanceled, this, [this] {
if ( mRubberBand )
mRubberBand->show();
if ( mToleranceRubberBand )
@ -549,7 +549,7 @@ void QgsElevationProfileWidget::setMainCanvas( QgsMapCanvas *canvas )
mCaptureCurveFromFeatureMapTool = std::make_unique<QgsMapToolProfileCurveFromFeature>( canvas );
mCaptureCurveFromFeatureMapTool->setAction( mCaptureCurveFromFeatureAction );
connect( mCaptureCurveFromFeatureMapTool.get(), &QgsMapToolProfileCurveFromFeature::curveCaptured, this, [=]( const QgsGeometry &curve ) { setProfileCurve( curve, true ); } );
connect( mCaptureCurveFromFeatureMapTool.get(), &QgsMapToolProfileCurveFromFeature::curveCaptured, this, [this]( const QgsGeometry &curve ) { setProfileCurve( curve, true ); } );
mMapPointRubberBand.reset( new QgsRubberBand( canvas, Qgis::GeometryType::Point ) );
mMapPointRubberBand->setZValue( 1000 );
@ -561,7 +561,7 @@ void QgsElevationProfileWidget::setMainCanvas( QgsMapCanvas *canvas )
mMapPointRubberBand->hide();
mCanvas->setDistanceUnit( mMainCanvas->mapSettings().destinationCrs().mapUnits() );
connect( mMainCanvas, &QgsMapCanvas::destinationCrsChanged, this, [=] {
connect( mMainCanvas, &QgsMapCanvas::destinationCrsChanged, this, [this] {
mCanvas->setDistanceUnit( mMainCanvas->mapSettings().destinationCrs().mapUnits() );
} );
}
@ -655,7 +655,7 @@ void QgsElevationProfileWidget::onTotalPendingJobsCountChanged( int count )
mJobProgressBarTimer.setSingleShot( true );
mJobProgressBarTimer.setInterval( 500 );
disconnect( mJobProgressBarTimerConnection );
mJobProgressBarTimerConnection = connect( &mJobProgressBarTimer, &QTimer::timeout, this, [=]() {
mJobProgressBarTimerConnection = connect( &mJobProgressBarTimer, &QTimer::timeout, this, [this]() {
mProgressPendingJobs->setVisible( true );
} );
mJobProgressBarTimer.start();

View File

@ -23,7 +23,7 @@
QgsMapToolProfileCurve::QgsMapToolProfileCurve( QgsMapCanvas *canvas, QgsAdvancedDigitizingDockWidget *cadDockWidget )
: QgsMapToolCapture( canvas, cadDockWidget, CaptureMode::CaptureLine )
{
connect( canvas, &QgsMapCanvas::mapToolSet, this, [=]( QgsMapTool *tool, QgsMapTool * ) {
connect( canvas, &QgsMapCanvas::mapToolSet, this, [this]( QgsMapTool *tool, QgsMapTool * ) {
if ( tool != this )
mPreviousTool = tool;
} );

View File

@ -57,7 +57,7 @@ QgsGCPListWidget::QgsGCPListWidget( QWidget *parent )
connect( this, &QAbstractItemView::clicked, this, &QgsGCPListWidget::itemClicked );
connect( this, &QWidget::customContextMenuRequested, this, &QgsGCPListWidget::showContextMenu );
connect( mGCPListModel, &QgsGCPListModel::pointEnabled, this, [=]( QgsGeorefDataPoint *point, int row ) {
connect( mGCPListModel, &QgsGCPListModel::pointEnabled, this, [this]( QgsGeorefDataPoint *point, int row ) {
emit pointEnabled( point, row );
adjustTableContent();
return;
@ -181,7 +181,7 @@ void QgsGCPListWidget::showContextMenu( QPoint p )
setCurrentIndex( index );
QAction *jumpToPointAction = new QAction( tr( "Recenter" ), this );
connect( jumpToPointAction, &QAction::triggered, this, [=] {
connect( jumpToPointAction, &QAction::triggered, this, [this] {
const QModelIndex sourceIndex = static_cast<const QSortFilterProxyModel *>( model() )->mapToSource( currentIndex() );
mPrevRow = sourceIndex.row();
mPrevColumn = sourceIndex.column();

View File

@ -874,10 +874,10 @@ void QgsGeoreferencerMainWindow::showCoordDialog( const QgsPointXY &sourceCoordi
{
mNewlyAddedPoint = new QgsGeorefDataPoint( mCanvas, QgisApp::instance()->mapCanvas(), sourceCoordinates, QgsPointXY(), QgsCoordinateReferenceSystem(), true );
mMapCoordsDialog = new QgsMapCoordsDialog( QgisApp::instance()->mapCanvas(), mNewlyAddedPoint, lastProjection, this );
connect( mMapCoordsDialog, &QgsMapCoordsDialog::pointAdded, this, [=]( const QgsPointXY &sourceLayerCoordinate, const QgsPointXY &destinationCoordinate, const QgsCoordinateReferenceSystem &destinationCrs ) {
connect( mMapCoordsDialog, &QgsMapCoordsDialog::pointAdded, this, [this]( const QgsPointXY &sourceLayerCoordinate, const QgsPointXY &destinationCoordinate, const QgsCoordinateReferenceSystem &destinationCrs ) {
addPoint( sourceLayerCoordinate, destinationCoordinate, destinationCrs );
} );
connect( mMapCoordsDialog, &QObject::destroyed, this, [=] {
connect( mMapCoordsDialog, &QObject::destroyed, this, [this] {
delete mNewlyAddedPoint;
mNewlyAddedPoint = nullptr;
} );
@ -1102,9 +1102,9 @@ void QgsGeoreferencerMainWindow::createActions()
connect( mActionReset, &QAction::triggered, this, &QgsGeoreferencerMainWindow::reset );
mActionOpenRaster->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddRasterLayer.svg" ) ) );
connect( mActionOpenRaster, &QAction::triggered, this, [=] { openLayer( Qgis::LayerType::Raster ); } );
connect( mActionOpenRaster, &QAction::triggered, this, [this] { openLayer( Qgis::LayerType::Raster ); } );
connect( mActionOpenVector, &QAction::triggered, this, [=] { openLayer( Qgis::LayerType::Vector ); } );
connect( mActionOpenVector, &QAction::triggered, this, [this] { openLayer( Qgis::LayerType::Vector ); } );
mActionStartGeoref->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionStart.svg" ) ) );
connect( mActionStartGeoref, &QAction::triggered, this, &QgsGeoreferencerMainWindow::georeference );
@ -1211,7 +1211,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mAdvancedDigitizingDockWidget = new QgsAdvancedDigitizingDockWidget( mCanvas );
addDockWidget( Qt::LeftDockWidgetArea, mAdvancedDigitizingDockWidget );
mAdvancedDigitizingDockWidget->hide();
connect( mActionAdvancedDigitizingDock, &QAction::triggered, mAdvancedDigitizingDockWidget, [=]( bool checked ) { mAdvancedDigitizingDockWidget->setVisible( checked ); } );
connect( mActionAdvancedDigitizingDock, &QAction::triggered, mAdvancedDigitizingDockWidget, [this]( bool checked ) { mAdvancedDigitizingDockWidget->setVisible( checked ); } );
QgsSnappingConfig snappingConfig;
snappingConfig.setMode( Qgis::SnappingMode::AllLayers );
@ -1247,7 +1247,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mSnappingTypeButton->setMenu( typeMenu );
mSnappingTypeButton->setObjectName( QStringLiteral( "SnappingTypeButton" ) );
connect( mSnappingTypeButton, &QToolButton::triggered, this, [=]( QAction *action ) {
connect( mSnappingTypeButton, &QToolButton::triggered, this, [this]( QAction *action ) {
QgsSnappingConfig snappingConfig = mSnappingUtils->config();
unsigned int type = static_cast<int>( snappingConfig.typeFlag() );
const Qgis::SnappingTypes actionFlag = static_cast<Qgis::SnappingTypes>( action->data().toInt() );
@ -1256,7 +1256,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mSnappingUtils->setConfig( snappingConfig );
} );
connect( mSnappingTypeButton, &QToolButton::clicked, this, [=]( bool checked ) {
connect( mSnappingTypeButton, &QToolButton::clicked, this, [this]( bool checked ) {
QgsSnappingConfig snappingConfig = mSnappingUtils->config();
snappingConfig.setEnabled( checked );
mSnappingUtils->setConfig( snappingConfig );
@ -1285,7 +1285,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mToolDeletePoint->setAction( mActionDeletePoint );
connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::hoverPoint, this, &QgsGeoreferencerMainWindow::hoverPoint );
connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::deletePoint, this, &QgsGeoreferencerMainWindow::deletePoint );
connect( mToolDeletePoint, &QgsMapTool::deactivated, this, [=] {
connect( mToolDeletePoint, &QgsMapTool::deactivated, this, [this] {
if ( mHoveredPoint )
{
mHoveredPoint->setHovered( false );
@ -1299,7 +1299,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint );
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint );
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint );
connect( mToolMovePoint, &QgsMapTool::deactivated, this, [=] {
connect( mToolMovePoint, &QgsMapTool::deactivated, this, [this] {
mMovingPoint = nullptr;
if ( mHoveredPoint )
{
@ -1315,7 +1315,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint );
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint );
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint );
connect( mToolMovePointQgis, &QgsMapTool::deactivated, this, [=] {
connect( mToolMovePointQgis, &QgsMapTool::deactivated, this, [this] {
mMovingPointQgis = nullptr;
if ( mHoveredPoint )
{

View File

@ -76,7 +76,7 @@ QgsTransformSettingsDialog::QgsTransformSettingsDialog( Qgis::LayerType type, co
outputFile->setDialogTitle( tr( "Destination File" ) );
const QString lastDestinationFolder = settingLastDestinationFolder->value();
outputFile->setDefaultRoot( lastDestinationFolder.isEmpty() ? QDir::homePath() : lastDestinationFolder );
connect( outputFile, &QgsFileWidget::fileChanged, this, [=] {
connect( outputFile, &QgsFileWidget::fileChanged, this, [outputFile] {
settingLastDestinationFolder->setValue( QFileInfo( outputFile->filePath() ).absolutePath() );
} );
@ -85,7 +85,7 @@ QgsTransformSettingsDialog::QgsTransformSettingsDialog( Qgis::LayerType type, co
mPdfMap->setDialogTitle( tr( "Save Map File As" ) );
const QString lastPdfFolder = settingLastPdfFolder->value();
mPdfMap->setDefaultRoot( lastPdfFolder.isEmpty() ? QDir::homePath() : lastPdfFolder );
connect( mPdfMap, &QgsFileWidget::fileChanged, this, [=] {
connect( mPdfMap, &QgsFileWidget::fileChanged, this, [this] {
settingLastPdfFolder->setValue( QFileInfo( mPdfMap->filePath() ).absolutePath() );
} );
@ -93,7 +93,7 @@ QgsTransformSettingsDialog::QgsTransformSettingsDialog( Qgis::LayerType type, co
mPdfReport->setFilter( tr( "PDF files" ) + " (*.pdf *.PDF)" );
mPdfReport->setDialogTitle( tr( "Save Report File As" ) );
mPdfReport->setDefaultRoot( lastPdfFolder.isEmpty() ? QDir::homePath() : lastPdfFolder );
connect( mPdfReport, &QgsFileWidget::fileChanged, this, [=] {
connect( mPdfReport, &QgsFileWidget::fileChanged, this, [this] {
settingLastPdfFolder->setValue( QFileInfo( mPdfMap->filePath() ).absolutePath() );
} );

View File

@ -241,7 +241,7 @@ void QgsAppGpsConnection::showGpsConnectFailureWarning( const QString &message )
QgisApp::instance()->statusBarIface()->clearMessage();
mConnectionMessageItem = QgisApp::instance()->messageBar()->createMessage( QString(), message );
QPushButton *configureButton = new QPushButton( tr( "Configure Device…" ) );
connect( configureButton, &QPushButton::clicked, configureButton, [=] {
connect( configureButton, &QPushButton::clicked, configureButton, [] {
QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mGpsOptions" ) );
} );
mConnectionMessageItem->layout()->addWidget( configureButton );

View File

@ -125,10 +125,10 @@ QgsAppGpsDigitizing::QgsAppGpsDigitizing( QgsAppGpsConnection *connection, QgsMa
QgsGui::mapLayerActionRegistry()->addMapLayerAction( mUpdateGpsDetailsAction );
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, QgsProject::instance() );
connect( mCanvas, &QgsMapCanvas::destinationCrsChanged, this, [=] {
connect( mCanvas, &QgsMapCanvas::destinationCrsChanged, this, [this] {
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, QgsProject::instance() );
} );
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [this] {
setTransformContext( QgsProject::instance()->transformContext() );
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, transformContext() );
} );
@ -136,7 +136,7 @@ QgsAppGpsDigitizing::QgsAppGpsDigitizing( QgsAppGpsConnection *connection, QgsMa
setEllipsoid( QgsProject::instance()->ellipsoid() );
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [this] {
setEllipsoid( QgsProject::instance()->ellipsoid() );
} );
@ -146,13 +146,13 @@ QgsAppGpsDigitizing::QgsAppGpsDigitizing( QgsAppGpsConnection *connection, QgsMa
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, &QgsAppGpsDigitizing::gpsSettingsChanged );
gpsSettingsChanged();
connect( QgisApp::instance(), &QgisApp::activeLayerChanged, this, [=]( QgsMapLayer *layer ) {
connect( QgisApp::instance(), &QgisApp::activeLayerChanged, this, []( QgsMapLayer *layer ) {
if ( QgsProject::instance()->gpsSettings()->destinationFollowsActiveLayer() )
{
QgsProject::instance()->gpsSettings()->setDestinationLayer( qobject_cast<QgsVectorLayer *>( layer ) );
}
} );
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::destinationFollowsActiveLayerChanged, this, [=]( bool enabled ) {
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::destinationFollowsActiveLayerChanged, this, []( bool enabled ) {
if ( enabled )
{
QgsProject::instance()->gpsSettings()->setDestinationLayer( qobject_cast<QgsVectorLayer *>( QgisApp::instance()->activeLayer() ) );
@ -164,7 +164,7 @@ QgsAppGpsDigitizing::QgsAppGpsDigitizing( QgsAppGpsConnection *connection, QgsMa
}
setAutomaticallyAddTrackVertices( QgsProject::instance()->gpsSettings()->automaticallyAddTrackVertices() );
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::automaticallyAddTrackVerticesChanged, this, [=]( bool enabled ) {
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::automaticallyAddTrackVerticesChanged, this, [this]( bool enabled ) {
setAutomaticallyAddTrackVertices( enabled );
} );

View File

@ -60,11 +60,11 @@ QgsAppGpsLogging::QgsAppGpsLogging( QgsAppGpsConnection *connection, QObject *pa
: QObject( parent )
, mConnection( connection )
{
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [this] {
if ( mGpkgLogger )
mGpkgLogger->setTransformContext( QgsProject::instance()->transformContext() );
} );
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [this] {
if ( mGpkgLogger )
mGpkgLogger->setEllipsoid( QgsProject::instance()->ellipsoid() );
} );
@ -72,7 +72,7 @@ QgsAppGpsLogging::QgsAppGpsLogging( QgsAppGpsConnection *connection, QObject *pa
connect( mConnection, &QgsAppGpsConnection::connected, this, &QgsAppGpsLogging::gpsConnected );
connect( mConnection, &QgsAppGpsConnection::disconnected, this, &QgsAppGpsLogging::gpsDisconnected );
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, [=] {
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, [this] {
if ( mGpkgLogger )
mGpkgLogger->updateGpsSettings();
} );

View File

@ -101,7 +101,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mShowLocationMarkerAction = new QAction( tr( "Show Location Marker" ), this );
mShowLocationMarkerAction->setCheckable( true );
mShowLocationMarkerAction->setChecked( showLocationMarker );
connect( mShowLocationMarkerAction, &QAction::toggled, this, [=]( bool checked ) {
connect( mShowLocationMarkerAction, &QAction::toggled, this, [this]( bool checked ) {
emit locationMarkerToggled( checked );
QgsGpsMarker::settingShowLocationMarker->setValue( checked );
} );
@ -111,7 +111,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mShowBearingLineAction = new QAction( tr( "Show Bearing Line" ), this );
mShowBearingLineAction->setCheckable( true );
mShowBearingLineAction->setChecked( showBearingLine );
connect( mShowBearingLineAction, &QAction::toggled, this, [=]( bool checked ) {
connect( mShowBearingLineAction, &QAction::toggled, this, [this]( bool checked ) {
emit bearingLineToggled( checked );
QgsGpsCanvasBridge::settingShowBearingLine->setValue( checked );
} );
@ -122,7 +122,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mRotateMapAction = new QAction( tr( "Rotate Map to Match GPS Direction" ), this );
mRotateMapAction->setCheckable( true );
mRotateMapAction->setChecked( rotateMap );
connect( mRotateMapAction, &QAction::toggled, this, [=]( bool checked ) {
connect( mRotateMapAction, &QAction::toggled, this, [this]( bool checked ) {
QgsGpsCanvasBridge::settingRotateMap->setValue( checked );
emit rotateMapToggled( checked );
} );
@ -148,7 +148,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
break;
}
connect( mRadioAlwaysRecenter, &QRadioButton::toggled, this, [=]( bool checked ) {
connect( mRadioAlwaysRecenter, &QRadioButton::toggled, this, [this]( bool checked ) {
if ( checked )
{
QgsGpsCanvasBridge::settingMapCenteringMode->setValue( Qgis::MapRecenteringMode::Always );
@ -156,7 +156,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
}
} );
connect( mRadioRecenterWhenOutside, &QRadioButton::toggled, this, [=]( bool checked ) {
connect( mRadioRecenterWhenOutside, &QRadioButton::toggled, this, [this]( bool checked ) {
if ( checked )
{
QgsGpsCanvasBridge::settingMapCenteringMode->setValue( Qgis::MapRecenteringMode::WhenOutsideVisibleExtent );
@ -164,7 +164,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
}
} );
connect( mRadioNeverRecenter, &QRadioButton::toggled, this, [=]( bool checked ) {
connect( mRadioNeverRecenter, &QRadioButton::toggled, this, [this]( bool checked ) {
if ( checked )
{
QgsGpsCanvasBridge::settingMapCenteringMode->setValue( Qgis::MapRecenteringMode::Never );
@ -180,7 +180,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mAutoAddTrackVerticesAction = new QAction( tr( "Automatically Add Track Vertices" ), this );
mAutoAddTrackVerticesAction->setCheckable( true );
mAutoAddTrackVerticesAction->setChecked( QgsProject::instance()->gpsSettings()->automaticallyAddTrackVertices() );
connect( mAutoAddTrackVerticesAction, &QAction::toggled, this, [=]( bool checked ) {
connect( mAutoAddTrackVerticesAction, &QAction::toggled, this, []( bool checked ) {
if ( checked != QgsProject::instance()->gpsSettings()->automaticallyAddTrackVertices() )
{
QgsProject::instance()->gpsSettings()->setAutomaticallyAddTrackVertices( checked );
@ -194,7 +194,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mAutoSaveAddedFeatureAction = new QAction( tr( "Automatically Save Added Feature" ), this );
mAutoSaveAddedFeatureAction->setCheckable( true );
mAutoSaveAddedFeatureAction->setChecked( QgsProject::instance()->gpsSettings()->automaticallyCommitFeatures() );
connect( mAutoSaveAddedFeatureAction, &QAction::toggled, this, [=]( bool checked ) {
connect( mAutoSaveAddedFeatureAction, &QAction::toggled, this, []( bool checked ) {
if ( checked != QgsProject::instance()->gpsSettings()->automaticallyCommitFeatures() )
{
QgsProject::instance()->gpsSettings()->setAutomaticallyCommitFeatures( checked );
@ -217,7 +217,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mActionGpkgLog = new QAction( tr( "Log to GeoPackage/Spatialite…" ), this );
mActionGpkgLog->setCheckable( true );
connect( mActionGpkgLog, &QAction::toggled, this, [=]( bool checked ) {
connect( mActionGpkgLog, &QAction::toggled, this, [this]( bool checked ) {
if ( checked )
{
const QString lastGpkgLog = QgsAppGpsLogging::settingLastGpkgLog->value();
@ -246,7 +246,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
mActionNmeaLog = new QAction( tr( "Log NMEA Sentences…" ), this );
mActionNmeaLog->setCheckable( true );
connect( mActionNmeaLog, &QAction::toggled, this, [=]( bool checked ) {
connect( mActionNmeaLog, &QAction::toggled, this, [this]( bool checked ) {
if ( checked )
{
const QString lastLogFolder = QgsAppGpsLogging::settingLastLogFolder->value();
@ -277,7 +277,7 @@ QgsAppGpsSettingsMenu::QgsAppGpsSettingsMenu( QWidget *parent )
QAction *settingsAction = new QAction( tr( "GPS Settings…" ), this );
settingsAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionOptions.svg" ) ) );
connect( settingsAction, &QAction::triggered, this, [=] {
connect( settingsAction, &QAction::triggered, this, [] {
QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mGpsOptions" ) );
} );
@ -344,7 +344,7 @@ void QgsAppGpsSettingsMenu::timeStampMenuAboutToShow()
foundPreviousField = true;
fieldAction->setChecked( currentTimeStampField == fieldName );
}
connect( fieldAction, &QAction::triggered, this, [=]() {
connect( fieldAction, &QAction::triggered, this, [fieldName]() {
if ( QgsProject::instance()->gpsSettings()->destinationTimeStampField() != fieldName )
{
QgsProject::instance()->gpsSettings()->setDestinationTimeStampField( QgsProject::instance()->gpsSettings()->destinationLayer(), fieldName );

View File

@ -59,16 +59,16 @@ QgsGpsCanvasBridge::QgsGpsCanvasBridge( QgsAppGpsConnection *connection, QgsMapC
connect( QgsGui::instance(), &QgsGui::optionsChanged, this, &QgsGpsCanvasBridge::gpsSettingsChanged );
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, QgsProject::instance() );
connect( mCanvas, &QgsMapCanvas::destinationCrsChanged, this, [=] {
connect( mCanvas, &QgsMapCanvas::destinationCrsChanged, this, [this] {
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, QgsProject::instance() );
} );
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::transformContextChanged, this, [this] {
mCanvasToWgs84Transform = QgsCoordinateTransform( mCanvas->mapSettings().destinationCrs(), mWgs84CRS, QgsProject::instance() );
} );
mDistanceCalculator.setEllipsoid( QgsProject::instance()->ellipsoid() );
mDistanceCalculator.setSourceCrs( mWgs84CRS, QgsProject::instance()->transformContext() );
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [=] {
connect( QgsProject::instance(), &QgsProject::ellipsoidChanged, this, [this] {
mDistanceCalculator.setEllipsoid( QgsProject::instance()->ellipsoid() );
} );
@ -76,7 +76,7 @@ QgsGpsCanvasBridge::QgsGpsCanvasBridge( QgsAppGpsConnection *connection, QgsMapC
connect( mCanvas, &QgsMapCanvas::tapAndHoldGestureOccurred, this, &QgsGpsCanvasBridge::tapAndHold );
mBearingNumericFormat.reset( QgsLocalDefaultSettings::bearingFormat() );
connect( QgsProject::instance()->displaySettings(), &QgsProjectDisplaySettings::bearingFormatChanged, this, [=] {
connect( QgsProject::instance()->displaySettings(), &QgsProjectDisplaySettings::bearingFormatChanged, this, [this] {
mBearingNumericFormat.reset( QgsProject::instance()->displaySettings()->bearingFormat()->clone() );
updateGpsDistanceStatusMessage( false );
} );

View File

@ -188,7 +188,7 @@ QgsGpsInformationWidget::QgsGpsInformationWidget( QgsAppGpsConnection *connectio
connect( mConnection, &QgsAppGpsConnection::stateChanged, this, &QgsGpsInformationWidget::displayGPSInformation );
connect( mConnection, &QgsAppGpsConnection::fixStatusChanged, this, &QgsGpsInformationWidget::setStatusIndicator );
connect( mConnection, &QgsAppGpsConnection::statusChanged, this, [=]( Qgis::DeviceConnectionStatus status ) {
connect( mConnection, &QgsAppGpsConnection::statusChanged, this, [this]( Qgis::DeviceConnectionStatus status ) {
switch ( status )
{
case Qgis::DeviceConnectionStatus::Disconnected:

View File

@ -56,7 +56,7 @@ QgsGpsToolBar::QgsGpsToolBar( QgsAppGpsConnection *connection, QgsMapCanvas *can
mConnectAction->setCheckable( true );
addAction( mConnectAction );
connect( mConnectAction, &QAction::toggled, this, [=]( bool connect ) {
connect( mConnectAction, &QAction::toggled, this, [this]( bool connect ) {
if ( connect )
mConnection->connectGps();
else
@ -68,7 +68,7 @@ QgsGpsToolBar::QgsGpsToolBar( QgsAppGpsConnection *connection, QgsMapCanvas *can
mRecenterAction->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/gpsicons/mActionRecenter.svg" ) ) );
mRecenterAction->setEnabled( false );
connect( mRecenterAction, &QAction::triggered, this, [=] {
connect( mRecenterAction, &QAction::triggered, this, [this] {
if ( mConnection->lastValidLocation().isEmpty() )
return;
@ -143,7 +143,7 @@ QgsGpsToolBar::QgsGpsToolBar( QgsAppGpsConnection *connection, QgsMapCanvas *can
mCreateFeatureAction->setEnabled( false );
mAddTrackVertexAction->setEnabled( false );
mResetFeatureAction->setEnabled( false );
connect( mConnection, &QgsAppGpsConnection::statusChanged, this, [=]( Qgis::DeviceConnectionStatus status ) {
connect( mConnection, &QgsAppGpsConnection::statusChanged, this, [this]( Qgis::DeviceConnectionStatus status ) {
switch ( status )
{
case Qgis::DeviceConnectionStatus::Disconnected:
@ -185,7 +185,7 @@ QgsGpsToolBar::QgsGpsToolBar( QgsAppGpsConnection *connection, QgsMapCanvas *can
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::destinationLayerChanged, this, &QgsGpsToolBar::destinationLayerChanged );
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::automaticallyAddTrackVerticesChanged, this, [=]( bool enabled ) { setAddVertexButtonEnabled( !enabled ); } );
connect( QgsProject::instance()->gpsSettings(), &QgsProjectGpsSettings::automaticallyAddTrackVerticesChanged, this, [this]( bool enabled ) { setAddVertexButtonEnabled( !enabled ); } );
setAddVertexButtonEnabled( !QgsProject::instance()->gpsSettings()->automaticallyAddTrackVertices() );
adjustSize();
@ -408,7 +408,7 @@ void QgsGpsToolBar::destinationMenuAboutToShow()
followAction->setCheckable( true );
followAction->setChecked( QgsProject::instance()->gpsSettings()->destinationFollowsActiveLayer() );
connect( followAction, &QAction::toggled, this, [=]( bool checked ) {
connect( followAction, &QAction::toggled, this, []( bool checked ) {
if ( checked && !QgsProject::instance()->gpsSettings()->destinationFollowsActiveLayer() )
{
QgsProject::instance()->gpsSettings()->setDestinationFollowsActiveLayer( true );
@ -431,7 +431,7 @@ void QgsGpsToolBar::destinationMenuAboutToShow()
if ( actionLayerId == currentLayerId && !QgsProject::instance()->gpsSettings()->destinationFollowsActiveLayer() )
layerAction->setChecked( true );
connect( layerAction, &QAction::toggled, this, [=]( bool checked ) {
connect( layerAction, &QAction::toggled, this, [actionLayerId]( bool checked ) {
if ( checked )
{
QgsVectorLayer *layer = qobject_cast<QgsVectorLayer *>( QgsProject::instance()->mapLayer( actionLayerId ) );
@ -475,7 +475,7 @@ void QgsGpsToolBar::createLocationWidget()
showComponentAction->setChecked( visibleComponents & component );
locationMenu->addAction( showComponentAction );
connect( showComponentAction, &QAction::toggled, this, [=]( bool checked ) {
connect( showComponentAction, &QAction::toggled, this, [this, component]( bool checked ) {
const Qgis::GpsInformationComponents currentVisibleComponents = settingShowInToolbar->value();
if ( checked )
{

Some files were not shown because too many files have changed in this diff Show More