Do it also in case of datasets that have a single layer, in case they might
later be edited to have more layers
(except for a few drivers known to be always single layer)
If the active layer is not editable, the executor will
try to switch editing on.
If there are no selected features, the executor will
select all features before running.
Fixes an issue identified in the upcoming QGIS Map Design 2nd ed
(spoiler alert!) where it's impossible to utilise label text
substitutions if you also want to use word wrapping.
This isn't possible to directly fix, because we need to evaluate
the full label expression (including the word wrapping component)
in order to actually HAVE text to substitute into.
So, a new setting has been added to the label formatting tab
allowing users to directly set an auto-wrapping line ideal
line size. This is applied AFTER label text evaluation, substitutions,
and the 'wrap text on' character, so it can play correctly well with
all these other settings. This also has the nice side-effect
of making auto label text wrapping more accessible to new
users/those unfamiliar with the wordwrap expression function.
Fixes#20007, and cleans up a chapter of QMD 2ed ;)
At least using the linux sql server driver, time fields are not
correctly automatically converted to QTime variants. Instead
they are returned as a raw byte array containing the value.
Add special handling to ensure that these time values are
read regardless.
(there's already a test in place for this, which was failing
on Linux)
CL/cl2.hpp, which the OpenCL support is based upon, is not always
included with OpenCL on some platforms, e.g. Mac, or not readily
available as a package. This work adds a CMake module specifically for
finding cl2.hpp, as installed by OpenCL-CLHPP project.
If not found, but standard OpenCL lib and headers are, the vendored
cl2.hpp in external/opencl-clhpp is used, as it needs no compilation.
- Only the cl2.hpp, license and README are vendored from OpenCL-CLHPP.
- Fix up referenced includes in other CMake targets, to ensure the
includes for OpenCL are specifically added (previously, they were
sometimes found in existing include directories of other dependencies).
- Fixup for standard FindOpenCL module not assinging proper framework
headers directory for Mac.