mirror of
git://github.com/kovidgoyal/calibre.git
synced 2025-12-31 17:36:16 +01:00
Enhancement 1960688]: add editing enumeration permissible values to the column context menu.
This commit is contained in:
parent
731ccd92a9
commit
a3be0a6106
1 changed files with 8 additions and 1 deletions
|
|
@ -15,6 +15,7 @@
|
|||
QStyleOptionHeader, QItemSelectionModel, QSize, QFontMetrics, QApplication)
|
||||
|
||||
from calibre.constants import islinux
|
||||
from calibre.gui2.dialogs.enum_values_edit import EnumValuesEdit
|
||||
from calibre.gui2.library.delegates import (RatingDelegate, PubDateDelegate,
|
||||
TextDelegate, DateDelegate, CompleteDelegate, CcTextDelegate, CcLongTextDelegate,
|
||||
CcBoolDelegate, CcCommentsDelegate, CcDateDelegate, CcTemplateDelegate,
|
||||
|
|
@ -431,6 +432,8 @@ def column_header_context_handler(self, action=None, column=None, view=None):
|
|||
elif action == 'reset_ondevice_width':
|
||||
gprefs.set('ondevice_column_width', 0)
|
||||
self.resizeColumnToContents(idx)
|
||||
elif action == 'edit_enum':
|
||||
EnumValuesEdit(self, self._model.db, column).exec()
|
||||
self.save_state()
|
||||
|
||||
def create_context_menu(self, col, name, view):
|
||||
|
|
@ -473,10 +476,14 @@ def create_context_menu(self, col, name, view):
|
|||
|
||||
if self.is_library_view:
|
||||
if self._model.db.field_metadata[col]['is_category']:
|
||||
act = ans.addAction(QIcon.ic('quickview.png'), _('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()
|
||||
if len(rows) > 1:
|
||||
act.setEnabled(False)
|
||||
if self._model.db.field_metadata[col]['datatype'] == 'enumeration':
|
||||
ans.addAction(QIcon.ic('edit_input.png'), _('Edit permissible values for %s') % name,
|
||||
partial(handler, action='edit_enum'))
|
||||
|
||||
hidden_cols = {self.column_map[i]: i for i in range(view.column_header.count())
|
||||
if view.column_header.isSectionHidden(i) and self.column_map[i] not in ('ondevice', 'inlibrary')}
|
||||
|
|
|
|||
Loading…
Reference in a new issue