This is a mix of additions and updates for the initial support of globe mode
in 3D views within QGIS desktop app. Many things are still missing, and will
be introduced in later PRs...
Something internal in KDE itself adds child QObjects to menus, so the
code which tries to find the last action in the menu fails and returns
a QObject instead of a QAction, leading to an exception in the
insertAction call.
This is all too fragile anyway, so avoid it by:
- Just creating the models menu directly in the ui
- Exposing this via interface for use in the processing plugin
Now there's no risk of this code breaking in future if the Project
menu is re-arranged.
Sets whether changes to the active layer should be temporarily
blocked. Exposes a previously private optimisation for use
by plugins.
This is a low-level method, designed to avoid unnecessary work when adding lots
of layers at once. Clients which will be adding many layers may call blockActiveLayerChanges( TRUE ) upfront,
add all the layers, and then follow up with a call to blockActiveLayerChanges( FALSE ). This will defer emitting
the active layer changed signal until they've added all layers, and only emit the signal once for
the final layer added.