80823 Commits

Author SHA1 Message Date
Nyall Dawson
7e554b1ac6 Use task based legend filter by map for main canvas
Otherwise QGIS frequently hangs for extended periods whenever
the filter by map option is enabled!
2023-03-08 19:28:18 +10:00
Nyall Dawson
4adc1c8278 Fix python build 2023-03-08 19:28:18 +10:00
Nyall Dawson
1938f6e255 Add flag to QgsLayerTreeModel to execute legend hit tests in
a background task
2023-03-08 19:28:18 +10:00
Nyall Dawson
f261855490 Create QgsMapHitTestTask, a QgsTask which executes a legend hit
test in a background thread in a thread-safe way

These legend hit tests can be very expensive to calculate, so
background execution is desirable...
2023-03-08 19:28:18 +10:00
Nyall Dawson
11f5a6947a Refactor QgsMapHitTest to permit thread-safe execution 2023-03-08 19:28:18 +10:00
Nyall Dawson
4647cfccef [processing] Add "Keep disjoint results separate" option to buffer
algorithm

If checked, then any disjoint parts in the buffer results will be
output as separate single-part features. This setting is designed
to expose a similar functionality as is available for the 'dissolve'
algorithm.

Sponsored by City of Canning
2023-03-08 18:08:43 +10:00
Nyall Dawson
3c1e4fe723 [processing] Allow filter expressions to be set for vector sources
This change adds a new "feature filter" option alongside the
existing feature limit and invalid geometry handling options
available for all vector inputs to processing layers.

It allows users to enter an expression to subset the layer dynamically
when running the tool, avoiding the need for separate steps to
set layer filters or create layer subsets.

Sponsored by City of Canning
2023-03-08 16:58:34 +10:00
Nyall Dawson
75b3383fb5 Call correct parent function 2023-03-08 14:53:12 +10:00
Nyall Dawson
bb57ef8d1a Doc fixes 2023-03-08 14:53:12 +10:00
Nyall Dawson
781b869a7e [feature][layouts] Support filtering layout legends by multiple linked map items
Instead of limiting layout legend filtering to a single linked map,
this change permits legends to be filtered instead by multiple
linked maps. It is designed to accomodate the use case where
a layout has multiple maps, potentially at different scales
and showing different extents, and a single legend is required
which includes all symbols visible across all the maps.

Sponsored by City of Canning
2023-03-08 14:53:12 +10:00
Nyall Dawson
e3ffb8d829 Add another early exit shortcut to legend hit test 2023-03-08 14:27:51 +10:00
Nyall Dawson
d1247bc4b6 Add another early exit path for map hit test 2023-03-08 14:27:51 +10:00
Nyall Dawson
668391184a Optimise legend filter by map test by finishing early when we have
determined that all available legend symbols for a layer are
visible in the map

