diff --git a/src/calibre/gui2/keyboard.py b/src/calibre/gui2/keyboard.py index 939d688005..0876e7c6fa 100644 --- a/src/calibre/gui2/keyboard.py +++ b/src/calibre/gui2/keyboard.py @@ -114,6 +114,8 @@ class Manager(QObject): # {{{ custom_keys_map = {un:tuple(keys) for un, keys in self.config.get( 'map', {}).iteritems()} self.keys_map = finalize(self.shortcuts, custom_keys_map=custom_keys_map) + #import pprint + #pprint.pprint(self.keys_map) # }}} diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 4852982b94..7f2ea036d6 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -13,7 +13,7 @@ from functools import partial from PyQt4.Qt import (Qt, QVBoxLayout, QHBoxLayout, QWidget, QPushButton, QGridLayout, pyqtSignal, QDialogButtonBox, QScrollArea, QFont, QTabWidget, QIcon, QToolButton, QSplitter, QGroupBox, QSpacerItem, - QSizePolicy, QPalette, QFrame, QSize, QKeySequence, QMenu) + QSizePolicy, QPalette, QFrame, QSize, QKeySequence, QMenu, QShortcut) from calibre.ebooks.metadata import authors_to_string, string_to_authors from calibre.gui2 import ResizableDialog, error_dialog, gprefs, pixmap_to_data @@ -45,6 +45,16 @@ class MetadataSingleDialogBase(ResizableDialog): def setupUi(self, *args): # {{{ self.resize(990, 650) + self.download_shortcut = QShortcut(self) + self.download_shortcut.setKey(QKeySequence('Ctrl+D', + QKeySequence.PortableText)) + p = self.parent() + if hasattr(p, 'keyboard'): + kname = u'Interface Action: Edit Metadata (Edit Metadata) : menu action : download' + sc = p.keyboard.keys_map.get(kname, None) + if sc: + self.download_shortcut.setKey(sc[0]) + self.button_box = QDialogButtonBox( QDialogButtonBox.Ok|QDialogButtonBox.Cancel, Qt.Horizontal, self) @@ -195,6 +205,7 @@ class MetadataSingleDialogBase(ResizableDialog): self.fetch_metadata_button = QPushButton( _('&Download metadata'), self) self.fetch_metadata_button.clicked.connect(self.fetch_metadata) + self.download_shortcut.activated.connect(self.fetch_metadata_button.click) font = self.fmb_font = QFont() font.setBold(True) self.fetch_metadata_button.setFont(font)