@@ -112,6 +112,8 @@ def __init__(self, library: Library, tag: Tag | None = None):
112
112
self .aliases_table .verticalHeader ().setVisible (False )
113
113
self .aliases_table .horizontalHeader ().setStretchLastSection (True )
114
114
self .aliases_table .setColumnWidth (0 , 35 )
115
+ self .aliases_table .setTabKeyNavigation (False )
116
+ self .aliases_table .setFocusPolicy (Qt .FocusPolicy .NoFocus )
115
117
116
118
self .alias_add_button = QPushButton ()
117
119
self .alias_add_button .setText ("+" )
@@ -136,6 +138,7 @@ def __init__(self, library: Library, tag: Tag | None = None):
136
138
self .parent_tags_scroll_layout .setAlignment (Qt .AlignmentFlag .AlignTop )
137
139
138
140
self .scroll_area = QScrollArea ()
141
+ self .scroll_area .setFocusPolicy (Qt .FocusPolicy .NoFocus )
139
142
# self.scroll_area.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
140
143
self .scroll_area .setWidgetResizable (True )
141
144
self .scroll_area .setFrameShadow (QFrame .Shadow .Plain )
@@ -239,8 +242,6 @@ def __init__(self, library: Library, tag: Tag | None = None):
239
242
self .new_item_id = sys .maxsize
240
243
241
244
self .set_tag (tag or Tag (name = Translations ["tag.new" ]))
242
- if tag is None :
243
- self .name_field .selectAll ()
244
245
245
246
def backspace (self ):
246
247
focused_widget = QApplication .focusWidget ()
@@ -305,6 +306,7 @@ def set_parent_tags(self):
305
306
while self .parent_tags_scroll_layout .itemAt (0 ):
306
307
self .parent_tags_scroll_layout .takeAt (0 ).widget ().deleteLater ()
307
308
309
+ last : QWidget = self .aliases_table .cellWidget (self .aliases_table .rowCount () - 1 , 1 )
308
310
c = QWidget ()
309
311
layout = QVBoxLayout (c )
310
312
layout .setContentsMargins (0 , 0 , 0 , 0 )
@@ -314,6 +316,10 @@ def set_parent_tags(self):
314
316
tw = TagWidget (tag , has_edit = False , has_remove = True )
315
317
tw .on_remove .connect (lambda t = tag_id : self .remove_parent_tag_callback (t ))
316
318
layout .addWidget (tw )
319
+ self .setTabOrder (last , tw .bg_button )
320
+ last = tw .bg_button
321
+ self .setTabOrder (last , self .name_field )
322
+
317
323
self .parent_tags_scroll_layout .addWidget (c )
318
324
319
325
def add_aliases (self ):
@@ -349,6 +355,7 @@ def _set_aliases(self):
349
355
350
356
self .alias_names .clear ()
351
357
358
+ last : QWidget = self .panel_save_button or self .color_field
352
359
for alias_id in self .alias_ids :
353
360
alias = self .lib .get_alias (self .tag .id , alias_id )
354
361
@@ -375,6 +382,12 @@ def _set_aliases(self):
375
382
self .aliases_table .setCellWidget (row , 1 , new_item )
376
383
self .aliases_table .setCellWidget (row , 0 , remove_btn )
377
384
385
+ self .setTabOrder (last , self .aliases_table .cellWidget (row , 1 ))
386
+ self .setTabOrder (
387
+ self .aliases_table .cellWidget (row , 1 ), self .aliases_table .cellWidget (row , 0 )
388
+ )
389
+ last = self .aliases_table .cellWidget (row , 0 )
390
+
378
391
def _alias_name_change (self , item : CustomTableItem ):
379
392
self .new_alias_names [item .id ] = item .text ()
380
393
@@ -424,3 +437,14 @@ def build_tag(self) -> Tag:
424
437
425
438
logger .info ("built tag" , tag = tag )
426
439
return tag
440
+
441
+ def parent_post_init (self ):
442
+ self .setTabOrder (self .name_field , self .shorthand_field )
443
+ self .setTabOrder (self .shorthand_field , self .alias_add_button )
444
+ self .setTabOrder (self .alias_add_button , self .parent_tags_add_button )
445
+ self .setTabOrder (self .parent_tags_add_button , self .color_field )
446
+ self .setTabOrder (self .color_field , self .panel_cancel_button )
447
+ self .setTabOrder (self .panel_cancel_button , self .panel_save_button )
448
+ self .setTabOrder (self .panel_save_button , self .aliases_table .cellWidget (0 , 1 ))
449
+ self .name_field .selectAll ()
450
+ self .name_field .setFocus ()
0 commit comments