File tree 1 file changed +11
-2
lines changed
python/plugins/processing/gui
1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -120,10 +120,19 @@ def showLayerSelectionDialog(self):
120
120
121
121
dlg = MultipleInputDialog ([layer .name () for layer in layers ])
122
122
dlg .exec_ ()
123
+
124
+ def generate_layer_id (layer ):
125
+ # prefer layer name if unique
126
+ if len ([l for l in layers if l .name ().lower () == layer .name ().lower ()]) == 1 :
127
+ return layer .name ()
128
+ else :
129
+ # otherwise fall back to layer id
130
+ return layer .id ()
131
+
123
132
if dlg .selectedoptions is not None :
124
133
selected = dlg .selectedoptions
125
134
if len (selected ) == 1 :
126
- self .setValue (layers [selected [0 ]]. id ( ))
135
+ self .setValue (generate_layer_id ( layers [selected [0 ]]))
127
136
else :
128
137
if isinstance (self .param , QgsProcessingParameterMultipleLayers ):
129
138
self .text .setText (';' .join (layers [idx ].id () for idx in selected ))
@@ -133,7 +142,7 @@ def showLayerSelectionDialog(self):
133
142
self ._panel ().addRow ()
134
143
for i , layeridx in enumerate (selected ):
135
144
self ._table ().cellWidget (i + self .row ,
136
- self .col ).setValue (layers [layeridx ]. id ( ))
145
+ self .col ).setValue (generate_layer_id ( layers [layeridx ]))
137
146
138
147
def showFileSelectionDialog (self ):
139
148
settings = QgsSettings ()
You can’t perform that action at this time.
0 commit comments