Fix #1921612 [[Enhancement] Don't show row numbers in the book list by right-clicking](https://bugs.launchpad.net/calibre/+bug/1921612)

This commit is contained in:
Kovid Goyal 2021-04-08 09:15:04 +05:30
parent aebc379845
commit 636cdfc159
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -51,8 +51,8 @@ class HeaderView(QHeaderView): # {{{
if self.orientation() == Qt.Orientation.Horizontal: if self.orientation() == Qt.Orientation.Horizontal:
self.setSectionsMovable(True) self.setSectionsMovable(True)
self.setSectionsClickable(True) self.setSectionsClickable(True)
self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.setTextElideMode(Qt.TextElideMode.ElideRight) self.setTextElideMode(Qt.TextElideMode.ElideRight)
self.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.hover = -1 self.hover = -1
self.current_font = QFont(self.font()) self.current_font = QFont(self.font())
self.current_font.setBold(True) self.current_font.setBold(True)
@ -319,6 +319,7 @@ class BooksView(QTableView): # {{{
self.pin_view.column_header.customContextMenuRequested.connect(partial(self.show_column_header_context_menu, view=self.pin_view)) self.pin_view.column_header.customContextMenuRequested.connect(partial(self.show_column_header_context_menu, view=self.pin_view))
self.row_header = HeaderView(Qt.Orientation.Vertical, self) self.row_header = HeaderView(Qt.Orientation.Vertical, self)
self.row_header.setSectionResizeMode(QHeaderView.ResizeMode.Fixed) self.row_header.setSectionResizeMode(QHeaderView.ResizeMode.Fixed)
self.row_header.customContextMenuRequested.connect(self.show_row_header_context_menu)
self.setVerticalHeader(self.row_header) self.setVerticalHeader(self.row_header)
# }}} # }}}
@ -498,6 +499,15 @@ class BooksView(QTableView): # {{{
QIcon(I('column.png')), _('Add your own columns'), partial(handler, action='addcustcol')) QIcon(I('column.png')), _('Add your own columns'), partial(handler, action='addcustcol'))
return ans return ans
def show_row_header_context_menu(self, pos):
menu = QMenu(self)
menu.addAction(_('Hide row numbers'), self.hide_row_numbers)
menu.popup(self.mapToGlobal(pos))
def hide_row_numbers(self):
gprefs['row_numbers_in_book_list'] = False
self.set_row_header_visibility()
def show_column_header_context_menu(self, pos, view=None): def show_column_header_context_menu(self, pos, view=None):
view = view or self view = view or self
idx = view.column_header.logicalIndexAt(pos) idx = view.column_header.logicalIndexAt(pos)