Skip to content

Commit c491c01

Browse files
committedOct 5, 2016
[processing] changes to allow custom parameter dialog adapt to new parameter architecture
1 parent dfb4cdd commit c491c01

File tree

6 files changed

+18
-17
lines changed

6 files changed

+18
-17
lines changed
 

‎python/plugins/processing/algs/gdal/GdalAlgorithmDialog.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ def __init__(self, alg):
4040
AlgorithmDialogBase.__init__(self, alg)
4141

4242
self.alg = alg
43-
44-
self.mainWidget = GdalParametersPanel(self, alg)
45-
self.setMainWidget()
43+
44+
self.setMainWidget(GdalParametersPanel(self, alg))
4645

4746
cornerWidget = QWidget()
4847
layout = QVBoxLayout()
@@ -56,10 +55,6 @@ def __init__(self, alg):
5655

5756
self.mainWidget.parametersHaveChanged()
5857

59-
QgsMapLayerRegistry.instance().layerWasAdded.connect(self.mainWidget.layerAdded)
60-
QgsMapLayerRegistry.instance().layersWillBeRemoved.connect(self.mainWidget.layersWillBeRemoved)
61-
62-
6358
class GdalParametersPanel(ParametersPanel):
6459

6560
def __init__(self, parent, alg):

‎python/plugins/processing/algs/qgis/ui/FieldsMapperDialogs.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,7 @@ def __init__(self, alg):
9898

9999
self.alg = alg
100100

101-
self.mainWidget = FieldsMapperParametersPanel(self, alg)
102-
self.setMainWidget()
101+
self.setMainWidget(FieldsMapperParametersPanel(self, alg))
103102

104103
def setParamValue(self, param, widget, alg=None):
105104
if isinstance(param, ParameterFieldsMapping):

‎python/plugins/processing/gui/AlgorithmDialog.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ def __init__(self, alg):
6969

7070
self.alg = alg
7171

72-
self.mainWidget = ParametersPanel(self, alg)
73-
self.setMainWidget()
72+
self.setMainWidget(ParametersPanel(self, alg))
7473

7574
self.cornerWidget = QWidget()
7675
layout = QVBoxLayout()
@@ -82,8 +81,6 @@ def __init__(self, alg):
8281
self.cornerWidget.setLayout(layout)
8382
self.tabWidget.setCornerWidget(self.cornerWidget)
8483

85-
QgsMapLayerRegistry.instance().layerWasAdded.connect(self.mainWidget.layerRegistryChanged)
86-
QgsMapLayerRegistry.instance().layersWillBeRemoved.connect(self.mainWidget.layerRegistryChanged)
8784

8885
def runAsBatch(self):
8986
self.close()

‎python/plugins/processing/gui/AlgorithmDialogBase.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
from qgis.PyQt.QtNetwork import QNetworkRequest, QNetworkReply
3636

3737
from qgis.utils import iface
38-
from qgis.core import QgsNetworkAccessManager
38+
from qgis.core import QgsNetworkAccessManager, QgsMapLayerRegistry
3939

4040
from processing.core.ProcessingConfig import ProcessingConfig
4141

@@ -122,8 +122,15 @@ def closeEvent(self, evt):
122122
self.settings.setValue("/Processing/dialogBase", self.saveGeometry())
123123
super(AlgorithmDialogBase, self).closeEvent(evt)
124124

125-
def setMainWidget(self):
125+
def setMainWidget(self, widget):
126+
if self.mainWidget is not None:
127+
QgsMapLayerRegistry.instance().layerWasAdded.disconnect(self.mainWidget.layerRegistryChanged)
128+
QgsMapLayerRegistry.instance().layersWillBeRemoved.disconnect(self.mainWidget.layerRegistryChanged)
129+
self.mainWidget = widget
126130
self.tabWidget.widget(0).layout().addWidget(self.mainWidget)
131+
QgsMapLayerRegistry.instance().layerWasAdded.connect(self.mainWidget.layerRegistryChanged)
132+
QgsMapLayerRegistry.instance().layersWillBeRemoved.connect(self.mainWidget.layerRegistryChanged)
133+
127134

128135
def error(self, msg):
129136
QApplication.restoreOverrideCursor()

‎python/plugins/processing/gui/BatchAlgorithmDialog.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ def __init__(self, alg):
5656

5757
self.setWindowTitle(self.tr('Batch Processing - %s') % self.alg.name)
5858

59-
self.mainWidget = BatchPanel(self, self.alg)
60-
self.setMainWidget()
59+
self.setMainWidget(BatchPanel(self, self.alg))
6160

6261
self.textShortHelp.setVisible(False)
6362

‎python/plugins/processing/gui/BatchPanel.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def __init__(self, parent, alg):
8888
self.fillParameterValues)
8989

9090
self.initWidgets()
91+
92+
93+
def layerRegistryChanged(self):
94+
pass
9195

9296
def initWidgets(self):
9397
# If there are advanced parameters — show corresponding button

0 commit comments

Comments
 (0)
Please sign in to comment.