diff --git a/src/calibre/gui2/metadata/basic_widgets.py b/src/calibre/gui2/metadata/basic_widgets.py index 10438bcc0f..ef0555bcd6 100644 --- a/src/calibre/gui2/metadata/basic_widgets.py +++ b/src/calibre/gui2/metadata/basic_widgets.py @@ -1360,6 +1360,7 @@ class TagsEdit(EditWithComplete, ToMetadataMixin): # {{{ 'or phrases, separated by commas.') FIELD_NAME = 'tags' data_changed = pyqtSignal() + tag_editor_requested = pyqtSignal() def __init__(self, parent): EditWithComplete.__init__(self, parent) @@ -1417,6 +1418,13 @@ class TagsEdit(EditWithComplete, ToMetadataMixin): # {{{ allow_case_change=True) return True + def keyPressEvent(self, ev): + if ev.key() == Qt.Key_F2: + self.tag_editor_requested.emit() + ev.accept() + return + return EditWithComplete.keyPressEvent(self, ev) + # }}} diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index fefbb6bca7..a8f9f1afb4 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -235,6 +235,7 @@ class MetadataSingleDialogBase(QDialog): self.tags_editor_button.setToolTip(_('Open Tag editor')) self.tags_editor_button.setIcon(QIcon(I('chapters.png'))) self.tags_editor_button.clicked.connect(self.tags_editor) + self.tags.tag_editor_requested.connect(self.tags_editor) self.clear_tags_button = QToolButton(self) self.clear_tags_button.setToolTip(_('Clear all tags')) self.clear_tags_button.setIcon(QIcon(I('trash.png')))