A few releases ago a bug fix was implemented which forced conversions
of multi-layer sources. This was a valid bug fix, but the consequence
was that any algorithm using this api with a source file containing
multiple layers (e.g. gpkg) performed a complete copy of the target
layer to a new file, severely impacting performance.
This commit adds new API to retrieve a compatible layer path in the
case when an algorithm CAN correctly handle specific target layer names.
In this case, the forced copy of the source layer is avoided when
using multi-layer inputs like geopackage.
This extra information is added with the hope it'll add
value to issues reporting when people are pasting the
content of the about dialog's text box.
Specifically, it'll allow people reviewing newly filed
issues to know whether 3rd-party plugins were active or
not without the need of asking: "did you deactivate
plugins?".
While the model was correctly returning the right values for the
font/color/decoration roles, these were not being utilised by
the delegate and had no impact on the rendering of the list.
in QgsConditionalStyle
Otherwise we can't differentiate a "not set" value from a "set but
transparent" value. And this use case is exactly why invalid QColor
states exist.
a single layer, place additional limits on the maximum number of
labeling candidates to generate for features in this layer
Helps avoid extreme labeling times (e.g. on my test project with
some 3000 point features being registered for labeling, the labeling
time cuts from 30 seconds to 3 seconds). There should be no loss
in quality here either, given that the labeling placement solution
for any map with this many labels is always going to be quasi-random
anyway (and is likely never going to be a cartographic masterpiece....)
in vector split algorithm
The created outputs will now be created using the format specified from
the Processing setting default vector format setting.
These methods return a file extension to use when creating vector/raster outputs (e.g. "tif"). Generally,
it is preferable to use the extension associated with a particular parameter, which can be retrieved through
QgsProcessingDestinationParameter::defaultFileExtension(). However, in some cases, a specific parameter
may not be available to call this method on (e.g. for an algorithm which has only an output folder parameter
and which creates multiple output layers in that folder). In this case, the format returned by this
function should be used when creating these outputs.
It is the algorithm's responsibility to check whether the returned format is acceptable for the algorithm,
and to provide an appropriate fallback when the returned format is not usable.
output format
This setting is still used and required in some circumstances, e.g.
it is used as the default selection in outputs file pickers when
the previously used format is not valid.