83594 Commits

Author SHA1 Message Date
Nyall Dawson
3b85d07f08 Fix flake 2023-10-11 11:36:40 +10:00
Nyall Dawson
df1dc0dba2 Fix elevation profile item transparency forces rasterisation of
whole layout, expand unit test coverage
2023-10-11 11:36:40 +10:00
Nyall Dawson
3588d41786 Fix legend item with opacity forces whole layout to rasterize
and expand test coverage of blend modes and opacity with
legend items
2023-10-11 11:36:40 +10:00
Nyall Dawson
d3d1dfde36 Write test report header when run from Python 2023-10-11 11:36:40 +10:00
Nyall Dawson
bc960c5ffa Make TEST_DATA_DIR accessible from python tests 2023-10-11 11:36:40 +10:00
Alessandro Pasotti
03af4e3ca5 Fix crash on value relation multi-column
Fix #54164
2023-10-11 06:49:43 +10:00
Nyall Dawson
0a4796c0c2 Fix draw effect is not immediately enabled when activating group layer
Fixes #51357
2023-10-10 20:03:27 +10:00
Nyall Dawson
93c2a498c1 Fix toggling visibility of group layers resets child layer
mask blend modes

Fixes #53088
Fixes #53057
2023-10-10 20:03:27 +10:00
Nyall Dawson
2d57c99de5 Invisible group layers should not be added to canvas 2023-10-10 20:03:27 +10:00
Nyall Dawson
4d698b04cd Replace bad expected images
These renders were actually wrong -- instead of the whole map item
having transparency, they had transparency applied for each
individual component of the layout map (ie you could incorrectly
see parts of overlapped layers)
2023-10-10 17:26:41 +10:00
Nyall Dawson
85ce6de810 Update test 2023-10-10 17:26:41 +10:00
Nyall Dawson
97a8d013b8 Add optional input on the html test report to allow setting
the path to the local QGIS git folder

When set, update all paths in the report to correspond to this
git folder. This allows the test reports downloaded from github
to be easily updated to point to local git checkouts, instead
of the hardcoded git paths from the github workflow.
2023-10-10 17:26:41 +10:00
Nyall Dawson
18902592c4 Add test mask 2023-10-10 17:26:41 +10:00
Nyall Dawson
329bcc46c5 Embed render checker script in report html instead of linking
to QGIS source code file

Makes the HTML report a bit more self-contained, and unbreaks
this script when viewing report artifacts from github
(image paths are still broken, though!)
2023-10-10 17:26:41 +10:00
Nyall Dawson
071b585b6b Add unit tests for layout map item blend modes 2023-10-10 17:26:41 +10:00
Nyall Dawson
d561a56c25 Fix layout maps force rasterisation of whole layout when map item
has transparency set

This isn't required -- we can safely just rasterise the map alone.

