From 0781e43fa47858e7e33d6602b4073b784d09fd65 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 10 Mar 2011 22:17:17 -0700 Subject: [PATCH] Add shortcuts of Alt+Left and Alt+Right for the next and previous buttons in the edit metadata dialog. Fixes #9360 (Change default button for Edit MetaData Individually screen) --- src/calibre/gui2/dialogs/metadata_single.py | 8 +++++--- src/calibre/gui2/metadata/single.py | 9 ++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index d95c905f42..3715d27bfc 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -12,7 +12,7 @@ from threading import Thread from PyQt4.Qt import SIGNAL, QObject, Qt, QTimer, QDate, \ QPixmap, QListWidgetItem, QDialog, pyqtSignal, QIcon, \ - QPushButton + QPushButton, QKeySequence from calibre.gui2 import error_dialog, file_icon_provider, dynamic, \ choose_files, choose_images, ResizableDialog, \ @@ -469,20 +469,22 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): self.ts_tooltips = (ok_tooltip, bad_tooltip) self.row_delta = 0 if prev: - self.prev_button = QPushButton(QIcon(I('back.png')), _('Previous'), + self.prev_button = QPushButton(QIcon(I('back.png')), _('&Previous'), self) self.button_box.addButton(self.prev_button, self.button_box.ActionRole) tip = _('Save changes and edit the metadata of %s')%prev self.prev_button.setToolTip(tip) self.prev_button.clicked.connect(partial(self.next_triggered, -1)) + self.prev_button.setShortcut(QKeySequence('Alt+Left')) if next_: - self.next_button = QPushButton(QIcon(I('forward.png')), _('Next'), + self.next_button = QPushButton(QIcon(I('forward.png')), _('&Next'), self) self.button_box.addButton(self.next_button, self.button_box.ActionRole) tip = _('Save changes and edit the metadata of %s')%next_ self.next_button.setToolTip(tip) self.next_button.clicked.connect(partial(self.next_triggered, 1)) + self.next_button.setShortcut(QKeySequence('Alt+Right')) self.splitter.setStretchFactor(100, 1) self.read_state() diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index 0fa5c746e7..020086a592 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -11,7 +11,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 + QSizePolicy, QPalette, QFrame, QSize, QKeySequence from calibre.ebooks.metadata import authors_to_string, string_to_authors from calibre.gui2 import ResizableDialog, error_dialog, gprefs @@ -43,11 +43,14 @@ class MetadataSingleDialogBase(ResizableDialog): self) self.button_box.accepted.connect(self.accept) self.button_box.rejected.connect(self.reject) - self.next_button = QPushButton(QIcon(I('forward.png')), _('Next'), + self.next_button = QPushButton(QIcon(I('forward.png')), _('&Next'), self) + self.next_button.setShortcut(QKeySequence('Alt+Right')) self.next_button.clicked.connect(partial(self.do_one, delta=1)) - self.prev_button = QPushButton(QIcon(I('back.png')), _('Previous'), + self.prev_button = QPushButton(QIcon(I('back.png')), _('&Previous'), self) + self.prev_button.setShortcut(QKeySequence('Alt+Left')) + self.button_box.addButton(self.prev_button, self.button_box.ActionRole) self.button_box.addButton(self.next_button, self.button_box.ActionRole) self.prev_button.clicked.connect(partial(self.do_one, delta=-1))