80865 Commits

Author SHA1 Message Date
Nyall Dawson
01a995ab5f Fix crashes when interacting with QGIS after a shortcut/action
is destroyed

Most notably happens when the following workflow occurs:
- A plugin adds some actions to QGIS
- The plugin gets reloaded
- Copy some text anywhere in QGIS

We can't safely call "sender()" for QObjects which are partially/
fully destroyed, so use a safer approach to clean up old shortcuts/
actions.

Fixes #52146
2023-03-15 13:45:58 +10:00
Vincent Cloarec
e0e63867f1
fix Global Map Shading z factor value #52189 (#52213)
* fix #52189

* replace QString::number with qgsDoubleToString
2023-03-14 20:57:58 -04:00
signedav
97d3f7fa46
Merge pull request #52165 from signedav/operator_tags
Fix tags to be considered in `registerItem` of operators
2023-03-14 09:10:35 +01:00
Mathieu Pellerin
45f54b64c3
Merge pull request #52198 from nirvn/qgsziputils_imp
[api] Add a new QgsZipUtils's files() function and a unzip() parameter to skip consistency check
2023-03-14 14:07:10 +07:00
Nyall Dawson
f77c4c84d8 Fix incorrect legend key entries are returned for rule based
renderers with else rules

Fixes map based legend filtering with some rule based renderers
2023-03-14 17:03:29 +10:00
Nyall Dawson
0b0a95f8d7
Update src/gui/qgsexpressiontreeview.cpp 2023-03-14 09:55:41 +10:00
Tom Kralidis
c2b60acb09 fix geometry ref 2023-03-14 08:27:10 +10:00
Tom Kralidis
2bbbe19d13 MetaSearch: update paging parameters for OGC API - Records 2023-03-14 08:27:10 +10:00
Jean Felder
56767da076 quantizedmeshterraingenerator: Remove unused setBaseTileFromExtent()
It has never been used.
2023-03-14 08:20:30 +10:00
Nyall Dawson
b39c389cd9 Fix version numbers 2023-03-14 04:24:19 +10:00
Nyall Dawson
2f0060c5dc [layouts] Use a background thread to filter legend content by map
Avoids potentially massive UI hangs while working with layouts
with filtered legends.

Fixes #51233
Fixes #48326
Fixes #51455
Fixes #51452
2023-03-14 04:24:19 +10:00
Nyall Dawson
885c0b6136 Add a "refreshing" icon overlay for layout items which are
being redrawn/updated in the background

Gives immediate visual feedback to users that the current appearance
of those items are outdated and to wait while they update.
2023-03-14 04:24:19 +10:00
Nyall Dawson
bf11dc1777 Add layer tree signals for hit test started/completed, and methods
to determine whether a background hit test is in progress and
block while it completes
2023-03-14 04:24:19 +10:00
Jean Felder
c28a4d9b49 tests: reorganize 3d cmakelists by alphabetical order 2023-03-14 03:53:22 +10:00
Jean Felder
fa8b8ed5af tests: add a test for QgsTilingScheme 2023-03-14 03:53:22 +10:00
Matthias Kuhn
0ed927b29a
Merge pull request #52183 from domi4484/dontHandleDuplicateWidgetsValueChanged 2023-03-13 17:00:59 +01:00
Alessandro Pasotti
913d8cc527
Merge pull request #52010 from pathmapper/prev_next_links
[server/OAPIF] Fix prev/next links
2023-03-13 12:56:51 +01:00
Mathieu Pellerin
4caeb63a4c [api] Add useful ZIP files listing function to QgsZipUtils 2023-03-13 16:36:06 +07:00
Mathieu Pellerin
6234731f10 [api] Add a new QgsZipUtils::unzip() parameter to skip consistency check 2023-03-13 15:15:49 +07:00
Yoann Quenach de Quivillic
1f25b41d79 Fix duplicated newline on save (windows) 2023-03-13 14:49:32 +10:00
Even Rouault
d1edbc8fdf Use gdal::dataset_unique_ptr to store return of GDALOpenEx() (fixes #52052)
This avoids an implicit case from OGRDataSourceH to GDALDatasetH, that
doesn't work with all compilers
2023-03-13 14:35:12 +10:00
signedav
8eb94f267b make operator name and expression more dynamic. E.g. '[ ]' value has no leading and tailing space. 2023-03-12 21:51:09 +01:00
Damiano Lombardi
c267084629 Don't handle valueChanged for each duplicate widget 2023-03-10 21:20:14 +01:00
Even Rouault
bbe6cfbeef
Merge pull request #52156 from rouault/fix_use_of_uninitialized_var
QgsMapToolFillRing::fillRingUnderPoint(): fix -Wmaybe-uninitialized warning
2023-03-09 20:46:09 +01:00
signedav
6b5e854dd7 pass tags to registerItem so we can find e.g. '/' and '%' by writing "division" fixes #52157 2023-03-09 13:50:58 +01:00
Even Rouault
7961372204
fillRingUnderPoint(): update test to detect if FID is set 2023-03-09 09:59:04 +01:00
Alessandro Pasotti
baea1e8927
Merge pull request #52150 from elpaso/bugfix-gh51934-filtered-gpkg-transaction-group
OGR: fix transaction issue with filtered GPKGs
2023-03-09 09:31:01 +01:00
Nyall Dawson
db3a08b692
Update src/app/qgsmaptoolfillring.cpp 2023-03-09 14:33:08 +10:00
Even Rouault
79400162b0
QgsMapToolFillRing::fillRingUnderPoint(): fix -Wmaybe-uninitialized warning 2023-03-09 00:10:47 +01:00
Alessandro Pasotti
8a5f2c5c86 OGR: reset the data source subset string
Fix #51934 by resetting the data source subset string filter,
in case it was changed by a previous request.
2023-03-08 15:40:37 +01:00
Nyall Dawson
96f5d6a937 Add some test for QgsMapHitTest 2023-03-08 19:28:18 +10:00
Nyall Dawson
ea7d4b9e01 Rename method for clarity 2023-03-08 19:28:18 +10:00
Nyall Dawson
b1518d2057 Fix clang warning 2023-03-08 19:28:18 +10:00
Nyall Dawson
793915fb2d Fix clang tidy warnings 2023-03-08 19:28:18 +10:00
Nyall Dawson
bcea91385d Documentation 2023-03-08 19:28:18 +10:00
Nyall Dawson
3f6a476420 Fix documentation warning 2023-03-08 19:28:18 +10:00
Nyall Dawson
b9ffb10f38 Start legend update immediately when render starts instead of when
it finishes

Since the operation is now executed in a background thread, we
may as well get it processing at the same time as the render
occurs
2023-03-08 19:28:18 +10:00
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
Alessandro Pasotti
7cd936eafe Unfinished attempt to fix #51934 2023-03-08 10:22:43 +01: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