mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 02:34:06 -04:00
More context menu icons
This commit is contained in:
parent
d5201ff24d
commit
2c9e9831e7
@ -437,8 +437,9 @@ class BooksView(QTableView): # {{{
|
|||||||
ans = QMenu(view)
|
ans = QMenu(view)
|
||||||
handler = partial(self.column_header_context_handler, view=view, column=col)
|
handler = partial(self.column_header_context_handler, view=view, column=col)
|
||||||
if col not in ('ondevice', 'inlibrary'):
|
if col not in ('ondevice', 'inlibrary'):
|
||||||
ans.addAction(_('Hide column %s') % name, partial(handler, action='hide'))
|
ans.addAction(QIcon.ic('minus.png'), _('Hide column %s') % name, partial(handler, action='hide'))
|
||||||
m = ans.addMenu(_('Sort on %s') % name)
|
m = ans.addMenu(_('Sort on %s') % name)
|
||||||
|
m.setIcon(QIcon.ic('sort.png'))
|
||||||
a = m.addAction(_('Ascending'), partial(handler, action='ascending'))
|
a = m.addAction(_('Ascending'), partial(handler, action='ascending'))
|
||||||
d = m.addAction(_('Descending'), partial(handler, action='descending'))
|
d = m.addAction(_('Descending'), partial(handler, action='descending'))
|
||||||
if self._model.sorted_on[0] == col:
|
if self._model.sorted_on[0] == col:
|
||||||
@ -448,27 +449,31 @@ class BooksView(QTableView): # {{{
|
|||||||
if col not in ('ondevice', 'inlibrary') and \
|
if col not in ('ondevice', 'inlibrary') and \
|
||||||
(not self.model().is_custom_column(col) or self.model().custom_columns[col]['datatype'] not in ('bool',)):
|
(not self.model().is_custom_column(col) or self.model().custom_columns[col]['datatype'] not in ('bool',)):
|
||||||
m = ans.addMenu(_('Change text alignment for %s') % name)
|
m = ans.addMenu(_('Change text alignment for %s') % name)
|
||||||
|
m.setIcon(QIcon.ic('format-justify-center.png'))
|
||||||
al = self._model.alignment_map.get(col, 'left')
|
al = self._model.alignment_map.get(col, 'left')
|
||||||
for x, t in (('left', _('Left')), ('right', _('Right')), ('center', _('Center'))):
|
for x, t in (('left', _('Left')), ('right', _('Right')), ('center', _('Center'))):
|
||||||
a = m.addAction(t, partial(handler, action='align_'+x))
|
a = m.addAction(QIcon.ic(f'format-justify-{x}.png'), t, partial(handler, action='align_'+x))
|
||||||
if al == x:
|
if al == x:
|
||||||
a.setCheckable(True)
|
a.setCheckable(True)
|
||||||
a.setChecked(True)
|
a.setChecked(True)
|
||||||
if not isinstance(view, DeviceBooksView):
|
if not isinstance(view, DeviceBooksView):
|
||||||
col_font = self._model.styled_columns.get(col)
|
col_font = self._model.styled_columns.get(col)
|
||||||
m = ans.addMenu(_('Change font style for %s') % name)
|
m = ans.addMenu(_('Change font style for %s') % name)
|
||||||
|
m.setIcon(QIcon.ic('format-text-bold.png'))
|
||||||
for x, t, f in (
|
for x, t, f in (
|
||||||
('normal', _('Normal font'), None), ('bold', _('Bold font'), self._model.bold_font),
|
('normal', _('Normal font'), None), ('bold', _('Bold font'), self._model.bold_font),
|
||||||
('italic', _('Italic font'), self._model.italic_font), ('bi', _('Bold and Italic font'), self._model.bi_font),
|
('italic', _('Italic font'), self._model.italic_font), ('bi', _('Bold and Italic font'), self._model.bi_font),
|
||||||
):
|
):
|
||||||
a = m.addAction(t, partial(handler, action='font_' + x))
|
a = m.addAction(t, partial(handler, action='font_' + x))
|
||||||
|
if x in ('bold', 'italic'):
|
||||||
|
a.setIcon(QIcon.ic(f'format-text-{x}.png'))
|
||||||
if f is col_font:
|
if f is col_font:
|
||||||
a.setCheckable(True)
|
a.setCheckable(True)
|
||||||
a.setChecked(True)
|
a.setChecked(True)
|
||||||
|
|
||||||
if self.is_library_view:
|
if self.is_library_view:
|
||||||
if self._model.db.field_metadata[col]['is_category']:
|
if self._model.db.field_metadata[col]['is_category']:
|
||||||
act = ans.addAction(_('Quickview column %s') % name, partial(handler, action='quickview'))
|
act = ans.addAction(QIcon.ic('quickview.png'), _('Quickview column %s') % name, partial(handler, action='quickview'))
|
||||||
rows = self.selectionModel().selectedRows()
|
rows = self.selectionModel().selectedRows()
|
||||||
if len(rows) > 1:
|
if len(rows) > 1:
|
||||||
act.setEnabled(False)
|
act.setEnabled(False)
|
||||||
@ -479,6 +484,7 @@ class BooksView(QTableView): # {{{
|
|||||||
ans.addSeparator()
|
ans.addSeparator()
|
||||||
if hidden_cols:
|
if hidden_cols:
|
||||||
m = ans.addMenu(_('Show column'))
|
m = ans.addMenu(_('Show column'))
|
||||||
|
m.setIcon(QIcon.ic('plus.png'))
|
||||||
hcols = [(hcol, str(self.model().headerData(hidx, Qt.Orientation.Horizontal, Qt.ItemDataRole.DisplayRole) or ''))
|
hcols = [(hcol, str(self.model().headerData(hidx, Qt.Orientation.Horizontal, Qt.ItemDataRole.DisplayRole) or ''))
|
||||||
for hcol, hidx in iteritems(hidden_cols)]
|
for hcol, hidx in iteritems(hidden_cols)]
|
||||||
hcols.sort(key=lambda x: primary_sort_key(x[1]))
|
hcols.sort(key=lambda x: primary_sort_key(x[1]))
|
||||||
@ -522,7 +528,7 @@ class BooksView(QTableView): # {{{
|
|||||||
view.column_header_context_menu.addSeparator()
|
view.column_header_context_menu.addSeparator()
|
||||||
if not hasattr(view.column_header_context_menu, 'bl_split_action'):
|
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(
|
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'))
|
QIcon.ic('split.png'), 'xxx', partial(self.column_header_context_handler, action='split', column='title'))
|
||||||
ac = view.column_header_context_menu.bl_split_action
|
ac = view.column_header_context_menu.bl_split_action
|
||||||
if self.pin_view.isVisible():
|
if self.pin_view.isVisible():
|
||||||
ac.setText(_('Un-split the book list'))
|
ac.setText(_('Un-split the book list'))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user