diff --git a/src/calibre/gui2/actions/mark_books.py b/src/calibre/gui2/actions/mark_books.py index 8711a55ef0..f6fcbbd58a 100644 --- a/src/calibre/gui2/actions/mark_books.py +++ b/src/calibre/gui2/actions/mark_books.py @@ -72,7 +72,7 @@ class MarkBooksAction(InterfaceAction): def about_to_show_menu(self): db = self.gui.current_db num = len(db.data.marked_ids) - text = ngettext('Show marked book', 'Show marked books (%d)' % num, num) + text = _('Show marked book') if num == 1 else (_('Show marked books') + (' (%d)' % num)) self.show_marked_action.setText(text) def location_selected(self, loc): diff --git a/src/calibre/gui2/library/alternate_views.py b/src/calibre/gui2/library/alternate_views.py index 4f21c4868e..68ebe74ba1 100644 --- a/src/calibre/gui2/library/alternate_views.py +++ b/src/calibre/gui2/library/alternate_views.py @@ -300,6 +300,10 @@ class AlternateViews(object): if self.current_book_state[0] is self.current_view: self.current_view.restore_current_book_state(self.current_book_state[1]) self.current_book_state = None + + def marked_changed(self, old_marked, current_marked): + if self.current_view is not self.main_view: + self.current_view.marked_changed(old_marked, current_marked) # }}} # Rendering of covers {{{ @@ -818,4 +822,11 @@ class GridView(QListView): self.set_current_row(row) self.select_rows((row,)) self.scrollTo(self.model().index(row, 0), self.PositionAtCenter) + + def marked_changed(self, old_marked, current_marked): + changed = old_marked | current_marked + m = self.model() + for book_id in changed: + self.update(m.index(m.db.data.id_to_index(book_id), 0)) + # }}} diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index 803b8130a9..ccf15a2be9 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -690,6 +690,7 @@ class BooksView(QTableView): # {{{ self.alternate_views.set_database(db, stage=1) def marked_changed(self, old_marked, current_marked): + self.alternate_views.marked_changed(old_marked, current_marked) if bool(old_marked) == bool(current_marked): changed = old_marked | current_marked sections = tuple(map(self.model().db.data.id_to_index, changed))