Skip to content

Commit af55e98

Browse files
committed
set droplists if parameter values are already set
as a result you can set some parameters in checkBeforeOpeningParametersDialog and they will be the default in the interface. This is especially usefull when your algo as a lot of parameters that you can gues (eg from layer names)
1 parent 327f561 commit af55e98

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

python/plugins/processing/gui/ParametersPanel.py

+8
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,10 @@ def getWidgetFromParameter(self, param):
213213
items.append((self.NOT_SELECTED, None))
214214
for layer in layers:
215215
items.append((self.getExtendedLayerName(layer), layer))
216+
# if already set, put first in list
217+
for i,(name,layer) in enumerate(items):
218+
if layer and layer.source() == param.value:
219+
items.insert(0, items.pop(i))
216220
item = InputLayerSelectorPanel(items)
217221
elif isinstance(param, ParameterTable):
218222
if self.somethingDependsOnThisParameter(param):
@@ -231,6 +235,10 @@ def getWidgetFromParameter(self, param):
231235
items.append((self.NOT_SELECTED, None))
232236
for layer in layers:
233237
items.append((layer.name(), layer))
238+
# if already set, put first in list
239+
for i,(name,layer) in enumerate(items):
240+
if layer and layer.source() == param.value:
241+
items.insert(0, items.pop(i))
234242
item = InputLayerSelectorPanel(items)
235243
elif isinstance(param, ParameterBoolean):
236244
item = QtGui.QComboBox()

0 commit comments

Comments
 (0)