@@ -908,13 +908,24 @@ def setValue(self, value):
908
908
return
909
909
910
910
if self .dialogType == DIALOG_STANDARD :
911
- if self .combo .findText (value ) >= 0 :
912
- self .combo .setCurrentIndex (self .combo .findText (value ))
913
- else :
914
- items = self .combo .additionalItems ()
915
- items .append (value )
916
- self .combo .setAdditionalItems (items )
917
- self .combo .setCurrentIndex (self .combo .findText (value ))
911
+ if isinstance (value , str ):
912
+ layer = QgsProject .instance ().mapLayer (value )
913
+ if layer is not None :
914
+ value = layer
915
+
916
+ found = False
917
+ if isinstance (value , QgsMapLayer ):
918
+ self .combo .setLayer (value )
919
+ found = self .combo .currentIndex () != - 1
920
+
921
+ if not found :
922
+ if self .combo .findText (value ) >= 0 :
923
+ self .combo .setCurrentIndex (self .combo .findText (value ))
924
+ else :
925
+ items = self .combo .additionalItems ()
926
+ items .append (value )
927
+ self .combo .setAdditionalItems (items )
928
+ self .combo .setCurrentIndex (self .combo .findText (value ))
918
929
elif self .dialogType == DIALOG_BATCH :
919
930
self .widget .setValue (value )
920
931
else :
@@ -1146,13 +1157,24 @@ def setValue(self, value):
1146
1157
return
1147
1158
1148
1159
if self .dialogType == DIALOG_STANDARD :
1149
- if self .combo .findText (value ) >= 0 :
1150
- self .combo .setCurrentIndex (self .combo .findText (value ))
1151
- else :
1152
- items = self .combo .additionalItems ()
1153
- items .append (value )
1154
- self .combo .setAdditionalItems (items )
1155
- self .combo .setCurrentIndex (self .combo .findText (value ))
1160
+ if isinstance (value , str ):
1161
+ layer = QgsProject .instance ().mapLayer (value )
1162
+ if layer is not None :
1163
+ value = layer
1164
+
1165
+ found = False
1166
+ if isinstance (value , QgsMapLayer ):
1167
+ self .combo .setLayer (value )
1168
+ found = self .combo .currentIndex () != - 1
1169
+
1170
+ if not found :
1171
+ if self .combo .findText (value ) >= 0 :
1172
+ self .combo .setCurrentIndex (self .combo .findText (value ))
1173
+ else :
1174
+ items = self .combo .additionalItems ()
1175
+ items .append (value )
1176
+ self .combo .setAdditionalItems (items )
1177
+ self .combo .setCurrentIndex (self .combo .findText (value ))
1156
1178
elif self .dialogType == DIALOG_BATCH :
1157
1179
self .widget .setValue (value )
1158
1180
else :
@@ -1448,13 +1470,24 @@ def setValue(self, value):
1448
1470
return
1449
1471
1450
1472
if self .dialogType == DIALOG_STANDARD :
1451
- if self .combo .findText (value ) >= 0 :
1452
- self .combo .setCurrentIndex (self .combo .findText (value ))
1453
- else :
1454
- items = self .combo .additionalItems ()
1455
- items .append (value )
1456
- self .combo .setAdditionalItems (items )
1457
- self .combo .setCurrentIndex (self .combo .findText (value ))
1473
+ if isinstance (value , str ):
1474
+ layer = QgsProject .instance ().mapLayer (value )
1475
+ if layer is not None :
1476
+ value = layer
1477
+
1478
+ found = False
1479
+ if isinstance (value , QgsMapLayer ):
1480
+ self .combo .setLayer (value )
1481
+ found = self .combo .currentIndex () != - 1
1482
+
1483
+ if not found :
1484
+ if self .combo .findText (value ) >= 0 :
1485
+ self .combo .setCurrentIndex (self .combo .findText (value ))
1486
+ else :
1487
+ items = self .combo .additionalItems ()
1488
+ items .append (value )
1489
+ self .combo .setAdditionalItems (items )
1490
+ self .combo .setCurrentIndex (self .combo .findText (value ))
1458
1491
elif self .dialogType == DIALOG_BATCH :
1459
1492
return self .widget .setValue (value )
1460
1493
else :
0 commit comments