Skip to content

Commit 8303b94

Browse files
committed
[processing] Fix optional layer parameters are filled by default
Refs #17471 Not a full fix for 17471 - that requires handling of optional numeric values too
1 parent 0fcbeb7 commit 8303b94

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

python/plugins/processing/gui/wrappers.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -708,8 +708,6 @@ def createWidget(self):
708708
layout.addWidget(btn)
709709

710710
widget.setLayout(layout)
711-
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
712-
self.combo.setAllowEmptyLayer(True)
713711
if ProcessingConfig.getSetting(ProcessingConfig.SHOW_CRS_DEF):
714712
self.combo.setShowCrs(True)
715713

@@ -720,6 +718,10 @@ def createWidget(self):
720718
except:
721719
pass
722720

721+
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
722+
self.combo.setAllowEmptyLayer(True)
723+
self.combo.setLayer(None)
724+
723725
self.combo.currentIndexChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
724726
self.combo.currentTextChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
725727
return widget
@@ -907,15 +909,17 @@ def createWidget(self):
907909
except:
908910
pass
909911

910-
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
911-
self.combo.setAllowEmptyLayer(True)
912912
if ProcessingConfig.getSetting(ProcessingConfig.SHOW_CRS_DEF):
913913
self.combo.setShowCrs(True)
914914

915915
if filters:
916916
self.combo.setFilters(filters)
917917
self.combo.setExcludedProviders(['grass'])
918918

919+
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
920+
self.combo.setAllowEmptyLayer(True)
921+
self.combo.setLayer(None)
922+
919923
self.combo.layerChanged.connect(self.layerChanged)
920924
return widget
921925

@@ -1179,8 +1183,6 @@ def createWidget(self):
11791183

11801184
if ProcessingConfig.getSetting(ProcessingConfig.SHOW_CRS_DEF):
11811185
self.combo.setShowCrs(True)
1182-
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
1183-
self.combo.setAllowEmptyLayer(True)
11841186

11851187
filters = QgsMapLayerProxyModel.Filters()
11861188
if QgsProcessing.TypeVectorAnyGeometry in self.param.dataTypes() or len(self.param.dataTypes()) == 0:
@@ -1201,6 +1203,10 @@ def createWidget(self):
12011203
except:
12021204
pass
12031205

1206+
if self.param.flags() & QgsProcessingParameterDefinition.FlagOptional:
1207+
self.combo.setAllowEmptyLayer(True)
1208+
self.combo.setLayer(None)
1209+
12041210
self.combo.currentIndexChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
12051211
self.combo.currentTextChanged.connect(lambda: self.widgetValueHasChanged.emit(self))
12061212
return widget

0 commit comments

Comments
 (0)