4818 Commits

Author SHA1 Message Date
Nyall Dawson
aadfbab40f Split vector tile classes into separate files 2023-03-21 03:49:39 +10:00
Nyall Dawson
8e526353f9 Move toggle comment handling to base QgsCodeEditor class 2023-03-20 16:06:24 +10:00
Nyall Dawson
3312bf1ad2 Move syntax checking capability to QgsCodeEditorPython 2023-03-20 16:06:24 +10:00
Nyall Dawson
069f1a647e Add language capabilities 2023-03-20 16:06:24 +10:00
Denis Rouzaud
d01d2af619 [settings] method to delete all items of a named list 2023-03-20 07:03:52 +10:00
Vincent Cloarec
f6d4ad36a3
fix mesh doc (#52279) 2023-03-17 03:05:42 +00:00
Mathieu Pellerin
75bf0f31a3 Better fix (faster rendering, works for PDF, better during progressive rendering) 2023-03-14 19:07:39 +07: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
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
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
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
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
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
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
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
edfb9764cb Add API to set field split policy for vector layers 2023-03-01 19:30:39 +10:00
Nyall Dawson
34ed6caaac Add split policy to QgsField 2023-03-01 19:30:39 +10:00
Nyall Dawson
141b9efe44 Expand available values for Qgis::FieldDomainSplitPolicy 2023-03-01 19:30:39 +10:00
Nyall Dawson
723ad914d3
Fix some warnings 2023-02-28 09:01:54 +10:00
Julien Cabieces
8f32f07433 Treat review comments
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2023-02-27 09:24:40 +01:00
Julien Cabieces
7a2a252d0d fix doc and typos 2023-02-27 09:24:40 +01:00
Julien Cabieces
f8c1c16ec7 fix duplicate layer 2023-02-27 09:24:40 +01:00
Julien Cabieces
b7d800aed2 fix api doc 2023-02-27 09:24:40 +01:00
Julien Cabieces
906757349e fix text renderer tests 2023-02-27 09:24:40 +01:00
Julien Cabieces
b0cce7ac54 don't deprecate a class, sip fails 2023-02-27 09:24:40 +01:00
Julien Cabieces
11e88ad425 fix documentation 2023-02-27 09:24:40 +01:00
Julien Cabieces
5ff9229a8b fix tests 2023-02-27 09:24:40 +01:00
Julien Cabieces
388c6e3ee6 fix project migration of old reference to new ones 2023-02-27 09:24:38 +01:00
Julien Cabieces
7ed58763ed Fix vector rendering of fill symbol layer 2023-02-27 09:23:19 +01:00
Julien Cabieces
b3af80e3e4 [Selective masking]Fixes #34352 : use QUUid to identify symbol layer
Don't use pointers anymore because there are not stable when it comes
to clone
2023-02-27 09:23:16 +01:00
Nyall Dawson
9815333dd4 Fix using interpolated line symbol layer for polygon outlines
It was doing weird things, and silently reverting back to a blue
simple fill
2023-02-27 17:57:55 +10:00
Denis Rouzaud
238353d380 remove obsolete sip file 2023-02-23 16:07:14 +01:00
Denis Rouzaud
ea53aa3ce2 move settings tree enums to Qgis 2023-02-23 16:07:14 +01:00
Nyall Dawson
2aa484ca23 Move QgsCameraController enums to Qgis, promote to enum class 2023-02-23 13:53:34 +10:00
Martin Dobias
289f47690d
Refactor QgsMapLayer's encodedSource()/decodedSource() (#51901)
Conversion between relative and absolute paths when reading/writing project files
has been inconveniently done in subclasses of QgsMapLayer in encodedSource() and
decodedSource() methods, with a lot of provider specific code.

This is a refactoring to finally fix this - there is a new pair of functions added
to QgsProviderMetadata and QgsProviderRegistry:
- absoluteToRelativeUri()
- relativeToAbsoluteUri()

This new pair of functions delegates the actual conversion between absolute and
relative path to provider code - where it belongs.

The existing code from encodedSource() and decodedSource() functions has been moved
to providers. Unit tests were added to confirm the existing behavior.

There should be no change of behavior apart from removal of old compatibility code
for WMS provider for projects from QGIS < 1.9 (10 years ago).
2023-02-22 17:53:44 +10:00
Nyall Dawson
c6a1a57230 Add some missing documentation 2023-02-22 12:39:21 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Nyall Dawson
ef3c301a34 Fix loss of first color for lineburst symbol layers in GUI
Fixes #51942
2023-02-22 11:32:38 +10:00
Nyall Dawson
19b70a634f Use constexpr for max wkt length 2023-02-21 06:01:44 +10:00
Nyall Dawson
2dc4d04ac0 Add equality operators for QgsReferencedGeometry 2023-02-21 06:01:44 +10:00
Nyall Dawson
ab97a3a1c5 Add since 2023-02-20 17:43:44 +10:00