There's something very odd internally happening with
Qt5/antialiasing/clip paths! But setting the antialiasing to false,
setting a clip path, then setting to true causes the final set
to true to be ignored...
Match the rendering of raster layers with clipping paths to the
same appearance as Qt 5, where the clip path forces the raster
to be rendered with antialiasing in order to get nice appearance
along the clip path boundaries
Differences in null/invalid qvariant handling on qt6 meant that
we weren't setting the combobox index to the existing entry
with a null (but not invalid) qvariant user data
The new results are valid -- the small differences in font metric
calculations on qt6 mean that the labels can be placed in closer
locations vs qt 5's placement
The test was only passing on qt5 builds because QMessageBox::exec
was immediately returning false WITHOUT showing the dialog. On
Qt 6 builds the dialog WAS correctly showing, and since its a
blocking dialog it hangs the test.
Workaround by disabling the confirmation dialog when running
as unit tests.
Stabilise the labels shown in the test -- the test is actually
trying to label EVERY country, so the collision avoidance was
limiting to a semi-random set depending on the qt internal hash logic.
Debug enabled qt6 builds crash when QgsAbstractProjectStoredObjectManager
are called, as the base class destructor tries to emit a signal after the
derived class destructor has been executed. This triggers an assert
in Qt6.
We need to explicitly clear the objects in the derived class
destructors, so that the "XXXremoved" signals are emitted from
the derived class destructor in order to avoid this assert.
Adds this new checkbox to vector, raster, mesh and point cloud
layer properties legend tab. Checked by default. Users must
uncheck to exclude that layer from print layout legends by default.
Also adds the legend page for mesh and point cloud layers, with the
generic setting for controlling embedded legend widgets.