Introducting MDAL, QgsMeshLayer, mesh data providers (mesh_memory, mdal)
to read and visualize raw meshes: vertices and faces. Support dragging
2dm files from browser on canvas to visualize 2dm meshes.
Support for QgsMeshLayer in Python API.
Required layers are not allowed to be removed from the project.
This adds extra safety to protect project users from removing layers
they may think are not needed (e.g. used in joins, relations, expressions).
Users can set/unset layers that are required in project properties dialog.
Type "bored" into the coordinates box (best results with a map loaded in canvas)
Click on tiles to move them to the empty space.
Click on the empty tile to toggle tile numbers.
Also:
- move doxygen comments to header files so that they get included
in Python docstrings
- remove duplicate doxygen implemented in both header and footer
- remove some redundant doxygen for overridden methods
- add some missing docs
changes
Since this is a view operation, not an edit operation, we don't
mark it as changing the project state. (Much like how loading a
doc in a word processor and scrolling to the last page isn't
changing the document state).
project dirtying for the lifetime of an object
Python code can then call:
project = QgsProject.instance()
with QgsProject.blockDirtying(project):
# do something
Use QgsProjectDirtyBlocker to prevent projects being marked as
dirty while creating a new project or while loading an existing
project -- avoids the titlebar temporarily showing the project
state as unsaved while it is being loaded.
Allows search for spatial bookmarks. Double clicking a search result will zoom to the bookmark.
Short video: https://www.youtube.com/watch?v=ymW4TU8QWy4
The new filter presents itself with a prefix of "b" and with tr( "Spatial bookmarks" ) as displayname.
A bookmark locator filter is added to the built in locator filters (class QgsBookmarkLocatorFilter is added to qgsinbuiltlocatorfilters.cpp). The wiring between the the new filter and QgsBookmarks has been implemented in
* QgisApp::getBookmarkIndexMap() (For reading bookmarks), and
* QgisApp::zoomToBookmarkIndex(const QModelIndex &index) (For navigating to a bookmark)
QgsBookmarks has been slightly refactored