@@ -361,7 +361,7 @@ def _get_editor_value(editor):
361
361
def contextMenuEvent (self , event ):
362
362
menu = QtWidgets .QMenu (self )
363
363
if self .objects :
364
- tags = self ._selected_tags ()
364
+ tags = list ( self ._selected_tags () )
365
365
single_tag = len (tags ) == 1
366
366
if single_tag :
367
367
selected_tag = tags [0 ]
@@ -459,7 +459,7 @@ def _edit_tag(self, tag):
459
459
EditTagDialog (self .parent , tag ).exec ()
460
460
461
461
def _edit_selected_tag (self ):
462
- tags = self ._selected_tags (filter_func = self ._tag_is_editable )
462
+ tags = list ( self ._selected_tags (filter_func = self ._tag_is_editable ) )
463
463
if len (tags ) == 1 :
464
464
self ._edit_tag (tags [0 ])
465
465
@@ -498,11 +498,10 @@ def _tag_is_editable(self, tag):
498
498
return self .tag_diff .status [tag ] & TagStatus .READONLY == 0
499
499
500
500
def _selected_tags (self , filter_func = None ):
501
- tags = set (self .tag_diff .tag_names [item .row ()]
502
- for item in self .selectedItems ())
503
- if filter_func :
504
- tags = filter (filter_func , tags )
505
- return list (tags )
501
+ for tag in set (self .tag_diff .tag_names [item .row ()]
502
+ for item in self .selectedItems ()):
503
+ if filter_func is None or filter_func (tag ):
504
+ yield tag
506
505
507
506
def _update_selection (self ):
508
507
files = set ()
0 commit comments