diff --git a/python/plugins/processing/core/GeoAlgorithm.py b/python/plugins/processing/core/GeoAlgorithm.py index 0d1f879af5a..8852e4ad949 100755 --- a/python/plugins/processing/core/GeoAlgorithm.py +++ b/python/plugins/processing/core/GeoAlgorithm.py @@ -341,7 +341,3 @@ def executeAlgorithm(alg, parameters, context=None, feedback=None, model=None): return result, ok #self.convertUnsupportedFormats(context, feedback) #self.runPostExecutionScript(feedback) - - def helpUrl(self): - return QgsHelp.helpUrl("processing_algs/{}/{}".format( - self.provider().id(), self.id())).toString() diff --git a/python/plugins/processing/gui/AlgorithmDialogBase.py b/python/plugins/processing/gui/AlgorithmDialogBase.py index 58d2373d58b..60ac761753c 100644 --- a/python/plugins/processing/gui/AlgorithmDialogBase.py +++ b/python/plugins/processing/gui/AlgorithmDialogBase.py @@ -38,7 +38,7 @@ from qgis.utils import iface from qgis.core import (QgsProject, QgsProcessingFeedback, QgsSettings) - +from qgis.gui import QgsHelp from processing.core.ProcessingConfig import ProcessingConfig @@ -255,6 +255,10 @@ class AlgorithmDialogBase(BASE, WIDGET): def openHelp(self): algHelp = self.alg.helpUrl() + if not algHelp: + algHelp = QgsHelp.helpUrl("processing_algs/{}/{}".format( + self.alg.provider().id(), self.alg.id())).toString() + if algHelp not in [None, ""]: webbrowser.open(algHelp) diff --git a/python/plugins/processing/gui/HelpEditionDialog.py b/python/plugins/processing/gui/HelpEditionDialog.py index f5cea76a22f..7704603bbc3 100644 --- a/python/plugins/processing/gui/HelpEditionDialog.py +++ b/python/plugins/processing/gui/HelpEditionDialog.py @@ -33,7 +33,8 @@ from qgis.PyQt import uic from qgis.PyQt.QtWidgets import QDialog, QTreeWidgetItem from qgis.core import (QgsMessageLog, - QgsProcessingUtils) + QgsProcessingUtils, + QgsProcessingParameterDefinition) from processing.modeler.ModelerAlgorithm import ModelerAlgorithm pluginPath = os.path.split(os.path.dirname(__file__))[0] @@ -90,7 +91,7 @@ class HelpEditionDialog(BASE, WIDGET): s += '
' + self.getDescription(param.name()) + '
\n' s += self.tr('' + self.getDescription(out.name()) + '
\n' return s @@ -101,11 +102,14 @@ class HelpEditionDialog(BASE, WIDGET): parametersItem = TreeDescriptionItem(self.tr('Input parameters'), None) self.tree.addTopLevelItem(parametersItem) for param in self.alg.parameterDefinitions(): + if param.flags() & QgsProcessingParameterDefinition.FlagHidden or param.isDestination(): + continue + item = TreeDescriptionItem(param.description(), param.name()) parametersItem.addChild(item) outputsItem = TreeDescriptionItem(self.tr('Outputs'), None) self.tree.addTopLevelItem(outputsItem) - for out in self.alg.outputs: + for out in self.alg.outputDefinitions(): item = TreeDescriptionItem(out.description(), out.name()) outputsItem.addChild(item) item = TreeDescriptionItem(self.tr('Algorithm created by'), self.ALG_CREATOR) diff --git a/python/plugins/processing/modeler/ModelerDialog.py b/python/plugins/processing/modeler/ModelerDialog.py index 5ba21a064f3..0f57ad7a704 100644 --- a/python/plugins/processing/modeler/ModelerDialog.py +++ b/python/plugins/processing/modeler/ModelerDialog.py @@ -512,6 +512,7 @@ class ModelerDialog(BASE, WIDGET): if isinstance(pos, QPoint): pos = QPointF(pos) component = QgsProcessingModelAlgorithm.ModelParameter(dlg.param.name()) + component.setDescription(dlg.param.name()) component.setPosition(pos) self.model.addModelParameter(dlg.param, component) self.repaintModel() diff --git a/python/plugins/processing/modeler/ModelerGraphicItem.py b/python/plugins/processing/modeler/ModelerGraphicItem.py index 2b822f86636..149e74d6c19 100644 --- a/python/plugins/processing/modeler/ModelerGraphicItem.py +++ b/python/plugins/processing/modeler/ModelerGraphicItem.py @@ -196,6 +196,7 @@ class ModelerGraphicItem(QGraphicsItem): if dlg.param is not None: self.model.removeModelParameter(self.element.parameterName()) self.element.setParameterName(dlg.param.name()) + self.element.setDescription(dlg.param.name()) self.model.addModelParameter(dlg.param, self.element) self.text = dlg.param.description() self.update()