master authentication password and store in keychain
This avoids the need for users to manually create a pw, and makes
things MUCH nicer for plugins which want to utilise the secure
authentication framework.
Right now the options for plugins are:
1. Create a auto generated password themselves and force it on
the user (basically what we are doing here automatically now)
2. Show a confusing/scary message to users asking them to set
a master password. From my experience users have NO idea what
this means and consider it a QGIS bug.
These don't exist on the backend, so just hide them from the builder
dialog to avoid user confusion.
(Note that it's impossible to show the actual non-proxy fields
here, as we can ONLY show fields with types compatible with native
QGIS field types in this dialog)
Fixes#59528
Until now, chunk bounds entity used axis-aligned bboxes in world coordinates (floats)
We are switching to bboxes in map coordinates (doubles) and we use
QgsGeoTransform to react correctly when the origin vector changes.
QgsChunkedEntity gets a capability to update an existing sub-entity for a node
by loading the node again, creating a new 3D entity, and then discarding the old
entity in favor of the new one.
QgsPointCloudLayer gets a new signal - emitted whenever a particular node's
attribute values get changed.
These two are combined for point cloud layer's 3D chunked entity: whenever there
are edits to the point cloud data, instead of doing big hard reload of the whole
point cloud, we only update entities of the few nodes that were modified.
This greatly improves the user experience of point cloud editing (no "flashing"
of the 3D view while loading everything from scratch), and it improves how quickly
the changes can be seen.
* cannot return min max if triangular mesh does not exist
* only create QgsRenderedLayerStatistics if values changed to prevent loop in rendering
* this was set from two places, remove it from here
* Revert "this was set from two places, remove it from here"
This reverts commit 5d8fbcc321330f1054e5e07cad2ee70c0f9aa661.
* add test case for not existing triangular mesh
* only emit signals here, everything else is handled in renderer creation (avoids double rendering of the mesh layer)
* while updating the widget the component signals need to be blocked
* do not update render here
* add const
* 3D map should not update layer statistics
* update renderer settings from here, signals are emitted from mesh layer
* update test to simulate main canvas extent update
* do rendering in single pass
* emit renderer changed and remove emit of legendChanged
This allows to define a custom tolerance. If this tolerance is
enabled, then this tolerance is used instead of the one defined in the
elevation profile widget.
This custom tolerance is enabled and set to 0 by default for Lines and
Polygons. Indeed, most of the time, only want to use the tolerance for
points.