From 86e4b2cc6a8816960023f13ac148498ae1f460f0 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Mon, 28 Sep 2020 10:38:52 +0100 Subject: [PATCH 1/2] Fix for #1897356: Exclusion searches for user categories are unreliable in Calibre 4.23 --- src/calibre/gui2/tag_browser/ui.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/gui2/tag_browser/ui.py b/src/calibre/gui2/tag_browser/ui.py index 89e8fdf10c..b4d6845a53 100644 --- a/src/calibre/gui2/tag_browser/ui.py +++ b/src/calibre/gui2/tag_browser/ui.py @@ -127,6 +127,7 @@ class TagBrowserMixin(object): # {{{ user_cats[new_cat] = [] db.new_api.set_pref('user_categories', user_cats) self.tags_view.recount() + db.new_api.clear_search_caches() m = self.tags_view.model() idx = m.index_for_path(m.find_category_node('@' + new_cat)) self.tags_view.show_item_at_index(idx) @@ -148,6 +149,7 @@ class TagBrowserMixin(object): # {{{ db.new_api.set_pref('user_categories', d.categories) db.new_api.refresh_search_locations() self.tags_view.recount() + db.new_api.clear_search_caches() self.user_categories_edited() def do_delete_user_category(self, category_name): @@ -182,6 +184,7 @@ class TagBrowserMixin(object): # {{{ del user_cats[k] db.new_api.set_pref('user_categories', user_cats) self.tags_view.recount() + db.new_api.clear_search_caches() self.user_categories_edited() def do_del_item_from_user_cat(self, user_cat, item_name, item_category): @@ -201,6 +204,7 @@ class TagBrowserMixin(object): # {{{ self.tags_view.model().delete_item_from_user_category(user_cat, item_name, item_category) self.tags_view.recount() + db.new_api.clear_search_caches() self.user_categories_edited() def do_add_item_to_user_cat(self, dest_category, src_name, src_category): @@ -229,6 +233,7 @@ class TagBrowserMixin(object): # {{{ user_cats[dest_category].append([src_name, src_category, 0]) db.new_api.set_pref('user_categories', user_cats) self.tags_view.recount() + db.new_api.clear_search_caches() self.user_categories_edited() def get_book_ids(self, use_virtual_library, db, category): From 4291fb7f32a7ba6c011a9c29a65e7a6590b6ff70 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Mon, 28 Sep 2020 10:59:22 +0100 Subject: [PATCH 2/2] Enhancement #1897432: Delete entries in the Manage Saved searches screen using the Delete key --- src/calibre/gui2/dialogs/saved_search_editor.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/gui2/dialogs/saved_search_editor.py b/src/calibre/gui2/dialogs/saved_search_editor.py index e3924c71fd..3505ed0aad 100644 --- a/src/calibre/gui2/dialogs/saved_search_editor.py +++ b/src/calibre/gui2/dialogs/saved_search_editor.py @@ -141,6 +141,13 @@ class SavedSearchEditor(Dialog): if ans in self.searches: return ans + def keyPressEvent(self, ev): + if ev.key() == Qt.Key_Delete: + self.del_search() + print('delete') + return + return Dialog.keyPressEvent(self, ev) + def populate_search_list(self): self.slist.clear() for name in sorted(self.searches.keys(), key=sort_key):