From 26848c0c99e25b2b2cca741b9355abad1a475115 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 18 Oct 2018 11:32:19 +0530 Subject: [PATCH] Better fix for split book list action --- src/calibre/gui2/library/views.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index d98a81b412..4eba04bfbe 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -487,12 +487,16 @@ class BooksView(QTableView): # {{{ name = unicode(self.model().headerData(idx, Qt.Horizontal, Qt.DisplayRole) or '') view.column_header_context_menu = self.create_context_menu(col, name, view) has_context_menu = hasattr(view, 'column_header_context_menu') - if self.is_library_view and has_context_menu and not hasattr(view.column_header_context_menu, 'added_split_book_list_entry'): + if self.is_library_view and has_context_menu: view.column_header_context_menu.addSeparator() - view.column_header_context_menu.added_split_book_list_entry = True - view.column_header_context_menu.addAction( - _('Un-split the book list') if self.pin_view.isVisible() else _('Split the book list'), - partial(self.column_header_context_handler, action='split', column=col or 'title')) + if not hasattr(view.column_header_context_menu, 'bl_split_action'): + view.column_header_context_menu.bl_split_action = view.column_header_context_menu.addAction( + 'xxx', partial(self.column_header_context_handler, action='split', column='title')) + ac = view.column_header_context_menu.bl_split_action + if self.pin_view.isVisible(): + ac.setText(_('Un-split the book list')) + else: + ac.setText(_('Split the book list')) if has_context_menu: view.column_header_context_menu.popup(view.column_header.mapToGlobal(pos)) # }}}