10798 Commits

Author SHA1 Message Date
qgis-bot
5d44d3bc73 auto sipify 🍺 2024-10-16 02:40:08 +00:00
qgis-bot
30f18f1afd auto sipify 🍺 2024-10-16 02:03:49 +00:00
Nyall Dawson
4eb6ce1053 Add isValid() method for QgsScaleBarRenderer::RendererContext 2024-10-16 12:00:32 +10:00
qgis-bot
55d6db6230 auto sipify 🍺 2024-10-16 00:55:05 +00:00
Nyall Dawson
2f4e5f0269 Mark QgsOptional bool operator as explicit
And reimplement for Python
2024-10-16 10:51:47 +10:00
Nyall Dawson
b5fa8d51fb Mark QgsProperty bool operator as explicit
And reimplement in Python, as sip can't handle explicit bool
operator from c++
2024-10-16 10:51:47 +10:00
Denis Rouzaud
e1a059b1da
Merge pull request #59092 from nyalldawson/pointxy_equality
Remove duplicate equality operator for QgsPointXY
2024-10-15 14:32:46 +02:00
qgis-bot
1431d2c70e auto sipify 🍺 2024-10-15 06:48:57 +00:00
Nyall Dawson
7b1b51a886
Remove duplicate equality operator for QgsPointXY
We had two different(!!!!) implementations for equality operator
for QgsPointXY, with different logic (one handled empty points,
the other didn't). This compiled only because one was not marked
as const. So we'd get a DIFFERENT equality check logic depending
on whether or not the first point was const... eeek!

Remove the duplicate one, mark the better one as const
2024-10-15 16:47:46 +10:00
Alessandro Pasotti
9098fb9140
Merge pull request #58916 from elpaso/bugfix-gh58875-exp-compiler-with-plus-strings
Fix SQL expression compiler plus operator with strings
2024-10-15 08:45:39 +02:00
qgis-bot
89d834382e auto sipify 🍺 2024-10-15 05:03:20 +00:00
Nyall Dawson
bc28bfd333 Fix/suppress more duplInheritedMember warnings 2024-10-15 15:00:05 +10:00
Nyall Dawson
6b344cd1fc Remove broken swap methods, replace with standard assignment op
which correctly sets all members
2024-10-15 15:00:05 +10:00
Nyall Dawson
56e58a2f74 Remove duplicate inherited members 2024-10-15 15:00:05 +10:00
Nyall Dawson
b85e373a31 Remove duplicate methods defined in subclasses 2024-10-15 15:00:05 +10:00
Nyall Dawson
de73f3c975 Add docs 2024-10-15 15:00:05 +10:00
Nyall Dawson
967388df86 Fix cppcheck 'function can be const' warnings 2024-10-15 15:00:05 +10:00
Nyall Dawson
2084479191 Fix flipped docstrings 2024-10-15 15:00:05 +10:00
qgis-bot
c5f5d3b7ac auto sipify 🍺 2024-10-15 02:41:19 +00:00
Nyall Dawson
29b345e2c3 Add scale method option for layout scale bars
Instead of always calculating the scale along the bottom of the
map, expose a choice of methods to the user (along bottom,
middle, top, or average of the three measurements)

For new scalebars, default to the average method, which better
handles the scenario where the scale at the top or bottom of
the map cannot be calculated (eg when the top/bottom of the map
falls just outside valid areas for the map's crs)

This fixes one of the most common scenarios which cause scale
bar widths to blow out to massive sizes

Refs #55240
2024-10-15 12:38:07 +10:00
qgis-bot
40246d3509 auto sipify 🍺 2024-10-14 11:00:42 +00:00
Nyall Dawson
022852c815 Fix aggregate function returns incorrect results
When the aggregate uses variables, we need to ensure that the
cache key correctly considers the current value of ALL those
variables. Otherwise we'll return incorrect results when
an expression is re-evaluated after changing the variable
value for the context.

Fixes use of aggregate function with @symbol_label in legends.

Fixes #58221
2024-10-14 12:57:26 +02:00
Alessandro Pasotti
61935ad591 Introduce QgsVariantUtils::isNumericType 2024-10-11 16:14:24 +02:00
qgis-bot
8d17ad3770 auto sipify 🍺 2024-10-11 06:26:46 +00:00
Nyall Dawson
4c9072e265 Only render main annotation layer in main map canvas or docked maps
Don't show it in other map canvas instances, eg the coordinate
bounds preview map

Fixes #58766
2024-10-11 16:23:37 +10:00
qgis-bot
365320fc76 auto sipify 🍺 2024-10-11 03:36:02 +00:00
Nyall Dawson
b2d2fc9e28 Optimise text rendering for a common scenario
Reduces a lot of overhead when rendering non-buffered, non-shadowed
text. Cuts render time by ~50% in my testing.

Also introduces a "PreferText" render option, where we default
to using text painting methods in all scenarios where we know
there's no loss in rendering quality to do so. This mode should
become the new default in a future QGIS release, as it is
designed to be faster with no visible rendering differences.

Expand unit testing by covering all text render modes in all
text renderer rendering tests.
2024-10-11 13:32:53 +10:00
qgis-bot
dce1396681 auto sipify 🍺 2024-10-11 01:27:45 +00:00
Alessandro Pasotti
75c3ad0f90 Fix docstring 2024-10-11 11:24:33 +10:00
Alessandro Pasotti
9a35e0ea89 Exception for constraint expression 2024-10-11 11:24:33 +10:00
Nyall Dawson
d36982fd4d Reduce duplicate code 2024-10-11 11:22:54 +10:00
qgis-bot
f912f78c5b auto sipify 🍺 2024-10-10 13:25:02 +00:00
Jean Felder
721b0459c4
qgspolyhedralsurface: Implement isValid (#59031)
`QgsPolyhedralSurface` inherits from `QgsSurface` which implements
`QgsAbstractgeometry::isValid` by calling `isValid` from
GEOS. However, GEOS does not handle polyhedral surface. This means
that `isValid` will always return False even if the polyhedral surface
is valid.

This issue is fixed by implementing
`QgsPolyhedralSurface::isValid`. It checks that all the polygons of
the polyhedral surface are valid.
2024-10-10 15:21:47 +02:00
qgis-bot
f9b970be55 auto sipify 🍺 2024-10-10 01:36:11 +00:00
Nyall Dawson
65c654d2c8 Prep for calculating word wrapping in text document metrics 2024-10-10 11:09:18 +10:00
qgis-bot
bb9a7165e6 auto sipify 🍺 2024-10-09 22:31:03 +00:00
Germán Carrillo
4a73ef0028 [core] Address review: switch from string comparison to static const members 2024-10-10 08:27:52 +10:00
Denis Rouzaud
f9c05c50d8
Merge pull request #59014 from 3nids/settings.fup.2
python implementation of enum settings editor widget wrapper  + fix crash
2024-10-09 20:10:58 +02:00
qgis-bot
64e79914dd auto sipify 🍺 2024-10-09 03:49:26 +00:00
Even Rouault
9f605a6426 Don't use the The Word Which Must Not Be Used
I limited the renaming to things that are not in the public API and
are not setting names. This is probably more than we strictly need to
do, but at least this will help doing potential future similar 'grep'
exercises.
2024-10-09 11:50:08 +10:00
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