QStyle::standardPixmap is deprecated and not hi-dpi friendly.
Unfortunately, there's no equivalent of QIcon::addPixmap
for QIcons themselves -- so it's **impossible** in current Qt
API to handle the ON/OFF icon states.
Believe me... there's NOOOOOOO way. I've looked. I've tried.
It's not possible.
This means we have to change the logic for showing open/closed
folders in browser. This commit revises the logic to show the
open icon for any *populated* folders, regardless of whether
they are opened or not.
..and make progress bar more accurate.
Use a spatial index to avoid comparing every feature to every other
feature, and only compare against features with intersecting bounding
boxes instead. Also optimise feature requests and loop logic.
Benchmarks:
Point layer, 6000k features
Before: 30 seconds
After: 0.15 seconds
Point layer, 45k features
Before: > 10 minutes
After: 7 seconds
Fixes#19973
Avoid conversion to/from WKB at OGR/QGIS side, and just directly
utilise OGR geometry API to construct QGIS geometries.
Shaves ~10% off rendering time for a large point layer (GPKG)
Fixed#19795 QGIS Server 3 / WMS: the SLD parameter support has been removed
To reactivate SLD parameter support, we add a new conversion capability in server parameter `toUrl`. And the capabilty to load the content associted to an URL.
Then if the SLD parameter is defined, the content is loaded and the SLD_BODY is set.
The issue was that during drag&drop, we first connect to layer's signal
for the second time, but then the disconnect() call on removal of the original
layer node would disconnect all connections (not just one). For that reason
now we only connect/disconnect when the layer is in the tree only once.
to control if changes can be saved or not. This signal is emitted before a layer is being saved and if a connected slot marks the canCommit variable as False, the layer will not be saved
Fixes an unreported bug where it was possible to select a layer tree group
and remove even when it contained required layers.
When removing layers/groups, the following checks will now also recursively
test layers and not just directly selected layers:
- test for layers with unsaved changes
- test for layers with active tasks running in background