Compare commits

..

21 Commits

Author SHA1 Message Date
bdm-oslandia
04ed226dc0 TEMP: add assert to this code as it seems useless 2025-06-27 09:19:57 +02:00
bdm-oslandia
7ce305f67f test(qgsdatasourceuri): add uri in uri test 2025-06-27 09:19:57 +02:00
bdm-oslandia
7579c7c6bc fix(httpheaders): add missing urlencode to headers when updating QUrlQuery 2025-06-27 09:19:57 +02:00
bdm-oslandia
230b4aa45e fix(QgsProjectStorageRegistry): project uri can be urlencoded and starts with XXX%3A 2025-06-27 09:19:57 +02:00
Max Tobias Weber
6fceaee3d0 fix double URL-encoding issue with curly braces in z,x,y placeholders of VectorTile Sources in QgsDataSurceUri 2025-06-27 09:19:57 +02:00
Max Tobias Weber
46ead260af fix most tests in tests/src/core/testqgsvectortilelayer.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
e02db8c490 fix tests tests/src/core/testqgshttpheaders.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
71fab90c74 fix test tests/src/server/wms/test_qgsserver_wms_parameters.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
2b366b066e fix test tests/src/python/test_qgsvectortile.py 2025-06-27 09:19:57 +02:00
Max Tobias Weber
a00fb44415 fix test tests/src/core/testqgsvectortileconnection.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
1e8aa1b60a fix test tests/src/core/testqgstiledsceneconnection.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
1e189669ab fix test tests/src/core/testqgssensorthingsconnection.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
987bfa729b fix test tests/src/core/testqgshttpheaders.cpp 2025-06-27 09:19:57 +02:00
Max Tobias Weber
ebf2256cdb adjust tests to QgsDataSourceUri full value URL-encoding 2025-06-27 09:19:56 +02:00
Max Tobias Weber
c44a773399 add decoding step before adding the "url" value to QgsDataSourceUri in TestQgsIdentify::identifyVectorTile(), as QgsDataSourceUri now reliably returns the values that were provided. 2025-06-27 09:19:56 +02:00
Max Tobias Weber
3f5ea98662 make sure QgsDataSourceUri values are FullyUrlDecoded when parsing QgsDataSourceUri strings in QgsDataSourceUri::setEncodedUri 2025-06-27 09:19:56 +02:00
Max Tobias Weber
5866c60b19 move QUrl::toPercentEncoding and QUrl::fromPercentEncoding steps from QgsDataSourceUri param setter and getter functions to URI serialization QgsDataSourceUri::encodedUri() 2025-06-27 09:19:56 +02:00
Max Tobias Weber
03eb6aa338 fix faulty assertion of URI parameter values not being fully URL-encoded in tests/src/providers/testqgswmsprovider.cpp 2025-06-27 09:19:56 +02:00
Max Tobias Weber
2f1ccd7a7d fix faulty assertion in tests/src/core/testqgsdatasourceuri.cpp
URl-encoded in URL-parameter values characters will be URL-decoded on retrieval.
2025-06-27 09:19:56 +02:00
Max Tobias Weber
96e64bfba1 ensure values in QgsDataSourceUri are URL-encoded when assigned and properly decoded when retrieved, preventing any potential loss of information. 2025-06-27 09:19:56 +02:00
Max Tobias Weber
d73288ebc7 make fromPercentEncoding in qgswmsprovider conditional.
We should not decode an entire URL if it includes parameters, as special characters in the query string (like `&`, `=`) must remain URL-encoded to avoid breaking the structure of the request. Within the URL-parameter values must never be URL-decoded as it leads to a loss of information, this is also the case if only non reserved characters are decoded. There is no way to know whether those characters have been encoded in the first place.
2025-06-27 09:19:56 +02:00
474 changed files with 2360 additions and 3747 deletions

View File

@ -979,31 +979,7 @@ if (WITH_CORE)
else() else()
# UNIX # UNIX
set (DEFAULT_BIN_SUBDIR bin) 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_LIB_SUBDIR lib${LIB_SUFFIX})
set (DEFAULT_DATA_SUBDIR share/qgis) set (DEFAULT_DATA_SUBDIR share/qgis)
set (DEFAULT_LIBEXEC_SUBDIR lib${LIB_SUFFIX}/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 Sets intensity of the light
%End %End
bool operator==( const QgsDirectionalLightSettings &other ) const; bool operator==( const QgsDirectionalLightSettings &other );
}; };

View File

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

View File

@ -153,7 +153,7 @@ pointing towards north. The angle should range from 0 to 360.
%Docstring %Docstring
Writes camera configuration to the given DOM element Writes camera configuration to the given DOM element
%End %End
void readXml( const QDomElement &elem, QgsVector3D savedOrigin ); void readXml( const QDomElement &elem );
%Docstring %Docstring
Reads camera configuration from the given DOM element Reads camera configuration from the given DOM element
%End %End

View File

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

View File

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

View File

@ -153,7 +153,7 @@ pointing towards north. The angle should range from 0 to 360.
%Docstring %Docstring
Writes camera configuration to the given DOM element Writes camera configuration to the given DOM element
%End %End
void readXml( const QDomElement &elem, QgsVector3D savedOrigin ); void readXml( const QDomElement &elem );
%Docstring %Docstring
Reads camera configuration from the given DOM element Reads camera configuration from the given DOM element
%End %End

View File

@ -10135,9 +10135,6 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True 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.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. Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note:: .. note::
@ -10203,10 +10200,6 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases. Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
.. versionadded:: 4.0
""" """
# -- # --

View File

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

View File

@ -1,5 +0,0 @@
# 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,26 +73,6 @@ Sets whether the coverage layer should be hidden in map items in the
layouts. layouts.
.. seealso:: :py:func:`hideCoverage` .. 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 %End
QString filenameExpression() const; QString filenameExpression() const;

View File

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

View File

