From 89391da7b7074b42aad7c440e97ac76cfd18175a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 22 Apr 2023 11:20:05 +0530 Subject: [PATCH] Fix another error in the manage category editor when setting was --- src/calibre/gui2/dialogs/tag_list_editor.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/calibre/gui2/dialogs/tag_list_editor.py b/src/calibre/gui2/dialogs/tag_list_editor.py index aaff6a7cff..21e17ec5e8 100644 --- a/src/calibre/gui2/dialogs/tag_list_editor.py +++ b/src/calibre/gui2/dialogs/tag_list_editor.py @@ -593,12 +593,8 @@ class TagListEditor(QDialog, Ui_TagListEditor): for item in items: id_ = int(item.data(Qt.ItemDataRole.UserRole)) self.to_rename[id_] = new_text - orig = self.table.item(item.row(), 2) - if orig is None: - orig = was_item() - self.table.setItem(item.row(), 2, orig) + self.set_was_from_item(item) item.setText(new_text) - orig.setData(Qt.ItemDataRole.DisplayRole, item.initial_text()) self.table.blockSignals(False) def undo_edit(self): @@ -717,8 +713,7 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.to_delete.add(id_) item.set_is_deleted(True) row = item.row() - orig = self.table.item(row, 2) - orig.setData(Qt.ItemDataRole.DisplayRole, item.initial_text()) + self.set_was_from_item(item) link = self.table.item(row, 3) link.setFlags(link.flags() & ~(Qt.ItemFlag.ItemIsSelectable|Qt.ItemFlag.ItemIsEditable)) link.setIcon(QIcon.ic('trash.png')) @@ -728,6 +723,13 @@ class TagListEditor(QDialog, Ui_TagListEditor): if row >= 0: self.table.scrollToItem(self.table.item(row, 0)) + def set_was_from_item(self, item): + orig = self.table.item(item.row(), 2) + if orig is None: + orig = was_item() + self.table.setItem(item.row(), 2, orig) + orig.setData(Qt.ItemDataRole.DisplayRole, item.initial_text()) + def record_sort(self, section): # Note what sort was done so we can redo it when the table is rebuilt sort_name = self.sort_names[section]