722 Commits

Author SHA1 Message Date
Denis Rouzaud
08aeb133a0
use a custom type id for python implementation
otherwise, QgsSettingsEditorWidgetRegistry is creating a wrapper for this setting type and expects the cpp implemetnation
(QgsSettingsEntryBaseTemplate and not QgsSettingsEntryBase)
2024-10-08 22:19:49 +02:00
Nyall Dawson
8a61127bd0 Fix exception with older shapely versions 2024-10-08 14:33:57 +10:00
qgis-bot
95dae189f5 auto sipify 🍺 2024-10-07 23:16:48 +00:00
Germán Carrillo
0c7ea8f4b8 Address review: move qgsLessThanMaximumScale and qgsEqualToOrGreaterThanMinimumScale functions to QgsScaleUtils 2024-10-08 09:13:34 +10:00
Germán Carrillo
dd907d6bdf [core] Introduce functions qgsLessThanMaximumScale and qgsEqualToOrGreaterThanMinimumScale to make robust checks between map scale and maximum/minimum rendering scales in a scale dependent visibility context, taking non-round scales (denominators) 2024-10-08 09:13:34 +10:00
Germán Carrillo
490b47daf0 [core] Mark Qgis::SCALE_PRECISION as deprecated, since scale dependent visibility became more robust on range limits (namely, on non-round numbers). 2024-10-08 09:13:34 +10:00
qgis-bot
d7985db12b auto sipify 🍺 2024-10-07 16:11:08 +00:00
Denis Rouzaud
5f18ff84a2
make QgsVectorTilesUtils available to Python bindings (#58989) 2024-10-07 18:07:48 +02:00
qgis-bot
789fd9c3b7 auto sipify 🍺 2024-10-07 07:36:05 +00:00
Nyall Dawson
594b466160 [api] Allow sink flags to be specified for QgsVectorFileWriterTask 2024-10-07 09:32:46 +02:00
Andrea Giudiceandrea
fefba6c472 Fix typos in QgsUnitTypes 2024-10-07 09:15:30 +02:00
qgis-bot
3299ab193b auto sipify 🍺 2024-10-03 09:49:27 +00:00
Nyall Dawson
94ec0d9139 QgsMapLayer::setDataSource don't require layer name, provider
Make them optional, and default to current layer name/provider
when not specified
2024-10-03 19:46:08 +10:00
qgis-bot
88c4e3fb19 auto sipify 🍺 2024-10-03 02:52:33 +00:00
Nyall Dawson
a7a5f972ae Add render context flag to always disable symbol clipping 2024-10-03 12:49:18 +10:00
qgis-bot
b47c3781c9 auto sipify 🍺 2024-10-02 01:16:52 +00:00
Nick Bowsher
9a08f1097a
[feature] Add extra mesh layer legend node for currently displayed vector datasets 2024-10-02 11:13:40 +10:00
qgis-bot
56b6dc7ed2 auto sipify 🍺 2024-10-02 00:39:14 +00:00
Nyall Dawson
52226f0b9c Mark models as security risk if they contain algs with security risks 2024-10-02 10:36:00 +10:00
Nyall Dawson
2fdb2cad80 Add processing algorithm flag for SecurityRisk
And add to "Advanced Python field calculator" algorithm, as that
algorithm uses the Python exec() function and is a security
risk if run with untrusted/unchecked inputs
2024-10-02 10:36:00 +10:00
Germán Carrillo
771b03348f [core] Fix restoring projects using stacked bar diagrams 2024-10-01 07:25:50 +10:00
merydian
a7621a2e54 Use QByteArray.data() for as_shapely 2024-09-30 13:22:21 +10:00
merydian
bb6ec91291 Improve performance of as_shapely
By utilizing QgsGeometry.asWkb() this is ~8.45 times faster than the previous implementation.
2024-09-30 13:22:21 +10:00
merydian
82772b7865 Place shapely related things in separate try statement 2024-09-30 13:22:21 +10:00
merydian
bbf6bc5e11 Implement QgsGeometry.as_numpy and .as_shapely 2024-09-30 13:22:21 +10:00
qgis-bot
cc8c62fc99 auto sipify 🍺 2024-09-28 23:00:59 +00:00
Nyall Dawson
93012dd5af [feature] Support img tags in HTML label text
Allows use of img tags in HTML label content. The following logic
is applied:

- Image path is set via the src="xxx" attribute. Local, HTTP, and
base64 encoded paths are permitted
- Any image format readable by QGIS can be used
- Image sizes can be specified via the width="##" and height="##"
attributes. If width or height is not specified it will automatically
be calculated from the original image size
- If width or height are specified, they are considered to be
in POINTS
- The css width/height settings are NOT respected (this is a Qt
limitation)
- Images are not supported for curved text labels
- Images are placed inline only, floating images are not supported

Sponsored by City of Freiburg im Breisgau
2024-09-29 08:57:52 +10:00
Nyall Dawson
ffc6dd208d Allow QgsTextFragment to represent an inline image object
Modifies the QgsTextDocument API to extract images from HTML
content, and store in the associated
QgsTextFragment/QgsTextCharacterFormat objects
2024-09-29 08:57:52 +10:00
Nyall Dawson
74b921e84b Allow HTML data urls for QgsImageCache
Adds support for base64 encoded image decoding when the path
is a HTML data URL (in addition to the existing "base64:..."
format support)

Allows use of eg "data:image/jpeg;base64,XXXXXXXX" formats
for image paths, so that the image cache can correctly handle
embedded image paths from HTML/CSS content
2024-09-29 08:57:52 +10:00
qgis-bot
4550beadb5 auto sipify 🍺 2024-09-27 05:58:03 +00:00
Denis Rouzaud
ca3b40cb8c
Merge pull request #58568 from gacarrillor/stacked_diagrams
[feature] Introduce stacked diagrams
2024-09-27 07:54:49 +02:00
qgis-bot
27e1ec90e7 auto sipify 🍺 2024-09-26 21:40:29 +00:00
Even Rouault
8335dab269
Merge pull request #58864 from rouault/fix_58861
QgsJsonUtils: add a way to disable use of field formatters
2024-09-26 23:37:12 +02:00
Germán Carrillo
37de287f7c [core] Addres review: skip SIP for some static const diagram names 2024-09-26 09:48:19 -05:00
qgis-bot
6a488de21a auto sipify 🍺 2024-09-26 12:20:58 +00:00
Denis Rouzaud
590232d70a
add template method to return specific type of layers in map canvas (#58878)
* add template method to return specific type of layers in map canvas

* Apply suggestions from code review

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>

---------

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>
2024-09-26 14:17:36 +02:00
Germán Carrillo
463bf249bb [core] Address review: switch from define to static const 2024-09-25 19:46:58 -05:00
qgis-bot
da1f55b7d1 auto sipify 🍺 2024-09-25 05:09:28 +00:00
Denis Rouzaud
eafa4b48b2
fix Python API compatibility (#58860)
* fix Python API compatibility

* Update qgis.h
2024-09-25 07:06:11 +02:00
Denis Rouzaud
6d4e343792
[mvt] fix line dash arrays using literals (#58857)
* [mvt] fix line dash arrays using literals

* Update src/core/vectortile/qgsmapboxglstyleconverter.h

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

---------

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2024-09-25 07:05:36 +02:00
Even Rouault
dc1583bd7c
QgsJsonUtils: add a way to disable use of field formatters
Fixes #58861
2024-09-24 22:49:08 +02:00
qgis-bot
0b11a7c36c auto sipify 🍺 2024-09-23 08:16:06 +00:00
Even Rouault
588e8d430b QgsRasterInterface::colorInterpretationName(): return a translated string 2024-09-23 10:11:03 +02:00
Even Rouault
eb981cd979 Update RasterColorInterpretation enumeration with constants added in GDAL 3.10
per https://github.com/OSGeo/gdal/pull/10721
2024-09-23 10:11:03 +02:00
qgis-bot
484f1051ec auto sipify 🍺 2024-09-23 08:07:39 +00:00
Julien Cabieces
bcaea01703
Merge pull request #58790 from elpaso/bugfix-gh57422-server-cascading-legend-size
[server] WMS GetLegendGr.. cascading size
2024-09-23 10:04:26 +02:00
qgis-bot
5281b4b85c auto sipify 🍺 2024-09-21 22:26:18 +00:00
Nyall Dawson
cde770edc6 QgsDistanceArea methods should raise QgsCsException when errors occur
Instead of just silently return "0", which is misleading and
can result in data corruption/incorrect analysis results. Better
to be safe and force callers to handle transformation errors
appropriately.

In this case we:

- raise QgsProcessingExceptions when the failed measurement is coming
from a processing tool, so that the user is forced to deal with the
issue and we aren't providing meaningless/misleading measurements
- report evaluation errors if the measurement is coming from a
QGIS expression, so the user must appropriately handle the situation
- for all other cases we currently just write a console error and
maintain the current behavior of treating the measurement length
as 0. TODO notes have been added to handle this cases better.
2024-09-22 08:23:05 +10:00
Alessandro Pasotti
1f86ad11b7 Add a blocking variant 2024-09-20 16:03:14 +02:00
Nyall Dawson
f61e33da4e Doxygen comments should use "NULLPTR", not "NULL"
NULLPTR will get correctly formatted in both c++ and Python docs
2024-09-19 09:55:44 +10:00