geometries
GREATLY speeds up rubber band creation for many geometries, resulting
in consequent speed ups to the move features tool, rotate features tool,
....
add an explicit log level getter/setter to QgsProcessingContext which
algorithms can use to determine an appropriate level of feedback
to push to users.
Initially the verbose log only triggers the full verbose output
of model executions (which is also used when running models through
the model designer), but the intention is that more algorithms
will fine tune their output based on the logging level.
qgis_process also gains a new --verbose switch to enable verbose
log output.
save changes
Regardless of the reason why the saving failed, a message about
invalid JSON was always shown... which is totally confusing for
users when a table has NO json fields or values (ノ`Д´)ノ
like the user has made a selection, but they've only selected one
of the projection category headings and so when they click OK they
see no change.
Now instead we disable the OK button in this dialog whenever the
user has a non-crs list item selected.
which line symbol layer settings to show
Fixes fill symbol only related properties (like ring filters) show
for line symbols in some contexts.
Fixes#33398Fixes#24131
This is useful when one wants to follow what exactly is happening
with map canvas rendering. We already have renderStarting() signal
when a job is started and mapCanvasRefreshed() signal when a job
has finished, but there was no notification if the pending job
got cancelled (for example because used moved/zoomed the map).
easily to a layout
The new "Add Item" -> "Dynamic Text" menu contains a bunch of preset
handy dynamic text expressions which users can use to insert a label
automatically containing the corresponding expression. E.g.
Add Item -> Dynamic Text -> Layout Name
will insert a label containing the expression [% @layout_name %].
This raises discoverability and user-friendliness of inserting
dynamic labels
This renderer merges (or unions/dissolves) the line or polygon features
from a layer prior to rendering them. It's useful for rendering
a polygon layer with overlapping features as one single "coverage" feature,
or a line layer consisting of many smaller component line features
using a regularly spaced marker line or similar.
Internally, this just moves the guts of the existing inverted polygons
renderer to a new base class, as that renderer already had an option
to merge features prior to rendering. Basically it just exposes a new
renderer to users which is the inverted polygon renderer without
the inversion step!