From d95d7f40486f6cbf4f7039fe89ceeeaa497e2cc6 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sat, 25 Mar 2023 17:03:51 +0000 Subject: [PATCH] Fixes: the UI didn't properly delete links --- src/calibre/db/cache.py | 2 ++ src/calibre/gui2/dialogs/tag_list_editor.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index ed29b05c31..04793117b9 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -2397,6 +2397,8 @@ class Cache: values, not field ids. returns books changed by setting the link + + NB: this method doesn't change values not in the value_to_link_map ''' if field not in self.fields: raise ValueError(f'Lookup name {field} is not a valid name') diff --git a/src/calibre/gui2/dialogs/tag_list_editor.py b/src/calibre/gui2/dialogs/tag_list_editor.py index 355a7cf344..d0436dc238 100644 --- a/src/calibre/gui2/dialogs/tag_list_editor.py +++ b/src/calibre/gui2/dialogs/tag_list_editor.py @@ -546,6 +546,8 @@ class TagListEditor(QDialog, Ui_TagListEditor): self.table.blockSignals(False) def finish_editing(self, edited_item): + if edited_item.column != 0: + return if not edited_item.text(): error_dialog(self, _('Item is blank'), _( 'An item cannot be set to nothing. Delete it instead.'), show=True) @@ -680,7 +682,5 @@ class TagListEditor(QDialog, Ui_TagListEditor): def accepted(self): self.links = {} for r in range(0, self.table.rowCount()): - l = self.table.item(r, 3).text() - if l: - self.links[self.table.item(r, 0).text()] = l + self.links[self.table.item(r, 0).text()] = self.table.item(r, 3).text() self.save_geometry()