diff --git a/python/plugins/processing/modeler/EditModelAction.py b/python/plugins/processing/modeler/EditModelAction.py index ef7652bec43..c51360a4b31 100644 --- a/python/plugins/processing/modeler/EditModelAction.py +++ b/python/plugins/processing/modeler/EditModelAction.py @@ -26,9 +26,11 @@ __copyright__ = '(C) 2012, Victor Olaya' __revision__ = '$Format:%H$' from qgis.PyQt.QtCore import QCoreApplication -from qgis.core import QgsApplication, QgsProcessingModelAlgorithm +from qgis.core import QgsApplication, QgsProcessingModelAlgorithm, QgsMessageLog from processing.gui.ContextAction import ContextAction from processing.modeler.ModelerDialog import ModelerDialog +from qgis.core import Qgis +from qgis.utils import iface class EditModelAction(ContextAction): @@ -41,9 +43,13 @@ class EditModelAction(ContextAction): def execute(self): alg = self.itemData - dlg = ModelerDialog(alg) - dlg.update_model.connect(self.updateModel) - dlg.show() + ok, msg = alg.canExecute() + if not ok: + iface.messageBar().pushMessage("Cannot edit model:", msg, level=Qgis.Warning) + else: + dlg = ModelerDialog(alg) + dlg.update_model.connect(self.updateModel) + dlg.show() def updateModel(self): QgsApplication.processingRegistry().providerById('model').refreshAlgorithms()