Expand unit tests of layout map opacity.
2023-10-10 17:26:41 +10:00
Nyall Dawson
b2ba30b11d Update test to newer methods 2023-10-10 17:26:41 +10:00
Denis Rouzaud
73def6a1cb auto-cancel running builds on PRs when pushing a new commit 2023-10-10 13:32:40 +10:00
Sandro Santilli
b84393e37d Run shellcheck only on modified shell files 2023-10-09 19:20:08 +02:00
Alexander Bruy
a0fc443b5b add test files 2023-10-09 12:14:20 +02:00
Alexander Bruy
e3023455ca use run() to execute nested algorithms
move step calculation to prepareAlgorithm to avoid crash
disable tests for native implementation
2023-10-09 12:14:20 +02:00
Alexander Bruy
8dbf287b49 use qobject_cast 2023-10-09 12:14:20 +02:00
Alexander Bruy
a4e473392c concave hull tests based on geos version 2023-10-09 12:14:20 +02:00
Alexander Bruy
17426302ff address review 2023-10-09 12:14:20 +02:00
Alexander Bruy
d18190ce4f make cppcheck happy 2023-10-09 12:14:20 +02:00
Alexander Bruy
ea6a706c01 do not create spatial index if preserving attributes is not needed 2023-10-09 12:14:20 +02:00
Alexander Bruy
514e8b5b24 use geos to calculate concave hull on systems with geos >=3.11.0 2023-10-09 12:14:20 +02:00
Alexander Bruy
496d8267cc more verbose label for parameter 2023-10-09 12:14:20 +02:00
Alexander Bruy
5ad4119b19 another attempt to fix test 2023-10-09 12:14:20 +02:00
Alexander Bruy
5097992445 try to fix tests 2023-10-09 12:14:20 +02:00
Alexander Bruy
61b69179af [processing] port concave hull algorithm to C++ 2023-10-09 12:14:20 +02:00
Alexander Bruy
451d1ba5ce [processing] port delaunay triangulation algorithm to C++ 2023-10-09 12:14:20 +02:00
Alexander Bruy
d8243141cc [processing] port voronoi polygons algorithm to C++ 2023-10-09 12:14:20 +02:00
Alessandro Pasotti
9c1201266f
Merge pull request #54687 from elpaso/bugfix-gh54501-cad-floater-regression
CAD fix regression with units
2023-10-09 08:55:38 +02:00
Mathieu Pellerin
a1d984ea9d [ui] Improve title and message wording of the warning dialog when saving a project with a last modification date not matching the file on disk 2023-10-09 13:18:54 +07:00
Nyall Dawson
58c13215c4 Spelling 2023-10-09 14:14:03 +10:00
Nyall Dawson
3eca7e2e83 Wait for task termination 2023-10-09 14:14:03 +10:00
Nyall Dawson
f9fc9df1c4 Don't warn on failure to calculate point cloud stats if task was explicitly cancelled 2023-10-09 14:14:03 +10:00
Nyall Dawson
79b03ffefb Release thread from thread pool while QgsProxyProgressTask is running
This allows it to be used by other pending tasks from the task manager
while the proxied operation is pending (since the proxy progress task
thread isn't actually DOING anything while this happens)
2023-10-09 14:14:03 +10:00
Nyall Dawson
7d33d327ad Use a dedicated thread pool for task manager
This avoids conflicts with Qt3D framework. As noted in
https://github.com/qgis/QGIS/issues/50067#issuecomment-1318081784
"The constructor and destructor of QChangeArbiter require the use of
**every** thread in the Qt thread pool."

This causes hangs when exporting layouts containing 3d maps. We
have threads from task manager in use from elsewhere, so the
application deadlocks waiting for every thread to be freed so
that QChangeArbiter can do its thing.

So, use a new dedicated thread pool for task manager's exclusive
use. This avoids the hang when exporting 3d maps as it avoids
the deadlock between task manager and Qt3D's requirements.

(A side benefit is that we don't get delayed map rendering when
the number of queued/running tasks hits the max thread count
from the global thread pool.)

Fixes #50067
2023-10-09 14:14:03 +10:00
Nyall Dawson
9963cb5095 Fix incorrect assert when opening gdal datasets in more places 2023-10-09 13:30:22 +10:00
Nyall Dawson
79b4353a9a Add test for highlighting a very transparent symbol
Refs #54830
2023-10-09 13:02:42 +10:00
Nyall Dawson
058440d43a Add test mask 2023-10-09 13:02:42 +10:00
Nyall Dawson
4711ed51e8 Cleanup and modernize QgsHighlight test 2023-10-09 13:02:42 +10:00
Nyall Dawson
b36e555e68 When mapping color for rendering highlighted (identified) features,
don't allow pixels which were previously non-transparent to become
totally transparent.

This can result in invisible highlights for very transparent symbols.

Fixes #54830
2023-10-09 13:02:42 +10:00
Sandro Santilli
fe1d167d9f Have prepare_commit always run spell and shell checkers when possible
Print warnings if requirements are not met
2023-10-09 04:01:33 +02:00
Nyall Dawson
9875536cab Fix initial zoom level when opening layout designer windows
Fixes #44421
2023-10-09 11:52:11 +10:00
Nyall Dawson
be199a12bd Avoid loss of attributes when calculating fields
Correctly bail out when field calculation bar expression is invalid
instead of nulling fields.

Fixes #47385
2023-10-09 10:56:21 +10:00
Nyall Dawson
8c48244fe3
Restore output of gdal/proj/geos detected versions from cmake 2023-10-09 08:52:42 +10:00
Jean Felder
9af667bc6c qgs3daxissettings: Correctly read viewport ratio on a saved project
When loading a project which contains a 3D view, the 3D axis is not
visible even when it is supposed to be displayed. This is because the
min and max viewport ratio settings are always equal to 0 on a saved
project. Indeed, these settings are supposed to handle the 3D axis
visibility when the 3D view size changes: the axis are hidden when the
view becomes too small.
These ratio are stored as double between 0 and 1. However, the logic
which reads these parameters from a saved
project (`Qgs3DAxisSettings::readXml`) parses them as
integer. Therefore, the min and max ratio are always equal to 0. Then,
the 3D axis visibility test is always false and the 3D axis are always
hidden.

This issue is fixed by changing `Qgs3DAxisSettings::readXml` to read
the ratios as double.
2023-10-09 06:40:49 +10:00