Fix #1946674 [[Enhancement] Add icons to the Category editor context menu](https://bugs.launchpad.net/calibre/+bug/1946674)

This commit is contained in:
Kovid Goyal 2021-10-12 08:34:11 +05:30
parent 2d074400e2
commit d8c118cbb4
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 14 additions and 4 deletions

View File

@ -293,6 +293,7 @@ class EditAuthorsDialog(QDialog, Ui_EditAuthorsDialog):
def show_context_menu(self, point):
self.context_item = self.table.itemAt(point)
case_menu = QMenu(_('Change case'))
case_menu.setIcon(QIcon(I('font_size_larger.png')))
action_upper_case = case_menu.addAction(_('Upper case'))
action_lower_case = case_menu.addAction(_('Lower case'))
action_swap_case = case_menu.addAction(_('Swap case'))
@ -310,20 +311,20 @@ class EditAuthorsDialog(QDialog, Ui_EditAuthorsDialog):
id_ = int(self.table.item(idx.row(), 0).data(Qt.ItemDataRole.UserRole))
sub = self.get_column_name(idx.column())
if self.context_item.text() != self.original_authors[id_][sub]:
ca = m.addAction(_('Undo'))
ca = m.addAction(QIcon(I('undo.png')), _('Undo'))
ca.triggered.connect(partial(self.undo_cell,
old_value=self.original_authors[id_][sub]))
m.addSeparator()
ca = m.addAction(_('Copy'))
ca = m.addAction(QIcon(I('edit-copy.png')), _('Copy'))
ca.triggered.connect(self.copy_to_clipboard)
ca = m.addAction(_('Paste'))
ca = m.addAction(QIcon(I('edit-paste.png')), _('Paste'))
ca.triggered.connect(self.paste_from_clipboard)
m.addSeparator()
if self.context_item is not None and self.context_item.column() == 0:
ca = m.addAction(_('Copy to author sort'))
ca.triggered.connect(self.copy_au_to_aus)
m.addSeparator()
ca = m.addAction(_("Show books by author in book list"))
ca = m.addAction(QIcon(I('lt.png')), _("Show books by author in book list"))
ca.triggered.connect(self.search_in_book_list)
else:
ca = m.addAction(_('Copy to author'))

View File

@ -273,13 +273,16 @@ class TagListEditor(QDialog, Ui_TagListEditor):
disable_copy_paste_search = len(self.table.selectedItems()) != 1 or item.is_deleted
ca = m.addAction(_('Copy'))
ca.triggered.connect(partial(self.copy_to_clipboard, item))
ca.setIcon(QIcon(I('edit-copy.png')))
if disable_copy_paste_search:
ca.setEnabled(False)
ca = m.addAction(_('Paste'))
ca.setIcon(QIcon(I('edit-paste.png')))
ca.triggered.connect(partial(self.paste_from_clipboard, item))
if disable_copy_paste_search:
ca.setEnabled(False)
ca = m.addAction(_('Undo'))
ca.setIcon(QIcon(I('edit-undo.png')))
ca.triggered.connect(self.undo_edit)
ca.setEnabled(False)
for item in self.table.selectedItems():
@ -287,23 +290,29 @@ class TagListEditor(QDialog, Ui_TagListEditor):
ca.setEnabled(True)
break
ca = m.addAction(_('Edit'))
ca.setIcon(QIcon(I('edit_input.png')))
ca.triggered.connect(self.rename_tag)
ca = m.addAction(_('Delete'))
ca.setIcon(QIcon(I('trash.png')))
ca.triggered.connect(self.delete_tags)
item_name = unicode_type(item.text())
ca = m.addAction(_('Search for {}').format(item_name))
ca.setIcon(QIcon(I('search.png')))
ca.triggered.connect(partial(self.set_search_text, item_name))
item_name = unicode_type(item.text())
ca = m.addAction(_('Filter by {}').format(item_name))
ca.setIcon(QIcon(I('filter.png')))
ca.triggered.connect(partial(self.set_filter_text, item_name))
if self.category is not None:
ca = m.addAction(_("Search the library for {0}").format(item_name))
ca.setIcon(QIcon(I('lt.png')))
ca.triggered.connect(partial(self.search_for_books, item))
if disable_copy_paste_search:
ca.setEnabled(False)
if self.table.state() == QAbstractItemView.State.EditingState:
m.addSeparator()
case_menu = QMenu(_('Change case'))
case_menu.setIcon(QIcon(I('font_size_larger.png')))
action_upper_case = case_menu.addAction(_('Upper case'))
action_lower_case = case_menu.addAction(_('Lower case'))
action_swap_case = case_menu.addAction(_('Swap case'))