[processing] automatically open results viewer panel when items added

This commit is contained in:
nirvn 2018-02-12 17:36:12 +07:00 committed by Mathieu Pellerin
parent 207a94738d
commit 4ada4989e5
2 changed files with 11 additions and 3 deletions

View File

@ -180,8 +180,6 @@ class ProcessingPlugin:
self.iface.addDockWidget(Qt.RightDockWidgetArea, self.resultsDock)
self.resultsDock.hide()
resultsList.resultAdded.connect(self.resultsDock.fillTree)
self.menu = QMenu(self.iface.mainWindow().menuBar())
self.menu.setObjectName('processing')
self.menu.setTitle(self.tr('Pro&cessing'))

View File

@ -32,6 +32,7 @@ from qgis.PyQt import uic
from qgis.PyQt.QtCore import (QUrl,
QFileInfo,
QDir)
from qgis.gui import QgsDockWidget
from qgis.PyQt.QtGui import QDesktopServices
from qgis.PyQt.QtWidgets import QTreeWidgetItem
@ -42,12 +43,14 @@ WIDGET, BASE = uic.loadUiType(
os.path.join(pluginPath, 'ui', 'resultsdockbase.ui'))
class ResultsDock(BASE, WIDGET):
class ResultsDock(QgsDockWidget, WIDGET):
def __init__(self):
super(ResultsDock, self).__init__(None)
self.setupUi(self)
resultsList.resultAdded.connect(self.addResult)
self.treeResults.currentItemChanged.connect(self.updateDescription)
self.treeResults.itemDoubleClicked.connect(self.openResult)
@ -56,6 +59,13 @@ class ResultsDock(BASE, WIDGET):
self.fillTree()
def addResult(self):
self.fillTree()
# Automatically open the panel for users to see output
self.setUserVisible(True)
self.treeResults.setCurrentItem(self.treeResults.topLevelItem(0))
def fillTree(self):
self.treeResults.blockSignals(True)
self.treeResults.clear()