From aed556e8156616589e794a50788d0ddfeab417e8 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sat, 9 Oct 2021 16:01:57 +0100 Subject: [PATCH] Enhancement #1946560: Search for sub category in Tag brower and Enhancement #1946559: Add a separator to the context menu shown when right clicking on a sub category in the Tag browser --- src/calibre/gui2/tag_browser/view.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/calibre/gui2/tag_browser/view.py b/src/calibre/gui2/tag_browser/view.py index 59a1b48b42..5239baf23b 100644 --- a/src/calibre/gui2/tag_browser/view.py +++ b/src/calibre/gui2/tag_browser/view.py @@ -884,12 +884,29 @@ class TagsView(QTreeView): # {{{ partial(self.context_menu_handler, action='delete_user_category', key=key)) self.context_menu.addSeparator() + # Add searches for temporary first letter nodes + if self._model.collapse_model == 'first letter' and \ + tag_item.temporary and not key.startswith('@'): + self.context_menu.addSeparator() + search_submenu = self.context_menu.addMenu(_('Search')) + search_submenu.addAction(self.search_icon, + _('Search for %s')%display_name(tag_item.tag), + partial(self.context_menu_handler, action='search', + search_state=TAG_SEARCH_STATES['mark_plus'], + index=index)) + search_submenu.addAction(self.search_icon, + _('Search for everything but %s')%display_name(tag_item.tag), + partial(self.context_menu_handler, action='search', + search_state=TAG_SEARCH_STATES['mark_minus'], + index=index)) # search by category. Some categories are not searchable, such # as search and news if item.tag.is_searchable: if search_submenu is None: search_submenu = self.context_menu.addMenu(_('Search')) self.context_menu.addSeparator() + else: + search_submenu.addSeparator() search_submenu.addAction(self.search_icon, _('Search for books in category %s')%category, partial(self.context_menu_handler,