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!
This adds api in the provider gui to allow a provider to create a custom
widget which exposes options to customise and change the layer's source.
E.g. a file based layer provider could expose a widget for selecting
a new file path, and an online one could expose widgets for changing
the host, authentication, etc.
This has MANY benefits:
- Shows the merged feature service/map service view we use in browser
- Avoids the HUGE main thread ui hang when connecting to servers with
many layers (could be 20 mins+ for some services)
- Avoids bombing out and showing incomplete lists when a server reports
an error when connecting to any of the services it advertises (happens
often)
For same reason as we do in Processing registry:
(from the comments included in this commit)
"
While it seems like /Factory/ would be the correct annotations here, that's not
the case.
As per Phil Thomson's advice on https://www.riverbankcomputing.com/pipermail/pyqt/2017-July/039450.html:
"
/Factory/ is used when the instance returned is guaranteed to be new to Python.
In this case it isn't because it has already been seen when being returned by QgsProcessingAlgorithm::createInstance()
(However for a different sub-class implemented in C++ then it would be the first time it was seen
by Python so the /Factory/ on create() would be correct.)
You might try using /TransferBack/ on create() instead - that might be the best compromise.
"