From bb00ddbe4656577e26893d9462e106217df95796 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Sat, 30 Mar 2024 12:41:02 +0000 Subject: [PATCH] Add a "Mark all selected books" to the Mark action. --- src/calibre/gui2/actions/mark_books.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/actions/mark_books.py b/src/calibre/gui2/actions/mark_books.py index 02c7309475..538f27aee3 100644 --- a/src/calibre/gui2/actions/mark_books.py +++ b/src/calibre/gui2/actions/mark_books.py @@ -6,7 +6,8 @@ __copyright__ = '2013, Kovid Goyal ' from functools import partial -from qt.core import QApplication, QDialog, QDialogButtonBox, QEvent, QGridLayout, QIcon, QLabel, QMenu, QPushButton, Qt +from qt.core import (QApplication, QDialog, QDialogButtonBox, QEvent, QGridLayout, QIcon, QLabel, + QMenu, QPushButton, Qt) from calibre.gui2 import error_dialog from calibre.gui2.actions import InterfaceActionWithLibraryDrop @@ -101,6 +102,8 @@ class MarkBooksAction(InterfaceActionWithLibraryDrop): self.menu = m = self.qaction.menu() m.aboutToShow.connect(self.about_to_show_menu) ma = partial(self.create_menu_action, m) + self.show_marked_action = a = ma('mark_selected', _('Mark all selected books'), icon='marked.png') + a.triggered.connect(self.mark_all_selected) self.show_marked_action = a = ma('mark_with_text', _('Mark books with text label'), icon='marked.png') a.triggered.connect(partial(self.mark_with_text, book_ids=None)) global mark_books_with_text @@ -220,6 +223,12 @@ class MarkBooksAction(InterfaceActionWithLibraryDrop): mids.pop(book_id, None) db.data.set_marked_ids(mids) + def mark_all_selected(self): + book_ids = self._get_selected_ids() + if not book_ids: + return + self.gui.current_db.data.add_marked_ids(book_ids) + def mark_with_text(self, book_ids=None): if book_ids is None: book_ids = self._get_selected_ids()