diff --git a/python/plugins/sextante/core/GeoAlgorithm.py b/python/plugins/sextante/core/GeoAlgorithm.py index d8c7d04d9db5..20b4f95c359e 100644 --- a/python/plugins/sextante/core/GeoAlgorithm.py +++ b/python/plugins/sextante/core/GeoAlgorithm.py @@ -319,7 +319,7 @@ def getVisibleOutputsCount(self): if not out.hidden: i+=1 return i; - + def getVisibleParametersCount(self): '''returns the number of non-hidden parameters''' i = 0; @@ -328,6 +328,14 @@ def getVisibleParametersCount(self): i+=1 return i; + def getHTMLOutputsCount(self): + '''returns the number of HTML outputs''' + i = 0; + for out in self.outputs: + if isinstance(out, OutputHTML): + i+=1 + return i; + def getOutputValuesAsDictionary(self): d = {} for out in self.outputs: diff --git a/python/plugins/sextante/gui/AlgorithmExecutionDialog.py b/python/plugins/sextante/gui/AlgorithmExecutionDialog.py index d9a22edce1e6..e3debf2b2046 100644 --- a/python/plugins/sextante/gui/AlgorithmExecutionDialog.py +++ b/python/plugins/sextante/gui/AlgorithmExecutionDialog.py @@ -99,8 +99,8 @@ def __init__(self, alg, mainWidget): self.logText.readOnly = True useThreads = SextanteConfig.getSetting(SextanteConfig.USE_THREADS) keepOpen = SextanteConfig.getSetting(SextanteConfig.KEEP_DIALOG_OPEN) - if useThreads or keepOpen: - self.tabWidget.addTab(self.logText, "Log") + #if useThreads or keepOpen: + self.tabWidget.addTab(self.logText, "Log") self.webView = QtWebKit.QWebView() cssUrl = QtCore.QUrl(os.path.join(os.path.dirname(__file__), "help", "help.css")) self.webView.settings().setUserStyleSheetUrl(cssUrl) @@ -216,11 +216,13 @@ def accept(self): return msg = self.alg.checkParameterValuesBeforeExecuting() if msg: - if keepOpen or useThread: - self.setInfo("Unable to execute algorithm: %s" % msg, True) - self.tabWidget.setCurrentIndex(1) # log tab - else: - QMessageBox.critical(self, "Unable to execute algorithm", msg) + #=============================================================== + # if keepOpen or useThread: + # self.setInfo("Unable to execute algorithm: %s" % msg, True) + # self.tabWidget.setCurrentIndex(1) # log tab + # else: + #=============================================================== + QMessageBox.critical(self, "Unable to execute algorithm", msg) return self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(False) self.buttonBox.button(QtGui.QDialogButtonBox.Close).setEnabled(False) @@ -303,6 +305,8 @@ def finish(self): self.close() else: self.resetGUI() + if self.alg.getHTMLOutputsCount() > 0: + self.setInfo("HTML output has been generated by this algorithm.\nOpen the SEXTANTE results dialog to check it.") @pyqtSlot(str) def error(self, msg):