- when some "extra" vertices are selected when moving a vertex, their coincident
vertices will be also moved (#20158)
- when moving an edge, coincident vertices to its endpoints will be also moved
- new tests to cover the above scenarios
- made the code hopefully easier to read
Added a check for layer.isValid in relation.isValid, keep
relations in the manager even if they are not valid and
connect dataSourceChanged with updateRelationStatus
... and to count them
Tests updated accordingly, note that from now on
the assumption that a layer store or a layer project
contains only valid layers will not be true anymore.
To be honest it has never been true, because a
layer can become invalid at any time during
its life cycle, so better never assume that a
layer from the store or from the project is vaid.
These providers will be used to control how the browser data items
behave within GUI, and to allow separation of GUI related
properties of browser items from the core code.
A new registry QgsDataItemGuiProviderRegistry has been created
(modeled off QgsDataItemProviderRegistry), with an application
wide instance available from QgsGui::instance()->dataItemGuiProviderRegistry()
When adding a vertex to a segment that is coincident with some other
segments and topological editing is enabled, vertex tool will now correctly
add new vertex also the coincident segments to preserve shared borders.
within browser
Allows QGIS project file items inside the browser to be expanded,
showing the full layer tree (including groups) contained within
that project. Layers are shown as normal layer items, allowing
them to be easily added to the current project via drag and drop
or double click. Additionally, because they are treated just
the same as any other layer items in the browser, they can be
drag and dropped within the browser to e.g. directly copy the
layer to a geopackage file!
TODO: apply layer symbology from project file when adding a
layer from a different project to the current project
item creation and override default project file handling
If no provider is registered which handles QGIS project files,
then the default behavior is used as a fallback