Avoids a LOT of wasted time calculating visible symbols, especially
for layers with a single symbol renderer.
2023-03-08 14:27:51 +10:00
Nyall Dawson
efbfaf8046 Add QgsFeatureRenderer::legendKeys method to retrieve all legend
keys for the renderer
2023-03-08 14:27:51 +10:00
Nyall Dawson
b170c0f97e Nicer documentation 2023-03-08 14:27:51 +10:00
Nyall Dawson
e0e0502f00 Fix some incorrect super class methods called 2023-03-08 14:27:34 +10:00
Nyall Dawson
9d6e8e2244 Fix some issues preventing use of clang-tidy on files 2023-03-08 14:27:34 +10:00
Nyall Dawson
ef90e3d624 Silence some unwanted clang-tidy warnings 2023-03-08 14:27:34 +10:00
signedav
771c85ac2a
Merge pull request #52046 from signedav/preserve_index
Fix index lost on reload in Attribute Table
2023-03-07 17:15:10 +01:00
Juergen E. Fischer
c5536d9503 fix build (followup 433d962c55 and 9910af69575) 2023-03-07 08:37:22 +01:00
Nyall Dawson
33d1d2e3c8 Move backport bot to 22.04 2023-03-07 09:48:32 +10:00
Yoann Quenach de Quivillic
2b96ebf67c Fix #50202 Pressing Enter does not upgrade all plugins anymore 2023-03-07 09:45:40 +10:00
Harrissou Sant-anna
d979743ef0 Add more details to the modulo operator 2023-03-07 09:45:01 +10:00
Julien Cabieces
35fc6b239a add generated file dir in clang-tidy call 2023-03-07 09:28:40 +10:00
signedav
632edab95c
Merge pull request #52015 from signedav/legend_fix
Fix inconcequent use of DPI at generating the WMS legend
2023-03-06 17:41:15 +01:00
Alexander Bruy
4d78e34b28 fix build 2023-03-06 16:19:47 +10:00
Alexander Bruy
433d962c55 bump nlohmann/json version to 3.9.1 to satisfy pdal_wrench dependency
requirement
2023-03-06 16:19:47 +10:00
Nyall Dawson
b650fbd92b Fix encoding choice is ignored in Add Vector Layer dialog 2023-03-06 16:19:15 +10:00
Nyall Dawson
3c91c624c8 [expressions][feature] Add ltrim/rtrim functions
Allows trimming spaces or other characters from just the
start or end of strings
2023-03-06 08:38:38 +10:00
Nyall Dawson
12d6b44e7e Expose field split policy choice in layer properties > form dialog
Allows users to easily determine the current policy and change
as desired
2023-03-06 08:36:33 +10:00
Juergen E. Fischer
4a41c82fde release.pl: handle splash transitions (.0rc -> .1 [-> .4ltr]) 2023-03-04 13:44:37 +01:00
Juergen E. Fischer
1cff7f53ed Bump version to 3.31 2023-03-03 20:27:20 +01:00
Juergen E. Fischer
f80bec6135 changelog and news update for 3.30 2023-03-03 20:25:39 +01:00
Juergen E. Fischer
5aec85d569 translation update for 3.30.0 from transifex 2023-03-03 20:25:33 +01:00
Juergen E. Fischer
a7133df5e1 release.pl: handle apostrophe in release name and keep source ts file 2023-03-03 14:53:22 +01:00
signedav
e8460b989a reset mLastEditSelectionFid for the case no fid can be emitted by the selection - shouldn't happen afaik, but just to be sure in this area... 2023-03-03 14:46:51 +01:00
signedav
a85019498f pass painter to the function to create the default renderer context and return it 2023-03-03 14:24:00 +01:00
signedav
830cfb4f48 Check selection.indexes if empty before getting first() to avoid danger of nullptr. 2023-03-03 13:20:58 +01:00
signedav
27ff5ebef6 index is preserved - change the tests accordingly 2023-03-03 13:20:58 +01:00
signedav
ca6ae15d9e Keep last edit selection fid to persist the index if on e.g. layer refresh (e.g. because of dependency). This fixes #43902 2023-03-03 13:20:58 +01:00
signedav
4aad36385b fix naming of mixed up deselected / selected passed from QItemSelectionModel::selectionChanged - had no influence in functionality since those are used for unite() the QRects 2023-03-03 13:20:58 +01:00
signedav
08c7d66e30
Merge pull request #52045 from signedav/yellow_index_lost
Fix lost index on selection change in Attribute Table
2023-03-03 13:18:00 +01:00
Nyall Dawson
0c8dbb1d61 Fix some potential overflows in shapeburst fill calculation 2023-03-03 20:07:45 +10:00
signedav
b4de1307ee
Merge pull request #51836 from domi4484/attributeFormDefaultValueAlwaysUpdate
Fix #51543 and make big forms more fluid by reducing calls to updateFieldDependencies
2023-03-03 11:03:47 +01:00
Mathieu Pellerin
301793678d Add some context to obscure warning, reduce message logs noise 2023-03-03 14:54:24 +07:00
Nyall Dawson
06b3678a57 Don't allow users to set maximum thread count for rendering to 1
(This setting can sometimes unwantedly occur when using the same
profile across sessions of newer to very old QGIS versions)

The option is a misleading, as it's actually setting the global
thread limit for the entire QGIS application. If we allow this
to be set to a limit of 1 thread, then deadlocks
occur from the QImage internals in unpredictable ways.
2023-03-03 16:48:34 +10:00
Nyall Dawson
4dad60215a Fix clang warning 2023-03-03 16:20:56 +10:00
Nyall Dawson
3bd3b6e666 Use correct debug level 2023-03-03 16:20:56 +10:00
Nyall Dawson
5d0ce3652e Fix qt warnings when trying to show raster marker with unknown size and missing images 2023-03-03 16:20:56 +10:00
Nyall Dawson
7c97fdb32a Fix some overflows when exporting large files with blur effects 2023-03-03 16:20:56 +10:00