From 2f2afffd04c046bfe736b55ae4d96cd2a5189188 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Aug 2022 19:09:09 +0530 Subject: [PATCH] Fix #1987713 [Enhancement Request: Full-text search: Mark & show marked books](https://bugs.launchpad.net/calibre/+bug/1987713) --- src/calibre/gui2/fts/search.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/gui2/fts/search.py b/src/calibre/gui2/fts/search.py index 3c0bac79f8..f2e991db68 100644 --- a/src/calibre/gui2/fts/search.py +++ b/src/calibre/gui2/fts/search.py @@ -25,6 +25,7 @@ from calibre.gui2 import ( config, error_dialog, gprefs, info_dialog, question_dialog, safe_open_url ) from calibre.gui2.fts.utils import get_db +from calibre.gui2.library.models import render_pin from calibre.gui2.progress_indicator import ProgressIndicator from calibre.gui2.ui import get_gui from calibre.gui2.viewer.widgets import ResultsDelegate, SearchBox @@ -829,6 +830,9 @@ class ResultsPanel(QWidget): m = QMenu(b) m.addAction(QIcon.ic('marked.png'), _('Mark all matched books in the library'), partial(self.mark_books, 'mark')) m.addAction(QIcon.ic('edit-select-all.png'), _('Select all matched books in the library'), partial(self.mark_books, 'select')) + if not hasattr(self, 'colored_pin'): + self.colored_pin = QIcon(render_pin()) + m.addAction(QIcon(self.colored_pin), _('Mark and select all matched books'), partial(self.mark_books, 'mark-select')) b.setMenu(m) def mark_books(self, which): @@ -839,6 +843,9 @@ class ResultsPanel(QWidget): gui.iactions['Mark Books'].add_ids(book_ids) elif which == 'select': gui.library_view.select_rows(book_ids) + elif which == 'mark-select': + gui.iactions['Mark Books'].add_ids(book_ids) + gui.library_view.select_rows(book_ids) def clear_results(self): self.results_view.m.clear_results()