diff --git a/src/calibre/gui2/dialogs/tag_list_editor.py b/src/calibre/gui2/dialogs/tag_list_editor.py index f3236b3eb4..3193c09d76 100644 --- a/src/calibre/gui2/dialogs/tag_list_editor.py +++ b/src/calibre/gui2/dialogs/tag_list_editor.py @@ -192,6 +192,7 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.name_order = 0 self.count_order = 1 self.was_order = 1 + self.link_order = 0 self.edit_delegate = EditColumnDelegate(self.table) self.edit_delegate.editing_finished.connect(self.stop_editing) @@ -663,7 +664,7 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.table.scrollToItem(self.table.item(row, 0)) def do_sort(self, section): - (self.do_sort_by_name, self.do_sort_by_count, self.do_sort_by_was)[section]() + (self.do_sort_by_name, self.do_sort_by_count, self.do_sort_by_was, self.do_sort_by_was_link)[section]() def do_sort_by_name(self): self.name_order = 1 - self.name_order @@ -680,6 +681,11 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.last_sorted_by = 'count' self.table.sortByColumn(2, Qt.SortOrder(self.was_order)) + def do_sort_by_link(self): + self.link_order = 1 - self.link_order + self.last_sorted_by = 'link' + self.table.sortByColumn(3, Qt.SortOrder(self.link_order)) + def accepted(self): self.links = {self.table.item(r, 0).text():self.table.item(r, 3).text() for r in range(self.table.rowCount())} self.save_geometry()