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.