@ -1,57 +0,0 @@
/************************************************************************
* 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

@ -1,93 +0,0 @@
/************************************************************************
* 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,17 +30,7 @@ also available.
public: public:
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/; virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 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 %Docstring
Add additional filters to the feature request to further restrict the Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this features returned by the request. Derived classes must implement this
@ -48,22 +38,6 @@ method.
:param layer: the layer to filter :param layer: the layer to filter
:param featureRequest: the feature request to update :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 %End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0; virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -1,81 +0,0 @@
/************************************************************************
* 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

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

View File

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

View File

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

View File

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

View File

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

View File

@ -35,15 +35,6 @@ Constructor
~QgsAccessControl(); ~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 ); void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring %Docstring
Resolve features' filter of layers The method fetch filter's expressions Resolve features' filter of layers The method fetch filter's expressions
@ -58,6 +49,23 @@ for efficiency; between each requests, the cache must be cleared using
void unresolveFilterFeatures(); void unresolveFilterFeatures();
%Docstring %Docstring
Clear expression's cache computed from `resolveFilterFeatures` 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 %End
QString extraSubsetString( const QgsVectorLayer *layer ) const; QString extraSubsetString( const QgsVectorLayer *layer ) const;
@ -103,6 +111,17 @@ Returns the layer delete right
:param layer: the layer to control :param layer: the layer to control
:return: ``True`` if we can do a delete :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 %End
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const; bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;

View File

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

View File

@ -14,10 +14,6 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{ {
%Docstring(signature="appended") %Docstring(signature="appended")
A filter filter provider grouping several filter providers. A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End %End
%TypeHeaderCode %TypeHeaderCode
@ -29,14 +25,25 @@ A filter filter provider grouping several filter providers.
Constructor Constructor
%End %End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) 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 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 ); QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring %Docstring

View File

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

View File

@ -10055,9 +10055,6 @@ QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUs
QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks QgsLayoutRenderContext.Flag.FlagAlwaysUseGlobalMasks = Qgis.LayoutRenderFlag.AlwaysUseGlobalMasks
QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks.is_monkey_patched = True 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.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. Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendered.
.. note:: .. note::
@ -10123,10 +10120,6 @@ Qgis.LayoutRenderFlag.__doc__ = """Flags for controlling how a layout is rendere
Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases. Available as ``QgsLayoutRenderContext.FlagAlwaysUseGlobalMasks`` in older QGIS releases.
* ``LimitCoverageLayerRenderToCurrentFeature``: Limit coverage layer rendering to the current atlas feature.
.. versionadded:: 4.0
""" """
# -- # --

View File

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

View File

@ -1,5 +0,0 @@
# 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,26 +73,6 @@ Sets whether the coverage layer should be hidden in map items in the
layouts. layouts.
.. seealso:: :py:func:`hideCoverage` .. 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 %End
QString filenameExpression() const; QString filenameExpression() const;

View File

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

View File

@ -1,57 +0,0 @@
/************************************************************************
* 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

@ -1,93 +0,0 @@
/************************************************************************
* 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,17 +30,7 @@ also available.
public: public:
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/; virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const = 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 %Docstring
Add additional filters to the feature request to further restrict the Add additional filters to the feature request to further restrict the
features returned by the request. Derived classes must implement this features returned by the request. Derived classes must implement this
@ -48,22 +38,6 @@ method.
:param layer: the layer to filter :param layer: the layer to filter
:param featureRequest: the feature request to update :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 %End
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0; virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;

View File

@ -1,81 +0,0 @@
/************************************************************************
* 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

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

View File

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

View File

@ -79,21 +79,13 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
""" """
return "examplescripts" 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: def shortHelpString(self) -> str:
""" """
Returns a localised helper string for the algorithm displayed in the dialog. Returns a localised short helper string for the algorithm. This string
This string should provide a basic description about what the algorithm does and the should provide a basic description about what the algorithm does and the
parameters and outputs associated with it. parameters and outputs associated with it.
""" """
return "Example algorithm description" return "Example algorithm short description"
def initAlgorithm(self, config: Optional[dict[str, Any]] = None): def initAlgorithm(self, config: Optional[dict[str, Any]] = None):
""" """
@ -103,16 +95,13 @@ class ExampleProcessingAlgorithm(QgsProcessingAlgorithm):
# We add the input vector features source. It can have any kind of # We add the input vector features source. It can have any kind of
# geometry. # geometry.
self.addParameter(
input_layer = QgsProcessingParameterFeatureSource( QgsProcessingParameterFeatureSource(
self.INPUT, self.INPUT,
"Input layer", "Input layer",
[QgsProcessing.SourceType.TypeVectorAnyGeometry], [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 # 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 # usually takes the form of a newly created vector layer when the

View File

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

View File

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

View File

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

View File

@ -35,15 +35,6 @@ Constructor
~QgsAccessControl(); ~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 ); void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
%Docstring %Docstring
Resolve features' filter of layers The method fetch filter's expressions Resolve features' filter of layers The method fetch filter's expressions
@ -58,6 +49,23 @@ for efficiency; between each requests, the cache must be cleared using
void unresolveFilterFeatures(); void unresolveFilterFeatures();
%Docstring %Docstring
Clear expression's cache computed from `resolveFilterFeatures` 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 %End
QString extraSubsetString( const QgsVectorLayer *layer ) const; QString extraSubsetString( const QgsVectorLayer *layer ) const;
@ -103,6 +111,17 @@ Returns the layer delete right
:param layer: the layer to control :param layer: the layer to control
:return: ``True`` if we can do a delete :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 %End
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const; bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;

View File

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

View File

@ -14,10 +14,6 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
{ {
%Docstring(signature="appended") %Docstring(signature="appended")
A filter filter provider grouping several filter providers. A filter filter provider grouping several filter providers.
.. deprecated:: 3.4
Use :py:class:`QgsGroupedFeatureFilterProvider`
%End %End
%TypeHeaderCode %TypeHeaderCode
@ -29,14 +25,25 @@ A filter filter provider grouping several filter providers.
Constructor Constructor
%End %End
virtual bool isFilterThreadSafe() const;
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) 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 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 ); QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
%Docstring %Docstring

View File

@ -1,17 +1,16 @@
QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L137 QgsAccessControl.allowToEdit: src/server/qgsaccesscontrol.h#L152
QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L78 QgsAccessControl.clone: src/server/qgsaccesscontrol.h#L101
QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L101 QgsAccessControl.extraSubsetString: src/server/qgsaccesscontrol.h#L108
QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L143 QgsAccessControl.fillCacheKey: src/server/qgsaccesscontrol.h#L158
QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L76 QgsAccessControl.filterFeatures: src/server/qgsaccesscontrol.h#L95
QgsAccessControl.isFilterThreadSafe: src/server/qgsaccesscontrol.h#L74 QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L144
QgsAccessControl.layerAttributes: src/server/qgsaccesscontrol.h#L77 QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L136
QgsAccessControl.layerDeletePermission: src/server/qgsaccesscontrol.h#L129 QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L122
QgsAccessControl.layerInsertPermission: src/server/qgsaccesscontrol.h#L115 QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L115
QgsAccessControl.layerReadPermission: src/server/qgsaccesscontrol.h#L108 QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L129
QgsAccessControl.layerUpdatePermission: src/server/qgsaccesscontrol.h#L122 QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L165
QgsAccessControl.registerAccessControl: src/server/qgsaccesscontrol.h#L150 QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L83
QgsAccessControl.resolveFilterFeatures: src/server/qgsaccesscontrol.h#L89 QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L88
QgsAccessControl.unresolveFilterFeatures: src/server/qgsaccesscontrol.h#L94
QgsAccessControl: src/server/qgsaccesscontrol.h#L35 QgsAccessControl: src/server/qgsaccesscontrol.h#L35
QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109 QgsAccessControlFilter.allowToEdit: src/server/qgsaccesscontrolfilter.h#L109
QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101 QgsAccessControlFilter.authorizedLayerAttributes: src/server/qgsaccesscontrolfilter.h#L101
@ -55,17 +54,15 @@ QgsFcgiServerRequest.data: src/server/qgsfcgiserverrequest.h#L36
QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41 QgsFcgiServerRequest.hasError: src/server/qgsfcgiserverrequest.h#L41
QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49 QgsFcgiServerRequest.header: src/server/qgsfcgiserverrequest.h#L49
QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31 QgsFcgiServerRequest: src/server/qgsfcgiserverrequest.h#L31
QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L44 QgsFeatureFilter.clone: src/server/qgsfeaturefilter.h#L52
QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L42 QgsFeatureFilter.filterFeatures: src/server/qgsfeaturefilter.h#L44
QgsFeatureFilter.isFilterThreadSafe: src/server/qgsfeaturefilter.h#L40 QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L46
QgsFeatureFilter.layerAttributes: src/server/qgsfeaturefilter.h#L43 QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L59
QgsFeatureFilter.setFilter: src/server/qgsfeaturefilter.h#L51 QgsFeatureFilter: src/server/qgsfeaturefilter.h#L33
QgsFeatureFilter: src/server/qgsfeaturefilter.h#L34 QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L50
QgsFeatureFilterProviderGroup.clone: src/server/qgsfeaturefilterprovidergroup.h#L42 QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L42
QgsFeatureFilterProviderGroup.filterFeatures: src/server/qgsfeaturefilterprovidergroup.h#L40 QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L44
QgsFeatureFilterProviderGroup.isFilterThreadSafe: src/server/qgsfeaturefilterprovidergroup.h#L38 QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L31
QgsFeatureFilterProviderGroup.layerAttributes: src/server/qgsfeaturefilterprovidergroup.h#L41
QgsFeatureFilterProviderGroup: src/server/qgsfeaturefilterprovidergroup.h#L32
QgsOgcServiceException.code: src/server/qgsserverexception.h#L94 QgsOgcServiceException.code: src/server/qgsserverexception.h#L94
QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102 QgsOgcServiceException.formatResponse: src/server/qgsserverexception.h#L102
QgsOgcServiceException.locator: src/server/qgsserverexception.h#L97 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(); mIntensity = elem.attribute( QStringLiteral( "intensity" ) ).toFloat();
} }
bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other ) const bool QgsDirectionalLightSettings::operator==( const QgsDirectionalLightSettings &other )
{ {
return mDirection == other.mDirection && mColor == other.mColor && mIntensity == other.mIntensity; 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; } void setIntensity( float intensity ) { mIntensity = intensity; }
// TODO c++20 - replace with = default // TODO c++20 - replace with = default
bool operator==( const QgsDirectionalLightSettings &other ) const; bool operator==( const QgsDirectionalLightSettings &other );
private: private:
QgsVector3D mDirection { -0.32, 0.27, -0.91 }; 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(); mQuadraticAttenuation = elem.attribute( QStringLiteral( "attenuation-2" ) ).toDouble();
} }
bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other ) const bool QgsPointLightSettings::operator==( const QgsPointLightSettings &other )
{ {
return mPosition == other.mPosition && mColor == other.mColor && mIntensity == other.mIntensity && mConstantAttenuation == other.mConstantAttenuation && mLinearAttenuation == other.mLinearAttenuation && mQuadraticAttenuation == other.mQuadraticAttenuation; 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; } void setQuadraticAttenuation( float value ) { mQuadraticAttenuation = value; }
// TODO c++20 - replace with = default // TODO c++20 - replace with = default
bool operator==( const QgsPointLightSettings &other ) const; bool operator==( const QgsPointLightSettings &other );
private: private:
QgsVector3D mPosition { 0, 0, 1000 }; QgsVector3D mPosition { 0, 0, 1000 };

View File

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

View File

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

View File

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

View File

@ -264,41 +264,38 @@ void QgsCameraController::setCameraPose( const QgsCameraPose &camPose, bool forc
QDomElement QgsCameraController::writeXml( QDomDocument &doc ) const QDomElement QgsCameraController::writeXml( QDomDocument &doc ) const
{ {
QDomElement elemCamera = doc.createElement( QStringLiteral( "camera" ) ); QDomElement elemCamera = doc.createElement( QStringLiteral( "camera" ) );
// Save center point in map coordinates, since our world origin won't be QgsVector3D centerPoint;
// the same on loading switch ( mScene->mapSettings()->sceneMode() )
QgsVector3D centerPoint = mCameraPose.centerPoint() + mOrigin; {
elemCamera.setAttribute( QStringLiteral( "xMap" ), centerPoint.x() ); case Qgis::SceneMode::Local:
elemCamera.setAttribute( QStringLiteral( "yMap" ), centerPoint.y() ); centerPoint = mCameraPose.centerPoint();
elemCamera.setAttribute( QStringLiteral( "zMap" ), centerPoint.z() ); break;
case Qgis::SceneMode::Globe:
// Save center point in map coordinates, since our world origin won't be
// the same on loading
centerPoint = mCameraPose.centerPoint() + mOrigin;
break;
}
elemCamera.setAttribute( QStringLiteral( "x" ), centerPoint.x() );
elemCamera.setAttribute( QStringLiteral( "y" ), centerPoint.z() );
elemCamera.setAttribute( QStringLiteral( "elev" ), centerPoint.y() );
elemCamera.setAttribute( QStringLiteral( "dist" ), mCameraPose.distanceFromCenterPoint() ); elemCamera.setAttribute( QStringLiteral( "dist" ), mCameraPose.distanceFromCenterPoint() );
elemCamera.setAttribute( QStringLiteral( "pitch" ), mCameraPose.pitchAngle() ); elemCamera.setAttribute( QStringLiteral( "pitch" ), mCameraPose.pitchAngle() );
elemCamera.setAttribute( QStringLiteral( "yaw" ), mCameraPose.headingAngle() ); elemCamera.setAttribute( QStringLiteral( "yaw" ), mCameraPose.headingAngle() );
return elemCamera; return elemCamera;
} }
void QgsCameraController::readXml( const QDomElement &elem, QgsVector3D savedOrigin ) void QgsCameraController::readXml( const QDomElement &elem )
{ {
const float x = elem.attribute( QStringLiteral( "x" ) ).toFloat();
const float y = elem.attribute( QStringLiteral( "y" ) ).toFloat();
const float elev = elem.attribute( QStringLiteral( "elev" ) ).toFloat();
const float dist = elem.attribute( QStringLiteral( "dist" ) ).toFloat(); const float dist = elem.attribute( QStringLiteral( "dist" ) ).toFloat();
const float pitch = elem.attribute( QStringLiteral( "pitch" ) ).toFloat(); const float pitch = elem.attribute( QStringLiteral( "pitch" ) ).toFloat();
const float yaw = elem.attribute( QStringLiteral( "yaw" ) ).toFloat(); const float yaw = elem.attribute( QStringLiteral( "yaw" ) ).toFloat();
QgsVector3D centerPoint( x, elev, y );
QgsVector3D centerPoint; if ( mScene->mapSettings()->sceneMode() == Qgis::SceneMode::Globe )
if ( elem.hasAttribute( "xMap" ) ) centerPoint = centerPoint - mOrigin;
{
// Prefer newer point saved in map coordinates ...
const double x = elem.attribute( QStringLiteral( "xMap" ) ).toDouble();
const double y = elem.attribute( QStringLiteral( "yMap" ) ).toDouble();
const double z = elem.attribute( QStringLiteral( "zMap" ) ).toDouble();
centerPoint = QgsVector3D( x, y, z ) - mOrigin;
}
else
{
// ... but allow use of older origin-relative coordinates.
const double x = elem.attribute( QStringLiteral( "x" ) ).toDouble();
const double y = elem.attribute( QStringLiteral( "y" ) ).toDouble();
const double elev = elem.attribute( QStringLiteral( "elev" ) ).toDouble();
centerPoint = QgsVector3D( x, elev, y ) - savedOrigin + mOrigin;
}
setLookingAtPoint( centerPoint, dist, pitch, yaw ); setLookingAtPoint( centerPoint, dist, pitch, yaw );
} }
@ -522,8 +519,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
const int dx = mouse->x() - mMousePos.x(); const int dx = mouse->x() - mMousePos.x();
const int dy = mouse->y() - mMousePos.y(); const int dy = mouse->y() - mMousePos.y();
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier ); const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ); const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton ); const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton ); const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
const bool hasRightButton = ( mouse->buttons() & Qt::RightButton ); const bool hasRightButton = ( mouse->buttons() & Qt::RightButton );
@ -676,8 +673,8 @@ void QgsCameraController::onPositionChangedTerrainNavigation( Qt3DInput::QMouseE
void QgsCameraController::onPositionChangedGlobeTerrainNavigation( Qt3DInput::QMouseEvent *mouse ) void QgsCameraController::onPositionChangedGlobeTerrainNavigation( Qt3DInput::QMouseEvent *mouse )
{ {
const bool hasShift = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ShiftModifier ); const bool hasShift = ( mouse->modifiers() & Qt::ShiftModifier );
const bool hasCtrl = ( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ); const bool hasCtrl = ( mouse->modifiers() & Qt::ControlModifier );
const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton ); const bool hasLeftButton = ( mouse->buttons() & Qt::LeftButton );
const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton ); const bool hasMiddleButton = ( mouse->buttons() & Qt::MiddleButton );
@ -815,7 +812,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
{ {
case Qgis::NavigationMode::Walk: case Qgis::NavigationMode::Walk:
{ {
const float scaling = ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f; const float scaling = ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1f : 1.0f ) / 1000.f;
setCameraMovementSpeed( mCameraMovementSpeed + mCameraMovementSpeed * scaling * wheel->angleDelta().y() ); setCameraMovementSpeed( mCameraMovementSpeed + mCameraMovementSpeed * scaling * wheel->angleDelta().y() );
break; break;
} }
@ -824,7 +821,7 @@ void QgsCameraController::onWheel( Qt3DInput::QWheelEvent *wheel )
{ {
// Scale our variable to roughly "number of normal steps", with Ctrl // Scale our variable to roughly "number of normal steps", with Ctrl
// increasing granularity 10x // increasing granularity 10x
const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt3DInput::QWheelEvent::Modifiers::ControlModifier ) != 0 ? 0.1 : 1.0 ); const double scaling = ( 1.0 / 120.0 ) * ( ( wheel->modifiers() & Qt::ControlModifier ) != 0 ? 0.1 : 1.0 );
// Apparently angleDelta needs to be accumulated // Apparently angleDelta needs to be accumulated
// see: https://doc.qt.io/qt-5/qwheelevent.html#angleDelta // see: https://doc.qt.io/qt-5/qwheelevent.html#angleDelta
@ -861,7 +858,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
mKeyboardHandler->setFocus( true ); mKeyboardHandler->setFocus( true );
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 ) ) 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 ) )
{ {
mMousePos = QPoint( mouse->x(), mouse->y() ); mMousePos = QPoint( mouse->x(), mouse->y() );
@ -869,7 +866,7 @@ void QgsCameraController::onMousePressed( Qt3DInput::QMouseEvent *mouse )
mIgnoreNextMouseMove = true; mIgnoreNextMouseMove = true;
const MouseOperation operation { const MouseOperation operation {
( mouse->modifiers() & Qt3DInput::QMouseEvent::Modifiers::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter ( mouse->modifiers() & Qt::ControlModifier ) != 0 && mouse->button() == Qt3DInput::QMouseEvent::LeftButton ? MouseOperation::RotationCamera : MouseOperation::RotationCenter
}; };
setMouseParameters( operation, mMousePos ); setMouseParameters( operation, mMousePos );
} }

View File

@ -174,7 +174,7 @@ class _3D_EXPORT QgsCameraController : public QObject
//! Writes camera configuration to the given DOM element //! Writes camera configuration to the given DOM element
QDomElement writeXml( QDomDocument &doc ) const; QDomElement writeXml( QDomDocument &doc ) const;
//! Reads camera configuration from the given DOM element //! Reads camera configuration from the given DOM element
void readXml( const QDomElement &elem, QgsVector3D savedOrigin ); void readXml( const QDomElement &elem );
//! Zoom the map by \a factor //! Zoom the map by \a factor
void zoom( float factor ); void zoom( float factor );

View File

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

View File

@ -135,7 +135,7 @@ bool QgsVectorWarperTask::run()
QgsVectorWarper warper( mMethod, mPoints, mDestinationCrs ); QgsVectorWarper warper( mMethod, mPoints, mDestinationCrs );
connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [this]( long long count ) { connect( mFeedback.get(), &QgsFeedback::processedCountChanged, this, [=]( long long count ) {
const double newProgress = 100.0 * count / mFeatureCount; const double newProgress = 100.0 * count / mFeatureCount;
// avoid flooding with too many events // avoid flooding with too many events
if ( static_cast<int>( newProgress * 10 ) != static_cast<int>( mLastProgress * 10 ) ) 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; QStringList commandOutput;
QgsBlockingProcess wrenchProcess( wrenchPath, processArgs ); QgsBlockingProcess wrenchProcess( wrenchPath, processArgs );
wrenchProcess.setStdErrHandler( [feedback]( const QByteArray &ba ) { wrenchProcess.setStdErrHandler( [=]( const QByteArray &ba ) {
feedback->reportError( ba.trimmed() ); feedback->reportError( ba.trimmed() );
} ); } );
wrenchProcess.setStdOutHandler( [feedback, &commandOutput]( const QByteArray &ba ) { wrenchProcess.setStdOutHandler( [=, &commandOutput]( const QByteArray &ba ) {
feedback->pushConsoleInfo( ba.trimmed() ); feedback->pushConsoleInfo( ba.trimmed() );
commandOutput << ba; commandOutput << ba;
} ); } );

View File

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

View File

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

View File

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

View File

@ -61,9 +61,6 @@ void QgsPackageAlgorithm::initAlgorithm( const QVariantMap & )
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SAVE_METADATA" ), QObject::tr( "Save layer metadata into GeoPackage" ), true ) ); addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SAVE_METADATA" ), QObject::tr( "Save layer metadata into GeoPackage" ), true ) );
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SELECTED_FEATURES_ONLY" ), QObject::tr( "Save only selected features" ), false ) ); addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "SELECTED_FEATURES_ONLY" ), QObject::tr( "Save only selected features" ), false ) );
addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "EXPORT_RELATED_LAYERS" ), QObject::tr( "Export related layers following relations defined in the project" ), false ) ); addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "EXPORT_RELATED_LAYERS" ), QObject::tr( "Export related layers following relations defined in the project" ), false ) );
auto extentParam = std::make_unique<QgsProcessingParameterExtent>( QStringLiteral( "EXTENT" ), QObject::tr( "Extent" ), QVariant(), true );
extentParam->setHelp( QObject::tr( "Limit exported features to those with geometries intersecting the provided extent" ) );
addParameter( extentParam.release() );
addOutput( new QgsProcessingOutputMultipleLayers( QStringLiteral( "OUTPUT_LAYERS" ), QObject::tr( "Layers within new package" ) ) ); addOutput( new QgsProcessingOutputMultipleLayers( QStringLiteral( "OUTPUT_LAYERS" ), QObject::tr( "Layers within new package" ) ) );
} }
@ -142,7 +139,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
int recursionGuard { 0 }; int recursionGuard { 0 };
// This function recursively finds referenced layers // This function recursively finds referenced layers
const auto findReferenced = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferenced ) -> void { const auto findReferenced = [=, &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() ) ) ) }; const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
Q_ASSERT( originalLayer ); Q_ASSERT( originalLayer );
const QList<QgsRelation> relations { project->relationManager()->referencingRelations( originalLayer ) }; const QList<QgsRelation> relations { project->relationManager()->referencingRelations( originalLayer ) };
@ -208,7 +205,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
}; };
// This function recursively finds referencing layers // This function recursively finds referencing layers
const auto findReferencing = [this, &project, &feedback, &recursionGuard, &layers]( const QgsVectorLayer *vLayer, bool onlySaveSelected, auto &&findReferencing ) -> void { const auto findReferencing = [=, &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() ) ) ) }; const QgsVectorLayer *originalLayer { qobject_cast<QgsVectorLayer *>( project->mapLayer( mClonedLayerIds.value( vLayer->id(), vLayer->id() ) ) ) };
Q_ASSERT( originalLayer ); Q_ASSERT( originalLayer );
const QList<QgsRelation> relations { project->relationManager()->referencedRelations( originalLayer ) }; const QList<QgsRelation> relations { project->relationManager()->referencedRelations( originalLayer ) };
@ -312,7 +309,6 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
throw QgsProcessingException( QObject::tr( "Opening database %1 failed (OGR error: %2)" ).arg( packagePath, QString::fromUtf8( CPLGetLastErrorMsg() ) ) ); throw QgsProcessingException( QObject::tr( "Opening database %1 failed (OGR error: %2)" ).arg( packagePath, QString::fromUtf8( CPLGetLastErrorMsg() ) ) );
} }
const bool validExtent = parameters.value( QStringLiteral( "EXTENT" ) ).isValid();
bool errored = false; bool errored = false;
@ -339,25 +335,12 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
feedback->pushInfo( QObject::tr( "Packaging layer %1/%2: %3" ).arg( i ).arg( mLayers.size() ).arg( layer ? layer->name() : QString() ) ); feedback->pushInfo( QObject::tr( "Packaging layer %1/%2: %3" ).arg( i ).arg( mLayers.size() ).arg( layer ? layer->name() : QString() ) );
QgsRectangle extent;
switch ( layer->type() ) switch ( layer->type() )
{ {
case Qgis::LayerType::Vector: case Qgis::LayerType::Vector:
{ {
QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layer.get() ); QgsVectorLayer *vectorLayer = qobject_cast<QgsVectorLayer *>( layer.get() );
if ( !packageVectorLayer( vectorLayer, packagePath, context, &multiStepFeedback, saveStyles, saveMetadata, selectedFeaturesOnly ) )
if ( validExtent )
{
if ( vectorLayer->hasSpatialIndex() == Qgis::SpatialIndexPresence::NotPresent )
{
feedback->pushWarning( QObject::tr( "No spatial index exists for layer %1, performance will be severely degraded" ).arg( vectorLayer->name() ) );
}
extent = parameterAsExtent( parameters, QStringLiteral( "EXTENT" ), context, layer->crs() );
}
if ( !packageVectorLayer( vectorLayer, packagePath, context, &multiStepFeedback, saveStyles, saveMetadata, selectedFeaturesOnly, extent ) )
errored = true; errored = true;
else else
outputLayers.append( QStringLiteral( "%1|layername=%2" ).arg( packagePath, layer->name() ) ); outputLayers.append( QStringLiteral( "%1|layername=%2" ).arg( packagePath, layer->name() ) );
@ -425,7 +408,7 @@ QVariantMap QgsPackageAlgorithm::processAlgorithm( const QVariantMap &parameters
return outputs; return outputs;
} }
bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly, const QgsRectangle &extent ) bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly )
{ {
QgsVectorFileWriter::SaveVectorOptions options; QgsVectorFileWriter::SaveVectorOptions options;
options.driverName = QStringLiteral( "GPKG" ); options.driverName = QStringLiteral( "GPKG" );
@ -467,11 +450,6 @@ bool QgsPackageAlgorithm::packageVectorLayer( QgsVectorLayer *layer, const QStri
options.skipAttributeCreation = true; options.skipAttributeCreation = true;
} }
if ( !extent.isNull() )
{
options.filterExtent = extent;
}
QString error; QString error;
QString newFilename; QString newFilename;
QString newLayer; QString newLayer;

View File

@ -49,7 +49,7 @@ class QgsPackageAlgorithm : public QgsProcessingAlgorithm
QVariantMap processAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override; QVariantMap processAlgorithm( const QVariantMap &parameters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) override;
private: private:
bool packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly, const QgsRectangle &extent ); bool packageVectorLayer( QgsVectorLayer *layer, const QString &path, QgsProcessingContext &context, QgsProcessingFeedback *feedback, bool saveStyles, bool saveMetadata, bool selectedFeaturesOnly );
std::vector<std::unique_ptr<QgsMapLayer>> mLayers; std::vector<std::unique_ptr<QgsMapLayer>> mLayers;
QMap<QString, QString> mClonedLayerIds; QMap<QString, QString> mClonedLayerIds;

View File

@ -179,7 +179,7 @@ QVariantMap QgsRasterBooleanLogicAlgorithmBase::processAlgorithm( const QVariant
QgsRasterLogicalOrAlgorithm::QgsRasterLogicalOrAlgorithm() 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; res = false;
resIsNoData = false; resIsNoData = false;
bool isNoData = false; bool isNoData = false;
@ -252,7 +252,7 @@ QgsRasterLogicalOrAlgorithm *QgsRasterLogicalOrAlgorithm::createInstance() const
QgsRasterLogicalAndAlgorithm::QgsRasterLogicalAndAlgorithm() 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; res = true;
resIsNoData = false; resIsNoData = false;
bool isNoData = false; bool isNoData = false;

View File

@ -40,7 +40,7 @@ Qgs3DAnimationExportDialog::Qgs3DAnimationExportDialog()
QValidator *validator = new QRegularExpressionValidator( rx, this ); QValidator *validator = new QRegularExpressionValidator( rx, this );
mTemplateLineEdit->setValidator( validator ); mTemplateLineEdit->setValidator( validator );
connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [this] { connect( mTemplateLineEdit, &QLineEdit::textChanged, this, [=] {
QgsSettings settings; QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/fileNameTemplate" ), mTemplateLineEdit->text() ); 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->setDefaultRoot( settings.value( QStringLiteral( "Export3DAnimation/lastDir" ), QString(), QgsSettings::App ).toString() );
mOutputDirFileWidget->setFilePath( 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, [this] { connect( mOutputDirFileWidget, &QgsFileWidget::fileChanged, this, [=] {
QgsSettings settings; QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/lastDir" ), mOutputDirFileWidget->filePath(), QgsSettings::App ); settings.setValue( QStringLiteral( "Export3DAnimation/lastDir" ), mOutputDirFileWidget->filePath(), QgsSettings::App );
} ); } );
mFpsSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/fps" ), 30 ).toInt() ); mFpsSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/fps" ), 30 ).toInt() );
connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] { connect( mFpsSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
QgsSettings settings; QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/fps" ), mFpsSpinBox->value() ); settings.setValue( QStringLiteral( "Export3DAnimation/fps" ), mFpsSpinBox->value() );
} ); } );
mWidthSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/width" ), 800 ).toInt() ); mWidthSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/width" ), 800 ).toInt() );
connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] { connect( mWidthSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
QgsSettings settings; QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/width" ), mWidthSpinBox->value() ); settings.setValue( QStringLiteral( "Export3DAnimation/width" ), mWidthSpinBox->value() );
} ); } );
mHeightSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/height" ), 600 ).toInt() ); mHeightSpinBox->setValue( settings.value( QStringLiteral( "Export3DAnimation/height" ), 600 ).toInt() );
connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [this] { connect( mHeightSpinBox, static_cast<void ( QSpinBox::* )( int )>( &QgsSpinBox::valueChanged ), this, [=] {
QgsSettings settings; QgsSettings settings;
settings.setValue( QStringLiteral( "Export3DAnimation/height" ), mHeightSpinBox->value() ); 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" ) ); 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( chkStopUpdates )->setChecked( mMap->stopUpdates() );
whileBlocking( chkStopOriginShifts )->setChecked( !m3DMapCanvas->scene()->hasSceneOriginShiftEnabled() ); whileBlocking( chkStopOriginShifts )->setChecked( !m3DMapCanvas->scene()->hasSceneOriginShiftEnabled() );
whileBlocking( chkDebugOverlay )->setChecked( mMap->isDebugOverlayEnabled() ); whileBlocking( chkDebugOverlay )->setChecked( mMap->isDebugOverlayEnabled() );
connect( chkShowTileInfo, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } ); connect( chkShowTileInfo, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainTilesInfo( enabled ); } );
connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } ); connect( chkShowBoundingBoxes, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowTerrainBoundingBoxes( enabled ); } );
connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } ); connect( chkShowCameraViewCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraViewCenter( enabled ); } );
connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } ); connect( chkShowCameraRotationCenter, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowCameraRotationCenter( enabled ); } );
connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } ); connect( chkShowLightSourceOrigins, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setShowLightSourceOrigins( enabled ); } );
connect( chkStopUpdates, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setStopUpdates( enabled ); } ); connect( chkStopUpdates, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setStopUpdates( enabled ); } );
connect( chkStopOriginShifts, &QCheckBox::toggled, this, [this]( const bool enabled ) { connect( chkStopOriginShifts, &QCheckBox::toggled, this, [=]( const bool enabled ) {
m3DMapCanvas->scene()->setSceneOriginShiftEnabled( !enabled ); m3DMapCanvas->scene()->setSceneOriginShiftEnabled( !enabled );
} ); } );
connect( chkDebugOverlay, &QCheckBox::toggled, this, [this]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } ); connect( chkDebugOverlay, &QCheckBox::toggled, this, [=]( const bool enabled ) { mMap->setIsDebugOverlayEnabled( enabled ); } );
// set up the shadow map block // set up the shadow map block
whileBlocking( mDebugShadowMapGroupBox )->setChecked( mMap->debugShadowMapEnabled() ); whileBlocking( mDebugShadowMapGroupBox )->setChecked( mMap->debugShadowMapEnabled() );
whileBlocking( mDebugShadowMapCornerComboBox )->setCurrentIndex( mMap->debugShadowMapCorner() ); whileBlocking( mDebugShadowMapCornerComboBox )->setCurrentIndex( mMap->debugShadowMapCorner() );
whileBlocking( mDebugShadowMapSizeSpinBox )->setValue( mMap->debugShadowMapSize() ); whileBlocking( mDebugShadowMapSizeSpinBox )->setValue( mMap->debugShadowMapSize() );
// Do not display the shadow debug map if the shadow effect is not enabled. // Do not display the shadow debug map if the shadow effect is not enabled.
connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) { connect( mDebugShadowMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
mMap->setDebugShadowMapSettings( enabled && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), mDebugShadowMapSizeSpinBox->value() ); mMap->setDebugShadowMapSettings( enabled && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), mDebugShadowMapSizeSpinBox->value() );
} ); } );
connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) { connect( mDebugShadowMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( index ), mDebugShadowMapSizeSpinBox->value() ); mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( index ), mDebugShadowMapSizeSpinBox->value() );
} ); } );
connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mDebugShadowMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
mMap->setDebugShadowMapSettings( mDebugShadowMapGroupBox->isChecked() && mMap->shadowSettings().renderShadows(), static_cast<Qt::Corner>( mDebugShadowMapCornerComboBox->currentIndex() ), 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( mDebugDepthMapGroupBox )->setChecked( mMap->debugDepthMapEnabled() );
whileBlocking( mDebugDepthMapCornerComboBox )->setCurrentIndex( mMap->debugDepthMapCorner() ); whileBlocking( mDebugDepthMapCornerComboBox )->setCurrentIndex( mMap->debugDepthMapCorner() );
whileBlocking( mDebugDepthMapSizeSpinBox )->setValue( mMap->debugDepthMapSize() ); whileBlocking( mDebugDepthMapSizeSpinBox )->setValue( mMap->debugDepthMapSize() );
connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [this]( const bool enabled ) { connect( mDebugDepthMapGroupBox, &QGroupBox::toggled, this, [=]( const bool enabled ) {
mMap->setDebugDepthMapSettings( enabled, static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), mDebugDepthMapSizeSpinBox->value() ); mMap->setDebugDepthMapSettings( enabled, static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), mDebugDepthMapSizeSpinBox->value() );
} ); } );
connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( const int index ) { connect( mDebugDepthMapCornerComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( const int index ) {
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( index ), mDebugDepthMapSizeSpinBox->value() ); mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( index ), mDebugDepthMapSizeSpinBox->value() );
} ); } );
connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mDebugDepthMapSizeSpinBox, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), value ); mMap->setDebugDepthMapSettings( mDebugDepthMapGroupBox->isChecked(), static_cast<Qt::Corner>( mDebugDepthMapCornerComboBox->currentIndex() ), value );
} ); } );
// connect the camera info spin boxes with changing functions // connect the camera info spin boxes with changing functions
connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mNearPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
m3DMapCanvas->cameraController()->camera()->setNearPlane( static_cast<float>( value ) ); m3DMapCanvas->cameraController()->camera()->setNearPlane( static_cast<float>( value ) );
} ); } );
connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mFarPlane, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
m3DMapCanvas->cameraController()->camera()->setFarPlane( static_cast<float>( value ) ); m3DMapCanvas->cameraController()->camera()->setFarPlane( static_cast<float>( value ) );
} ); } );
connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mCameraX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position(); QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setX( static_cast<float>( value ) ); newPosition.setX( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition ); m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} ); } );
connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mCameraY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position(); QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setY( static_cast<float>( value ) ); newPosition.setY( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition ); m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} ); } );
connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mCameraZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position(); QVector3D newPosition = m3DMapCanvas->cameraController()->camera()->position();
newPosition.setZ( static_cast<float>( value ) ); newPosition.setZ( static_cast<float>( value ) );
m3DMapCanvas->cameraController()->camera()->setPosition( newPosition ); m3DMapCanvas->cameraController()->camera()->setPosition( newPosition );
} ); } );
connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mLookingX, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint(); QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setX( value ); newLookingAt.setX( value );
m3DMapCanvas->cameraController()->setLookingAtPoint( m3DMapCanvas->cameraController()->setLookingAtPoint(
@ -147,7 +147,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
m3DMapCanvas->cameraController()->yaw() m3DMapCanvas->cameraController()->yaw()
); );
} ); } );
connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mLookingY, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint(); QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setY( value ); newLookingAt.setY( value );
m3DMapCanvas->cameraController()->setLookingAtPoint( m3DMapCanvas->cameraController()->setLookingAtPoint(
@ -157,7 +157,7 @@ void Qgs3DDebugWidget::setMapSettings( Qgs3DMapSettings *mapSettings )
m3DMapCanvas->cameraController()->yaw() m3DMapCanvas->cameraController()->yaw()
); );
} ); } );
connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [this]( const double value ) { connect( mLookingZ, qOverload<double>( &QDoubleSpinBox::valueChanged ), this, [=]( const double value ) {
QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint(); QgsVector3D newLookingAt = m3DMapCanvas->cameraController()->lookingAtPoint();
newLookingAt.setZ( value ); newLookingAt.setZ( value );
m3DMapCanvas->cameraController()->setLookingAtPoint( 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 = new QAction( tr( "2D Map View Follows 3D Camera" ), this );
mActionSync2DNavTo3D->setCheckable( true ); mActionSync2DNavTo3D->setCheckable( true );
connect( mActionSync2DNavTo3D, &QAction::triggered, this, [this]( bool enabled ) { connect( mActionSync2DNavTo3D, &QAction::triggered, this, [=]( bool enabled ) {
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode(); Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync2DTo3D, enabled ); syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync2DTo3D, enabled );
mCanvas->mapSettings()->setViewSyncMode( syncMode ); 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 = new QAction( tr( "3D Camera Follows 2D Map View" ), this );
mActionSync3DNavTo2D->setCheckable( true ); mActionSync3DNavTo2D->setCheckable( true );
connect( mActionSync3DNavTo2D, &QAction::triggered, this, [this]( bool enabled ) { connect( mActionSync3DNavTo2D, &QAction::triggered, this, [=]( bool enabled ) {
Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode(); Qgis::ViewSyncModeFlags syncMode = mCanvas->mapSettings()->viewSyncMode();
syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync3DTo2D, enabled ); syncMode.setFlag( Qgis::ViewSyncModeFlag::Sync3DTo2D, enabled );
mCanvas->mapSettings()->setViewSyncMode( syncMode ); 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 = new QAction( tr( "Show Visible Camera Area in 2D Map View" ), this );
mShowFrustumPolygon->setCheckable( true ); mShowFrustumPolygon->setCheckable( true );
connect( mShowFrustumPolygon, &QAction::triggered, this, [this]( bool enabled ) { connect( mShowFrustumPolygon, &QAction::triggered, this, [=]( bool enabled ) {
mCanvas->mapSettings()->setViewFrustumVisualizationEnabled( enabled ); mCanvas->mapSettings()->setViewFrustumVisualizationEnabled( enabled );
} ); } );
mCameraMenu->addAction( mShowFrustumPolygon ); mCameraMenu->addAction( mShowFrustumPolygon );
mActionSetSceneExtent = mCameraMenu->addAction( QgsApplication::getThemeIcon( QStringLiteral( "extents.svg" ) ), tr( "Set 3D Scene Extent on 2D Map View" ), this, &Qgs3DMapCanvasWidget::setSceneExtentOn2DCanvas ); mActionSetSceneExtent = mCameraMenu->addAction( QgsApplication::getThemeIcon( QStringLiteral( "extents.svg" ) ), tr( "Set 3D Scene Extent on 2D Map View" ), this, &Qgs3DMapCanvasWidget::setSceneExtentOn2DCanvas );
mActionSetSceneExtent->setCheckable( true ); mActionSetSceneExtent->setCheckable( true );
auto createShortcuts = [this]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) { auto createShortcuts = [=]( const QString &objectName, void ( Qgs3DMapCanvasWidget::*slot )() ) {
if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) ) if ( QShortcut *sc = QgsGui::shortcutsManager()->shortcutByName( objectName ) )
connect( sc, &QShortcut::activated, this, slot ); 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 = new QAction( tr( "Show Shadows" ), this );
mActionEnableShadows->setCheckable( true ); mActionEnableShadows->setCheckable( true );
connect( mActionEnableShadows, &QAction::toggled, this, [this]( bool enabled ) { connect( mActionEnableShadows, &QAction::toggled, this, [=]( bool enabled ) {
QgsShadowSettings settings = mCanvas->mapSettings()->shadowSettings(); QgsShadowSettings settings = mCanvas->mapSettings()->shadowSettings();
settings.setRenderShadows( enabled ); settings.setRenderShadows( enabled );
mCanvas->mapSettings()->setShadowSettings( settings ); 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 = new QAction( tr( "Show Eye Dome Lighting" ), this );
mActionEnableEyeDome->setCheckable( true ); mActionEnableEyeDome->setCheckable( true );
connect( mActionEnableEyeDome, &QAction::triggered, this, [this]( bool enabled ) { connect( mActionEnableEyeDome, &QAction::triggered, this, [=]( bool enabled ) {
mCanvas->mapSettings()->setEyeDomeLightingEnabled( enabled ); mCanvas->mapSettings()->setEyeDomeLightingEnabled( enabled );
} ); } );
mEffectsMenu->addAction( mActionEnableEyeDome ); mEffectsMenu->addAction( mActionEnableEyeDome );
mActionEnableAmbientOcclusion = new QAction( tr( "Show Ambient Occlusion" ), this ); mActionEnableAmbientOcclusion = new QAction( tr( "Show Ambient Occlusion" ), this );
mActionEnableAmbientOcclusion->setCheckable( true ); mActionEnableAmbientOcclusion->setCheckable( true );
connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [this]( bool enabled ) { connect( mActionEnableAmbientOcclusion, &QAction::triggered, this, [=]( bool enabled ) {
QgsAmbientOcclusionSettings ambientOcclusionSettings = mCanvas->mapSettings()->ambientOcclusionSettings(); QgsAmbientOcclusionSettings ambientOcclusionSettings = mCanvas->mapSettings()->ambientOcclusionSettings();
ambientOcclusionSettings.setEnabled( enabled ); ambientOcclusionSettings.setEnabled( enabled );
mCanvas->mapSettings()->setAmbientOcclusionSettings( ambientOcclusionSettings ); mCanvas->mapSettings()->setAmbientOcclusionSettings( ambientOcclusionSettings );
@ -308,7 +308,7 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
mCanvas = new Qgs3DMapCanvas; mCanvas = new Qgs3DMapCanvas;
mCanvas->setMinimumSize( QSize( 200, 200 ) ); 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 ) ) ); 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 = new QTimer( this );
mLabelNavSpeedHideTimeout->setInterval( 1000 ); mLabelNavSpeedHideTimeout->setInterval( 1000 );
connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [this] { connect( mLabelNavSpeedHideTimeout, &QTimer::timeout, this, [=] {
mLabelNavigationSpeed->hide(); mLabelNavigationSpeed->hide();
mLabelNavSpeedHideTimeout->stop(); mLabelNavSpeedHideTimeout->stop();
} ); } );
@ -404,10 +404,10 @@ Qgs3DMapCanvasWidget::Qgs3DMapCanvasWidget( const QString &name, bool isDocked )
} }
QAction *dockAction = mDockableWidgetHelper->createDockUndockAction( tr( "Dock 3D Map View" ), this ); QAction *dockAction = mDockableWidgetHelper->createDockUndockAction( tr( "Dock 3D Map View" ), this );
toolBar->addAction( dockAction ); toolBar->addAction( dockAction );
connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [this]() { connect( mDockableWidgetHelper, &QgsDockableWidgetHelper::closed, this, [=]() {
QgisApp::instance()->close3DMapView( canvasName() ); QgisApp::instance()->close3DMapView( canvasName() );
} ); } );
connect( dockAction, &QAction::toggled, this, [toolBar]( const bool isSmallSize ) { connect( dockAction, &QAction::toggled, this, [=]( const bool isSmallSize ) {
toolBar->setIconSize( QgisApp::instance()->iconSize( isSmallSize ) ); toolBar->setIconSize( QgisApp::instance()->iconSize( isSmallSize ) );
} ); } );
@ -769,7 +769,7 @@ void Qgs3DMapCanvasWidget::configure()
Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, mCanvas, mConfigureDialog ); Qgs3DMapConfigWidget *w = new Qgs3DMapConfigWidget( map, mMainCanvas, mCanvas, mConfigureDialog );
QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help, mConfigureDialog ); QDialogButtonBox *buttons = new QDialogButtonBox( QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help, mConfigureDialog );
auto applyConfig = [this, map, w]() { auto applyConfig = [=]() {
const QgsVector3D oldOrigin = map->origin(); const QgsVector3D oldOrigin = map->origin();
const QgsCoordinateReferenceSystem oldCrs = map->crs(); const QgsCoordinateReferenceSystem oldCrs = map->crs();
const QgsCameraPose oldCameraPose = mCanvas->cameraController()->cameraPose(); const QgsCameraPose oldCameraPose = mCanvas->cameraController()->cameraPose();
@ -797,7 +797,7 @@ void Qgs3DMapCanvasWidget::configure()
}; };
connect( buttons, &QDialogButtonBox::rejected, mConfigureDialog, &QDialog::reject ); connect( buttons, &QDialogButtonBox::rejected, mConfigureDialog, &QDialog::reject );
connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [this, buttons, applyConfig]( QAbstractButton *button ) { connect( buttons, &QDialogButtonBox::clicked, mConfigureDialog, [=]( QAbstractButton *button ) {
if ( button == buttons->button( QDialogButtonBox::Apply ) || button == buttons->button( QDialogButtonBox::Ok ) ) if ( button == buttons->button( QDialogButtonBox::Apply ) || button == buttons->button( QDialogButtonBox::Ok ) )
applyConfig(); applyConfig();
if ( button == buttons->button( QDialogButtonBox::Ok ) ) 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( buttons, &QDialogButtonBox::helpRequested, w, []() { QgsHelp::openHelp( QStringLiteral( "map_views/3d_map_view.html#scene-configuration" ) ); } );
connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [buttons]( bool valid ) { connect( w, &Qgs3DMapConfigWidget::isValidChanged, this, [=]( bool valid ) {
buttons->button( QDialogButtonBox::Apply )->setEnabled( valid ); buttons->button( QDialogButtonBox::Apply )->setEnabled( valid );
buttons->button( QDialogButtonBox::Ok )->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::accepted, &dlg, &QDialog::accept );
connect( buttons, &QDialogButtonBox::rejected, &dlg, &QDialog::reject ); 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 ); QVBoxLayout *layout = new QVBoxLayout( &dlg );
layout->addWidget( &exportWidget, 1 ); layout->addWidget( &exportWidget, 1 );
@ -902,7 +902,7 @@ void Qgs3DMapCanvasWidget::mapThemeMenuAboutToShow()
{ {
actionFollowMain->setChecked( true ); actionFollowMain->setChecked( true );
} }
connect( actionFollowMain, &QAction::triggered, this, [this] { connect( actionFollowMain, &QAction::triggered, this, [=] {
mCanvas->mapSettings()->setTerrainMapTheme( QString() ); mCanvas->mapSettings()->setTerrainMapTheme( QString() );
} ); } );
mMapThemeMenuPresetActions.append( actionFollowMain ); mMapThemeMenuPresetActions.append( actionFollowMain );

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -93,7 +93,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QgsSettings settings; QgsSettings settings;
QAction *actionRefresh = new QAction( tr( "Refresh" ), menu ); QAction *actionRefresh = new QAction( tr( "Refresh" ), menu );
connect( actionRefresh, &QAction::triggered, this, [directoryItem] { directoryItem->refresh(); } ); connect( actionRefresh, &QAction::triggered, this, [=] { directoryItem->refresh(); } );
menu->addAction( actionRefresh ); menu->addAction( actionRefresh );
menu->addSeparator(); menu->addSeparator();
@ -101,7 +101,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QMenu *newMenu = new QMenu( tr( "New" ), menu ); QMenu *newMenu = new QMenu( tr( "New" ), menu );
QAction *createFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFolder.svg" ) ), tr( "Directory…" ), menu ); QAction *createFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFolder.svg" ) ), tr( "Directory…" ), menu );
connect( createFolder, &QAction::triggered, this, [directoryItem, context] { connect( createFolder, &QAction::triggered, this, [=] {
bool ok = false; bool ok = false;
const QString name = QInputDialog::getText( QgisApp::instance(), tr( "Create Directory" ), tr( "Directory name" ), QLineEdit::Normal, QString(), &ok ); 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 ); QAction *createGpkg = new QAction( tr( "GeoPackage…" ), newMenu );
createGpkg->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewGeoPackageLayer.svg" ) ) ); createGpkg->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewGeoPackageLayer.svg" ) ) );
connect( createGpkg, &QAction::triggered, this, [directoryItem, context] { connect( createGpkg, &QAction::triggered, this, [=] {
QDir dir( directoryItem->dirPath() ); QDir dir( directoryItem->dirPath() );
QString newName = tr( "New GeoPackage.gpkg" ); QString newName = tr( "New GeoPackage.gpkg" );
int i = 1; int i = 1;
@ -175,7 +175,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QAction *createShp = new QAction( tr( "ShapeFile…" ), newMenu ); QAction *createShp = new QAction( tr( "ShapeFile…" ), newMenu );
createShp->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewVectorLayer.svg" ) ) ); createShp->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewVectorLayer.svg" ) ) );
connect( createShp, &QAction::triggered, this, [directoryItem, item, context] { connect( createShp, &QAction::triggered, this, [=] {
QString enc; QString enc;
QDir dir( directoryItem->dirPath() ); QDir dir( directoryItem->dirPath() );
QString error; QString error;
@ -195,7 +195,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
#if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION( 3, 6, 0 ) #if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION( 3, 6, 0 )
QAction *createFgdb = new QAction( tr( "ESRI FileGeodatabase…" ), newMenu ); QAction *createFgdb = new QAction( tr( "ESRI FileGeodatabase…" ), newMenu );
createFgdb->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFileGeodatabase.svg" ) ) ); createFgdb->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "mActionNewFileGeodatabase.svg" ) ) );
connect( createFgdb, &QAction::triggered, this, [directoryItem, context] { connect( createFgdb, &QAction::triggered, this, [=] {
QDir dir( directoryItem->dirPath() ); QDir dir( directoryItem->dirPath() );
QString newName = tr( "New File Geodatabase.gdb" ); QString newName = tr( "New File Geodatabase.gdb" );
int i = 1; int i = 1;
@ -254,7 +254,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QAction *addAsFavorite = new QAction( tr( "Add as a Favorite" ), menu ); QAction *addAsFavorite = new QAction( tr( "Add as a Favorite" ), menu );
addAsFavorite->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconFavorites.svg" ) ) ); addAsFavorite->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mIconFavorites.svg" ) ) );
menu->addAction( addAsFavorite ); menu->addAction( addAsFavorite );
connect( addAsFavorite, &QAction::triggered, this, [this, directoryItem] { connect( addAsFavorite, &QAction::triggered, this, [=] {
addFavorite( directoryItem ); addFavorite( directoryItem );
} ); } );
} }
@ -263,13 +263,13 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
if ( QgsFavoriteItem *favoriteItem = qobject_cast<QgsFavoriteItem *>( item ) ) if ( QgsFavoriteItem *favoriteItem = qobject_cast<QgsFavoriteItem *>( item ) )
{ {
QAction *actionRename = new QAction( tr( "Rename Favorite…" ), menu ); QAction *actionRename = new QAction( tr( "Rename Favorite…" ), menu );
connect( actionRename, &QAction::triggered, this, [this, favoriteItem] { connect( actionRename, &QAction::triggered, this, [=] {
renameFavorite( favoriteItem ); renameFavorite( favoriteItem );
} ); } );
menu->addAction( actionRename ); menu->addAction( actionRename );
QAction *removeFavoriteAction = new QAction( tr( "Remove Favorite" ), menu ); QAction *removeFavoriteAction = new QAction( tr( "Remove Favorite" ), menu );
connect( removeFavoriteAction, &QAction::triggered, this, [this, favoriteItem] { connect( removeFavoriteAction, &QAction::triggered, this, [=] {
removeFavorite( favoriteItem ); removeFavorite( favoriteItem );
} ); } );
menu->addAction( removeFavoriteAction ); menu->addAction( removeFavoriteAction );
@ -277,7 +277,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
} }
} }
QAction *hideAction = new QAction( tr( "Hide from Browser" ), menu ); QAction *hideAction = new QAction( tr( "Hide from Browser" ), menu );
connect( hideAction, &QAction::triggered, this, [this, directoryItem] { connect( hideAction, &QAction::triggered, this, [=] {
hideDirectory( directoryItem ); hideDirectory( directoryItem );
} ); } );
menu->addAction( hideAction ); menu->addAction( hideAction );
@ -289,7 +289,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
for ( const QString &path : hiddenPathList ) for ( const QString &path : hiddenPathList )
{ {
QAction *action = new QAction( QDir::toNativeSeparators( path ), hiddenMenu ); QAction *action = new QAction( QDir::toNativeSeparators( path ), hiddenMenu );
connect( action, &QAction::triggered, this, [path] { connect( action, &QAction::triggered, this, [=] {
QgsSettings s; QgsSettings s;
QStringList pathsList = s.value( QStringLiteral( "/browser/hiddenPaths" ) ).toStringList(); QStringList pathsList = s.value( QStringLiteral( "/browser/hiddenPaths" ) ).toStringList();
pathsList.removeAll( path ); pathsList.removeAll( path );
@ -321,7 +321,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
hiddenMenu->addSeparator(); hiddenMenu->addSeparator();
QAction *moreAction = new QAction( tr( "Show More…" ), hiddenMenu ); 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" ) ); QgisApp::instance()->showOptionsDialog( QgisApp::instance(), QStringLiteral( "mOptionsPageDataSources" ) );
} ); } );
hiddenMenu->addAction( moreAction ); hiddenMenu->addAction( moreAction );
@ -337,14 +337,14 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
const QPixmap icon = QgsColorButton::createMenuIcon( directoryItem->iconColor(), true ); const QPixmap icon = QgsColorButton::createMenuIcon( directoryItem->iconColor(), true );
actionSetIconColor->setIcon( icon ); actionSetIconColor->setIcon( icon );
} }
connect( actionSetIconColor, &QAction::triggered, this, [this, directoryItem] { connect( actionSetIconColor, &QAction::triggered, this, [=] {
changeDirectoryColor( directoryItem ); changeDirectoryColor( directoryItem );
} ); } );
menu->addAction( actionSetIconColor ); menu->addAction( actionSetIconColor );
if ( directoryItem->iconColor().isValid() ) if ( directoryItem->iconColor().isValid() )
{ {
QAction *actionClearIconColor = new QAction( tr( "Clear Custom Color" ), menu ); QAction *actionClearIconColor = new QAction( tr( "Clear Custom Color" ), menu );
connect( actionClearIconColor, &QAction::triggered, this, [this, directoryItem] { connect( actionClearIconColor, &QAction::triggered, this, [=] {
clearDirectoryColor( directoryItem ); clearDirectoryColor( directoryItem );
} ); } );
menu->addAction( actionClearIconColor ); menu->addAction( actionClearIconColor );
@ -353,7 +353,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QMenu *scanningMenu = new QMenu( tr( "Scanning" ), menu ); QMenu *scanningMenu = new QMenu( tr( "Scanning" ), menu );
QAction *monitorAction = new QAction( tr( "Monitor for Changes" ), scanningMenu ); QAction *monitorAction = new QAction( tr( "Monitor for Changes" ), scanningMenu );
connect( monitorAction, &QAction::triggered, this, [this, directoryItem] { connect( monitorAction, &QAction::triggered, this, [=] {
toggleMonitor( directoryItem ); toggleMonitor( directoryItem );
} ); } );
monitorAction->setCheckable( true ); monitorAction->setCheckable( true );
@ -361,7 +361,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
scanningMenu->addAction( monitorAction ); scanningMenu->addAction( monitorAction );
QAction *fastScanAction = new QAction( tr( "Fast Scan this Directory" ), scanningMenu ); QAction *fastScanAction = new QAction( tr( "Fast Scan this Directory" ), scanningMenu );
connect( fastScanAction, &QAction::triggered, this, [this, directoryItem] { connect( fastScanAction, &QAction::triggered, this, [=] {
toggleFastScan( directoryItem ); toggleFastScan( directoryItem );
} ); } );
fastScanAction->setCheckable( true ); fastScanAction->setCheckable( true );
@ -373,7 +373,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
menu->addSeparator(); menu->addSeparator();
QAction *openFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconFolder.svg" ) ), tr( "Open Directory…" ), menu ); QAction *openFolder = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mIconFolder.svg" ) ), tr( "Open Directory…" ), menu );
connect( openFolder, &QAction::triggered, this, [directoryItem] { connect( openFolder, &QAction::triggered, this, [=] {
QDesktopServices::openUrl( QUrl::fromLocalFile( directoryItem->dirPath() ) ); QDesktopServices::openUrl( QUrl::fromLocalFile( directoryItem->dirPath() ) );
} ); } );
menu->addAction( openFolder ); menu->addAction( openFolder );
@ -381,7 +381,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
if ( QgsGui::nativePlatformInterface()->capabilities() & QgsNative::NativeOpenTerminalAtPath ) if ( QgsGui::nativePlatformInterface()->capabilities() & QgsNative::NativeOpenTerminalAtPath )
{ {
QAction *openTerminal = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionTerminal.svg" ) ), tr( "Open in Terminal…" ), menu ); QAction *openTerminal = new QAction( QgsApplication::getThemeIcon( QStringLiteral( "mActionTerminal.svg" ) ), tr( "Open in Terminal…" ), menu );
connect( openTerminal, &QAction::triggered, this, [directoryItem] { connect( openTerminal, &QAction::triggered, this, [=] {
QgsGui::nativePlatformInterface()->openTerminalAtPath( directoryItem->dirPath() ); QgsGui::nativePlatformInterface()->openTerminalAtPath( directoryItem->dirPath() );
} ); } );
menu->addAction( openTerminal ); menu->addAction( openTerminal );
@ -389,7 +389,7 @@ void QgsAppDirectoryItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
} }
QAction *propertiesAction = new QAction( tr( "Properties…" ), menu ); QAction *propertiesAction = new QAction( tr( "Properties…" ), menu );
connect( propertiesAction, &QAction::triggered, this, [this, directoryItem, context] { connect( propertiesAction, &QAction::triggered, this, [=] {
showProperties( directoryItem, context ); showProperties( directoryItem, context );
} ); } );
menu->addAction( propertiesAction ); menu->addAction( propertiesAction );
@ -513,7 +513,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
if ( !sourceSelectProviders.isEmpty() && sourceSelectProviders.first()->capabilities().testFlag( QgsSourceSelectProvider::Capability::ConfigureFromUri ) ) if ( !sourceSelectProviders.isEmpty() && sourceSelectProviders.first()->capabilities().testFlag( QgsSourceSelectProvider::Capability::ConfigureFromUri ) )
{ {
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu ); openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
connect( openDataSourceManagerAction, &QAction::triggered, this, [layerItem] { connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
QString pageName { layerItem->providerKey() }; QString pageName { layerItem->providerKey() };
// GPKG special handling // GPKG special handling
if ( qobject_cast<QgsGeoPackageVectorLayerItem *>( layerItem ) ) if ( qobject_cast<QgsGeoPackageVectorLayerItem *>( layerItem ) )
@ -537,7 +537,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
{ {
const QgsProviderSublayerDetails &sublayer { sublayers.first() }; const QgsProviderSublayerDetails &sublayer { sublayers.first() };
openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu ); openDataSourceManagerAction = new QAction( tr( "Open with Data Source Manager…" ), menu );
connect( openDataSourceManagerAction, &QAction::triggered, this, [sublayer, layerItem] { connect( openDataSourceManagerAction, &QAction::triggered, this, [=] {
QString pageName { sublayer.providerKey() }; QString pageName { sublayer.providerKey() };
// GPKG special handling // GPKG special handling
if ( sublayer.driverName() == QLatin1String( "GeoPackage" ) ) if ( sublayer.driverName() == QLatin1String( "GeoPackage" ) )
@ -587,7 +587,7 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
if ( fi.suffix().compare( ext, Qt::CaseInsensitive ) == 0 ) if ( fi.suffix().compare( ext, Qt::CaseInsensitive ) == 0 )
{ {
QAction *viewAction = new QAction( tr( "Open %1 Externally…" ).arg( name ), menu ); QAction *viewAction = new QAction( tr( "Open %1 Externally…" ).arg( name ), menu );
connect( viewAction, &QAction::triggered, this, [filename] { connect( viewAction, &QAction::triggered, this, [=] {
QDesktopServices::openUrl( QUrl::fromLocalFile( 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() ); const QString renameText = tr( "Rename “%1”…" ).arg( fi.fileName() );
QAction *renameAction = new QAction( renameText, menu ); QAction *renameAction = new QAction( renameText, menu );
connect( renameAction, &QAction::triggered, this, [this, selectedFiles, context, selectedParents, menu] { connect( renameAction, &QAction::triggered, this, [=] {
const QString oldPath = selectedFiles.value( 0 ); const QString oldPath = selectedFiles.value( 0 );
const QStringList existingNames = QFileInfo( oldPath ).dir().entryList(); 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() ) const QString deleteText = selectedFiles.count() == 1 ? tr( "Delete “%1”…" ).arg( fi.fileName() )
: tr( "Delete Selected Files…" ); : tr( "Delete Selected Files…" );
QAction *deleteAction = new QAction( deleteText, menu ); QAction *deleteAction = new QAction( deleteText, menu );
connect( deleteAction, &QAction::triggered, this, [selectedFiles, selectedParents, context] { connect( deleteAction, &QAction::triggered, this, [=] {
// Check if the files correspond to paths in the project // Check if the files correspond to paths in the project
QList<QgsMapLayer *> layersList; QList<QgsMapLayer *> layersList;
for ( const QString &path : std::as_const( selectedFiles ) ) for ( const QString &path : std::as_const( selectedFiles ) )
@ -810,12 +810,12 @@ void QgsAppFileItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *m
menu->addSeparator(); menu->addSeparator();
QAction *showInFilesAction = menu->addAction( tr( "Show in Files" ) ); QAction *showInFilesAction = menu->addAction( tr( "Show in Files" ) );
connect( showInFilesAction, &QAction::triggered, this, [item] { connect( showInFilesAction, &QAction::triggered, this, [=] {
QgsGui::nativePlatformInterface()->openFileExplorerAndSelectFile( item->path() ); QgsGui::nativePlatformInterface()->openFileExplorerAndSelectFile( item->path() );
} ); } );
QAction *filePropertiesAction = menu->addAction( tr( "File Properties…" ) ); QAction *filePropertiesAction = menu->addAction( tr( "File Properties…" ) );
connect( filePropertiesAction, &QAction::triggered, this, [item] { connect( filePropertiesAction, &QAction::triggered, this, [=] {
QgsGui::nativePlatformInterface()->showFileProperties( item->path() ); QgsGui::nativePlatformInterface()->showFileProperties( item->path() );
} ); } );
} }
@ -939,7 +939,7 @@ void QgsProjectHomeItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
menu->insertSeparator( menu->actions().at( 0 ) ); menu->insertSeparator( menu->actions().at( 0 ) );
QAction *setHome = new QAction( tr( "Set Project Home…" ), menu ); 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 oldHome = QgsProject::instance()->homePath();
QString newPath = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Select Project Home Directory" ), oldHome ); QString newPath = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Select Project Home Directory" ), oldHome );
if ( !newPath.isEmpty() ) if ( !newPath.isEmpty() )
@ -970,7 +970,7 @@ void QgsFavoritesItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu
return; return;
QAction *addAction = new QAction( tr( "Add a Directory…" ), menu ); 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" ) ); QString directory = QFileDialog::getExistingDirectory( QgisApp::instance(), tr( "Add Directory to Favorites" ) );
if ( !directory.isEmpty() ) 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() ) const QString deleteText = selectedDeletableItemPaths.count() == 1 ? tr( "Delete Layer “%1”…" ).arg( layerItem->name() )
: tr( "Delete Selected Layers…" ); : tr( "Delete Selected Layers…" );
QAction *deleteAction = new QAction( deleteText, menu ); QAction *deleteAction = new QAction( deleteText, menu );
connect( deleteAction, &QAction::triggered, this, [this, selectedDeletableItemPaths, context] { connect( deleteAction, &QAction::triggered, this, [=] {
deleteLayers( 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" ) const QString addText = selectedItems.count() == 1 ? tr( "Add Layer to Project" )
: tr( "Add Selected Layers to Project" ); : tr( "Add Selected Layers to Project" );
QAction *addAction = new QAction( addText, menu ); QAction *addAction = new QAction( addText, menu );
connect( addAction, &QAction::triggered, this, [this, selectedItems] { connect( addAction, &QAction::triggered, this, [=] {
addLayersFromItems( selectedItems ); addLayersFromItems( selectedItems );
} ); } );
menu->addAction( addAction ); menu->addAction( addAction );
@ -1117,7 +1117,7 @@ void QgsLayerItemGuiProvider::populateContextMenu( QgsDataItem *item, QMenu *men
} }
QAction *propertiesAction = new QAction( tr( "Layer Properties…" ), menu ); QAction *propertiesAction = new QAction( tr( "Layer Properties…" ), menu );
connect( propertiesAction, &QAction::triggered, this, [this, layerItem, context] { connect( propertiesAction, &QAction::triggered, this, [=] {
showPropertiesForItem( layerItem, context ); showPropertiesForItem( layerItem, context );
} ); } );
menu->addAction( propertiesAction ); menu->addAction( propertiesAction );
@ -2077,13 +2077,13 @@ bool QgsDatabaseItemGuiProvider::handleDrop( QgsDataItem *item, QgsDataItemGuiCo
mainTask->addSubTask( exportTask ); mainTask->addSubTask( exportTask );
hasSubTasks = true; hasSubTasks = true;
// when export is successful: // when export is successful:
connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [item, context]() { connect( exportTask, &QgsVectorLayerExporterTask::exportComplete, item, [=]() {
notify( tr( "Import to database" ), tr( "Import was successful." ), context, Qgis::MessageLevel::Success ); notify( tr( "Import to database" ), tr( "Import was successful." ), context, Qgis::MessageLevel::Success );
item->refresh(); item->refresh();
} ); } );
// when an error occurs: // 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 ) if ( error != Qgis::VectorExportResult::UserCanceled )
{ {
QgsMessageOutput *output = QgsMessageOutput::createMessageOutput(); QgsMessageOutput *output = QgsMessageOutput::createMessageOutput();
@ -2297,7 +2297,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{ {
QAction *rangeDomainAction = new QAction( QObject::tr( "New Range Domain…" ) ); QAction *rangeDomainAction = new QAction( QObject::tr( "New Range Domain…" ) );
createFieldDomainMenu->addAction( rangeDomainAction ); createFieldDomainMenu->addAction( rangeDomainAction );
connect( rangeDomainAction, &QAction::triggered, this, [createDomain] { connect( rangeDomainAction, &QAction::triggered, this, [=] {
createDomain( Qgis::FieldDomainType::Range ); createDomain( Qgis::FieldDomainType::Range );
} ); } );
} }
@ -2306,7 +2306,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{ {
QAction *codedDomainAction = new QAction( QObject::tr( "New Coded Values Domain…" ) ); QAction *codedDomainAction = new QAction( QObject::tr( "New Coded Values Domain…" ) );
createFieldDomainMenu->addAction( codedDomainAction ); createFieldDomainMenu->addAction( codedDomainAction );
connect( codedDomainAction, &QAction::triggered, this, [createDomain] { connect( codedDomainAction, &QAction::triggered, this, [=] {
createDomain( Qgis::FieldDomainType::Coded ); createDomain( Qgis::FieldDomainType::Coded );
} ); } );
} }
@ -2315,7 +2315,7 @@ void QgsFieldDomainItemGuiProvider::populateContextMenu( QgsDataItem *item, QMen
{ {
QAction *globDomainAction = new QAction( QObject::tr( "New Glob Domain…" ) ); QAction *globDomainAction = new QAction( QObject::tr( "New Glob Domain…" ) );
createFieldDomainMenu->addAction( globDomainAction ); createFieldDomainMenu->addAction( globDomainAction );
connect( globDomainAction, &QAction::triggered, this, [createDomain] { connect( globDomainAction, &QAction::triggered, this, [=] {
createDomain( Qgis::FieldDomainType::Glob ); createDomain( Qgis::FieldDomainType::Glob );
} ); } );
} }
@ -2580,7 +2580,7 @@ void QgsRelationshipItemGuiProvider::populateContextMenu( QgsDataItem *item, QMe
QPointer<QgsDataItem> itemWeakPointer( item ); QPointer<QgsDataItem> itemWeakPointer( item );
connect( editRelationshipAction, &QAction::triggered, this, [md, itemWeakPointer, relation, connectionUri, context] { connect( editRelationshipAction, &QAction::triggered, this, [=] {
std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn { static_cast<QgsAbstractDatabaseProviderConnection *>( md->createConnection( connectionUri, {} ) ) }; std::unique_ptr<QgsAbstractDatabaseProviderConnection> conn { static_cast<QgsAbstractDatabaseProviderConnection *>( md->createConnection( connectionUri, {} ) ) };
QgsDbRelationDialog dialog( conn.release(), QgisApp::instance() ); 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 Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter ); cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight ); cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) { connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 ); spnHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} ); } );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) ); 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::accepted, this, &QgsDecorationGridDialog::buttonBox_accepted );
connect( buttonBox, &QDialogButtonBox::rejected, this, &QgsDecorationGridDialog::buttonBox_rejected ); connect( buttonBox, &QDialogButtonBox::rejected, this, &QgsDecorationGridDialog::buttonBox_rejected );
connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [this]( int ) { updateSymbolButtons(); } ); connect( mGridTypeComboBox, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, [=]( int ) { updateSymbolButtons(); } );
connect( mPbtnUpdateFromExtents, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromExtents_clicked ); connect( mPbtnUpdateFromExtents, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromExtents_clicked );
connect( mPbtnUpdateFromLayer, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromLayer_clicked ); connect( mPbtnUpdateFromLayer, &QPushButton::clicked, this, &QgsDecorationGridDialog::mPbtnUpdateFromLayer_clicked );
connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsDecorationGridDialog::showHelp ); connect( buttonBox, &QDialogButtonBox::helpRequested, this, &QgsDecorationGridDialog::showHelp );
@ -47,7 +47,7 @@ QgsDecorationGridDialog::QgsDecorationGridDialog( QgsDecorationGrid &deco, QWidg
mLineSymbolButton->setSymbolType( Qgis::SymbolType::Line ); mLineSymbolButton->setSymbolType( Qgis::SymbolType::Line );
grpEnable->setChecked( mDeco.enabled() ); grpEnable->setChecked( mDeco.enabled() );
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateSymbolButtons(); } ); connect( grpEnable, &QGroupBox::toggled, this, [=] { updateSymbolButtons(); } );
mOffsetXEdit->setShowClearButton( true ); mOffsetXEdit->setShowClearButton( true );
mOffsetXEdit->setClearValue( 0 ); 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 Left" ), QgsDecorationItem::BottomLeft );
cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter ); cboPlacement->addItem( tr( "Bottom Center" ), QgsDecorationItem::BottomCenter );
cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight ); cboPlacement->addItem( tr( "Bottom Right" ), QgsDecorationItem::BottomRight );
connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) { connect( cboPlacement, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 ); spinHorizontal->setMinimum( cboPlacement->currentData() == QgsDecorationItem::TopCenter || cboPlacement->currentData() == QgsDecorationItem::BottomCenter ? -100 : 0 );
} ); } );
cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) ); cboPlacement->setCurrentIndex( cboPlacement->findData( mDeco.placement() ) );
@ -69,7 +69,7 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
// enabled // enabled
grpEnable->setChecked( mDeco.enabled() ); grpEnable->setChecked( mDeco.enabled() );
connect( grpEnable, &QGroupBox::toggled, this, [this] { updateEnabledColorButtons(); } ); connect( grpEnable, &QGroupBox::toggled, this, [=] { updateEnabledColorButtons(); } );
wgtImagePath->setFilePath( mDeco.imagePath() ); wgtImagePath->setFilePath( mDeco.imagePath() );
connect( wgtImagePath, &QgsFileWidget::fileChanged, this, &QgsDecorationImageDialog::updateImagePath ); connect( wgtImagePath, &QgsFileWidget::fileChanged, this, &QgsDecorationImageDialog::updateImagePath );
@ -83,8 +83,8 @@ QgsDecorationImageDialog::QgsDecorationImageDialog( QgsDecorationImage &deco, QW
pbnChangeOutlineColor->setColor( mDeco.mOutlineColor ); pbnChangeOutlineColor->setColor( mDeco.mOutlineColor );
pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) ); pbnChangeOutlineColor->setContext( QStringLiteral( "gui" ) );
pbnChangeOutlineColor->setColorDialogTitle( tr( "Select SVG Image Outline Color" ) ); pbnChangeOutlineColor->setColorDialogTitle( tr( "Select SVG Image Outline Color" ) );
connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } ); connect( pbnChangeColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [this]( QColor ) { drawImage(); } ); connect( pbnChangeOutlineColor, &QgsColorButton::colorChanged, this, [=]( QColor ) { drawImage(); } );
drawImage(); drawImage();
} }

View File

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

View File

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

View File

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

View File

@ -60,7 +60,7 @@ QgsNetworkLoggerTreeView::QgsNetworkLoggerTreeView( QgsNetworkLogger *logger, QW
mAutoScroll = false; mAutoScroll = false;
} ); } );
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [this] { connect( mLogger, &QAbstractItemModel::rowsInserted, this, [=] {
if ( mLogger->rowCount() > ( QgsNetworkLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer if ( mLogger->rowCount() > ( QgsNetworkLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer
{ {
// never trim expanded nodes // never trim expanded nodes
@ -185,11 +185,11 @@ QgsNetworkLoggerPanelWidget::QgsNetworkLoggerPanelWidget( QgsNetworkLogger *logg
connect( mActionShowSuccessful, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowSuccessful ); connect( mActionShowSuccessful, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowSuccessful );
connect( mActionShowCached, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowCached ); connect( mActionShowCached, &QAction::toggled, mTreeView, &QgsNetworkLoggerTreeView::setShowCached );
connect( mActionClear, &QAction::triggered, mLogger, &QgsNetworkLogger::clear ); connect( mActionClear, &QAction::triggered, mLogger, &QgsNetworkLogger::clear );
connect( mActionRecord, &QAction::toggled, this, [this]( bool enabled ) { connect( mActionRecord, &QAction::toggled, this, [=]( bool enabled ) {
QgsSettings().setValue( QStringLiteral( "logNetworkRequests" ), enabled, QgsSettings::App ); QgsSettings().setValue( QStringLiteral( "logNetworkRequests" ), enabled, QgsSettings::App );
mLogger->enableLogging( enabled ); mLogger->enableLogging( enabled );
} ); } );
connect( mActionSaveLog, &QAction::triggered, this, [this]() { connect( mActionSaveLog, &QAction::triggered, 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 ) 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; return;
@ -228,7 +228,7 @@ QgsNetworkLoggerPanelWidget::QgsNetworkLoggerPanelWidget( QgsNetworkLogger *logg
mToolbar->addSeparator(); mToolbar->addSeparator();
QCheckBox *disableCacheCheck = new QCheckBox( tr( "Disable cache" ) ); 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 // 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 // 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... // 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 ) ); mTreeView->setItemDelegateForColumn( 1, new CostDelegate( static_cast<int>( QgsRuntimeProfilerNode::CustomRole::Elapsed ), static_cast<int>( QgsRuntimeProfilerNode::CustomRole::ParentElapsed ), mTreeView ) );
connect( mProfiler, &QgsRuntimeProfiler::groupAdded, this, [this]( const QString &group ) { connect( mProfiler, &QgsRuntimeProfiler::groupAdded, this, [=]( const QString &group ) {
mCategoryComboBox->addItem( QgsRuntimeProfiler::translateGroupName( group ).isEmpty() ? group : QgsRuntimeProfiler::translateGroupName( group ), group ); mCategoryComboBox->addItem( QgsRuntimeProfiler::translateGroupName( group ).isEmpty() ? group : QgsRuntimeProfiler::translateGroupName( group ), group );
if ( mCategoryComboBox->count() == 1 ) if ( mCategoryComboBox->count() == 1 )
{ {
@ -50,7 +50,7 @@ QgsProfilerPanelWidget::QgsProfilerPanelWidget( QgsRuntimeProfiler *profiler, QW
} }
} ); } );
connect( mCategoryComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [this]( int ) { connect( mCategoryComboBox, qOverload<int>( &QComboBox::currentIndexChanged ), this, [=]( int ) {
mProxyModel->setGroup( mCategoryComboBox->currentData().toString() ); mProxyModel->setGroup( mCategoryComboBox->currentData().toString() );
} ); } );

View File

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

View File

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

View File

@ -75,7 +75,7 @@ QgsDatabaseQueryLoggerTreeView::QgsDatabaseQueryLoggerTreeView( QgsAppQueryLogge
mAutoScroll = false; mAutoScroll = false;
} ); } );
connect( mLogger, &QAbstractItemModel::rowsInserted, this, [this] { connect( mLogger, &QAbstractItemModel::rowsInserted, this, [=] {
if ( mLogger->rowCount() > ( QgsAppQueryLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer if ( mLogger->rowCount() > ( QgsAppQueryLogger::MAX_LOGGED_REQUESTS * 1.2 ) ) // 20 % more as buffer
{ {
// never trim expanded nodes // never trim expanded nodes
@ -183,11 +183,11 @@ QgsDatabaseQueryLoggerPanelWidget::QgsDatabaseQueryLoggerPanelWidget( QgsAppQuer
connect( mFilterLineEdit, &QgsFilterLineEdit::textChanged, mTreeView, &QgsDatabaseQueryLoggerTreeView::setFilterString ); connect( mFilterLineEdit, &QgsFilterLineEdit::textChanged, mTreeView, &QgsDatabaseQueryLoggerTreeView::setFilterString );
connect( mActionClear, &QAction::triggered, mLogger, &QgsAppQueryLogger::clear ); 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 ); QgsSettings().setValue( QStringLiteral( "logDatabaseQueries" ), enabled, QgsSettings::App );
QgsApplication::databaseQueryLog()->setEnabled( enabled ); QgsApplication::databaseQueryLog()->setEnabled( enabled );
} ); } );
connect( mActionSaveLog, &QAction::triggered, this, [this]() { connect( mActionSaveLog, &QAction::triggered, 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 ) 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; return;

View File

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

View File

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

View File

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

View File

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

View File

@ -57,7 +57,7 @@ QgsGCPListWidget::QgsGCPListWidget( QWidget *parent )
connect( this, &QAbstractItemView::clicked, this, &QgsGCPListWidget::itemClicked ); connect( this, &QAbstractItemView::clicked, this, &QgsGCPListWidget::itemClicked );
connect( this, &QWidget::customContextMenuRequested, this, &QgsGCPListWidget::showContextMenu ); connect( this, &QWidget::customContextMenuRequested, this, &QgsGCPListWidget::showContextMenu );
connect( mGCPListModel, &QgsGCPListModel::pointEnabled, this, [this]( QgsGeorefDataPoint *point, int row ) { connect( mGCPListModel, &QgsGCPListModel::pointEnabled, this, [=]( QgsGeorefDataPoint *point, int row ) {
emit pointEnabled( point, row ); emit pointEnabled( point, row );
adjustTableContent(); adjustTableContent();
return; return;
@ -181,7 +181,7 @@ void QgsGCPListWidget::showContextMenu( QPoint p )
setCurrentIndex( index ); setCurrentIndex( index );
QAction *jumpToPointAction = new QAction( tr( "Recenter" ), this ); QAction *jumpToPointAction = new QAction( tr( "Recenter" ), this );
connect( jumpToPointAction, &QAction::triggered, this, [this] { connect( jumpToPointAction, &QAction::triggered, this, [=] {
const QModelIndex sourceIndex = static_cast<const QSortFilterProxyModel *>( model() )->mapToSource( currentIndex() ); const QModelIndex sourceIndex = static_cast<const QSortFilterProxyModel *>( model() )->mapToSource( currentIndex() );
mPrevRow = sourceIndex.row(); mPrevRow = sourceIndex.row();
mPrevColumn = sourceIndex.column(); 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 ); mNewlyAddedPoint = new QgsGeorefDataPoint( mCanvas, QgisApp::instance()->mapCanvas(), sourceCoordinates, QgsPointXY(), QgsCoordinateReferenceSystem(), true );
mMapCoordsDialog = new QgsMapCoordsDialog( QgisApp::instance()->mapCanvas(), mNewlyAddedPoint, lastProjection, this ); mMapCoordsDialog = new QgsMapCoordsDialog( QgisApp::instance()->mapCanvas(), mNewlyAddedPoint, lastProjection, this );
connect( mMapCoordsDialog, &QgsMapCoordsDialog::pointAdded, this, [this]( const QgsPointXY &sourceLayerCoordinate, const QgsPointXY &destinationCoordinate, const QgsCoordinateReferenceSystem &destinationCrs ) { connect( mMapCoordsDialog, &QgsMapCoordsDialog::pointAdded, this, [=]( const QgsPointXY &sourceLayerCoordinate, const QgsPointXY &destinationCoordinate, const QgsCoordinateReferenceSystem &destinationCrs ) {
addPoint( sourceLayerCoordinate, destinationCoordinate, destinationCrs ); addPoint( sourceLayerCoordinate, destinationCoordinate, destinationCrs );
} ); } );
connect( mMapCoordsDialog, &QObject::destroyed, this, [this] { connect( mMapCoordsDialog, &QObject::destroyed, this, [=] {
delete mNewlyAddedPoint; delete mNewlyAddedPoint;
mNewlyAddedPoint = nullptr; mNewlyAddedPoint = nullptr;
} ); } );
@ -1102,9 +1102,9 @@ void QgsGeoreferencerMainWindow::createActions()
connect( mActionReset, &QAction::triggered, this, &QgsGeoreferencerMainWindow::reset ); connect( mActionReset, &QAction::triggered, this, &QgsGeoreferencerMainWindow::reset );
mActionOpenRaster->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddRasterLayer.svg" ) ) ); mActionOpenRaster->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionAddRasterLayer.svg" ) ) );
connect( mActionOpenRaster, &QAction::triggered, this, [this] { openLayer( Qgis::LayerType::Raster ); } ); connect( mActionOpenRaster, &QAction::triggered, this, [=] { openLayer( Qgis::LayerType::Raster ); } );
connect( mActionOpenVector, &QAction::triggered, this, [this] { openLayer( Qgis::LayerType::Vector ); } ); connect( mActionOpenVector, &QAction::triggered, this, [=] { openLayer( Qgis::LayerType::Vector ); } );
mActionStartGeoref->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionStart.svg" ) ) ); mActionStartGeoref->setIcon( QgsApplication::getThemeIcon( QStringLiteral( "/mActionStart.svg" ) ) );
connect( mActionStartGeoref, &QAction::triggered, this, &QgsGeoreferencerMainWindow::georeference ); connect( mActionStartGeoref, &QAction::triggered, this, &QgsGeoreferencerMainWindow::georeference );
@ -1211,7 +1211,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mAdvancedDigitizingDockWidget = new QgsAdvancedDigitizingDockWidget( mCanvas ); mAdvancedDigitizingDockWidget = new QgsAdvancedDigitizingDockWidget( mCanvas );
addDockWidget( Qt::LeftDockWidgetArea, mAdvancedDigitizingDockWidget ); addDockWidget( Qt::LeftDockWidgetArea, mAdvancedDigitizingDockWidget );
mAdvancedDigitizingDockWidget->hide(); mAdvancedDigitizingDockWidget->hide();
connect( mActionAdvancedDigitizingDock, &QAction::triggered, mAdvancedDigitizingDockWidget, [this]( bool checked ) { mAdvancedDigitizingDockWidget->setVisible( checked ); } ); connect( mActionAdvancedDigitizingDock, &QAction::triggered, mAdvancedDigitizingDockWidget, [=]( bool checked ) { mAdvancedDigitizingDockWidget->setVisible( checked ); } );
QgsSnappingConfig snappingConfig; QgsSnappingConfig snappingConfig;
snappingConfig.setMode( Qgis::SnappingMode::AllLayers ); snappingConfig.setMode( Qgis::SnappingMode::AllLayers );
@ -1247,7 +1247,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mSnappingTypeButton->setMenu( typeMenu ); mSnappingTypeButton->setMenu( typeMenu );
mSnappingTypeButton->setObjectName( QStringLiteral( "SnappingTypeButton" ) ); mSnappingTypeButton->setObjectName( QStringLiteral( "SnappingTypeButton" ) );
connect( mSnappingTypeButton, &QToolButton::triggered, this, [this]( QAction *action ) { connect( mSnappingTypeButton, &QToolButton::triggered, this, [=]( QAction *action ) {
QgsSnappingConfig snappingConfig = mSnappingUtils->config(); QgsSnappingConfig snappingConfig = mSnappingUtils->config();
unsigned int type = static_cast<int>( snappingConfig.typeFlag() ); unsigned int type = static_cast<int>( snappingConfig.typeFlag() );
const Qgis::SnappingTypes actionFlag = static_cast<Qgis::SnappingTypes>( action->data().toInt() ); const Qgis::SnappingTypes actionFlag = static_cast<Qgis::SnappingTypes>( action->data().toInt() );
@ -1256,7 +1256,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mSnappingUtils->setConfig( snappingConfig ); mSnappingUtils->setConfig( snappingConfig );
} ); } );
connect( mSnappingTypeButton, &QToolButton::clicked, this, [this]( bool checked ) { connect( mSnappingTypeButton, &QToolButton::clicked, this, [=]( bool checked ) {
QgsSnappingConfig snappingConfig = mSnappingUtils->config(); QgsSnappingConfig snappingConfig = mSnappingUtils->config();
snappingConfig.setEnabled( checked ); snappingConfig.setEnabled( checked );
mSnappingUtils->setConfig( snappingConfig ); mSnappingUtils->setConfig( snappingConfig );
@ -1285,7 +1285,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
mToolDeletePoint->setAction( mActionDeletePoint ); mToolDeletePoint->setAction( mActionDeletePoint );
connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::hoverPoint, this, &QgsGeoreferencerMainWindow::hoverPoint ); connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::hoverPoint, this, &QgsGeoreferencerMainWindow::hoverPoint );
connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::deletePoint, this, &QgsGeoreferencerMainWindow::deletePoint ); connect( mToolDeletePoint, &QgsGeorefToolDeletePoint::deletePoint, this, &QgsGeoreferencerMainWindow::deletePoint );
connect( mToolDeletePoint, &QgsMapTool::deactivated, this, [this] { connect( mToolDeletePoint, &QgsMapTool::deactivated, this, [=] {
if ( mHoveredPoint ) if ( mHoveredPoint )
{ {
mHoveredPoint->setHovered( false ); mHoveredPoint->setHovered( false );
@ -1299,7 +1299,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint ); connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint );
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint ); connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint );
connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint ); connect( mToolMovePoint, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint );
connect( mToolMovePoint, &QgsMapTool::deactivated, this, [this] { connect( mToolMovePoint, &QgsMapTool::deactivated, this, [=] {
mMovingPoint = nullptr; mMovingPoint = nullptr;
if ( mHoveredPoint ) if ( mHoveredPoint )
{ {
@ -1315,7 +1315,7 @@ void QgsGeoreferencerMainWindow::createMapCanvas()
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint ); connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointMoving, this, &QgsGeoreferencerMainWindow::movePoint );
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint ); connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointEndMove, this, &QgsGeoreferencerMainWindow::releasePoint );
connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint ); connect( mToolMovePointQgis, &QgsGeorefToolMovePoint::pointCancelMove, this, &QgsGeoreferencerMainWindow::cancelPoint );
connect( mToolMovePointQgis, &QgsMapTool::deactivated, this, [this] { connect( mToolMovePointQgis, &QgsMapTool::deactivated, this, [=] {
mMovingPointQgis = nullptr; mMovingPointQgis = nullptr;
if ( mHoveredPoint ) if ( mHoveredPoint )
{ {

View File

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

View File

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

View File

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

View File

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

View File

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

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