Previously the line height was always set in multiples of the
text line spacing. This works fine for rendering text blocks
containing text of all the same sizes, but when we mix
text sizes in the one document then the relative line height
option doesn't cover all use cases. (e.g. when a constant
spacing between lines is desired even when the text on those
lines varies in height)
- make it independent on the current view's Z range
- simplify scaling code
- reverse Z handling (higher Z value == closer to "camera")
- remove unused API functions and member variables
* PointCloudLayerExporter class
* set points limit
* saveas dialog
* qickndirty task
* wip
* add pdal files
* transform context
* add getters
* try to use some subclasses
* use nested classes
* don't default layername
* limit supported formats
* error reporting
* limit formats in gui too
* format filters and source/target crs
* use default infinite extent
* set pdal crs
* add pdrf but keep 3 for now
* properly handle LAZ attributes
* catch coordinate transform exceptions
* use default destructor, fix leak, docs
* trim includes, fix typos
* use qgsspinboxes, add points limit to the gui
* fix limit exporting logic
* avoid auto
* fix builds
* don't reuse lastVectorFormat setting
* Rework layer name handling
* Rage against the elevation
* invert attribute activation logic
* use wkt for laz srs
* use original offset/scale if not reprojecting
* move created memory layer to main thread when done
* allways add memory layer to map
* oops
* properly handle existing vector files
* don't add layer if cancelled
* create the memory layer on the main thread
* remove colon
* remove duplicate code and avoid crashing on mesh and vectortiles
* fix leak
* handle case blunder
* address review
QgsProviderSqlQueryBuilder provides an interface for creation of SQL queries, which
can be overridden for backend provider specific SQL syntax.
Initially add a virtual method for creation of row limited select *
queries.
This method restores the Qt 5 logic for testing for null variants,
where for core Qt types the isNull check is forwarded to the actual
data type.
E.g. on Qt 5: QVariant( QDateTime()).isNull() is true, but
on Qt 6 it's false
This breaks a LOT of assumptions made throughout QGIS. The new
helper method avoids this breakage by ensuring we follow the Qt 5
logic also on Qt 6 builds, and also gives us the option to extend
this logic for user types (e.g QVariant( QgsGeometry() ).isNull() could
return true). (That's not included here)