From cf20d487f875a0ccbcb64fb3dd20dc1a23ddb6a5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 16 Jan 2025 14:36:52 +0530 Subject: [PATCH] Fix #2093867 [Jobs shortcut/tooltip mismatch](https://bugs.launchpad.net/calibre/+bug/2093867) --- src/calibre/gui2/jobs.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/jobs.py b/src/calibre/gui2/jobs.py index 577996e101..fa19779a48 100644 --- a/src/calibre/gui2/jobs.py +++ b/src/calibre/gui2/jobs.py @@ -24,6 +24,7 @@ from qt.core import ( QHBoxLayout, QIcon, QItemSelectionModel, + QKeySequence, QLabel, QModelIndex, QPlainTextEdit, @@ -526,12 +527,18 @@ class JobsButton(QWidget): # {{{ self._jobs.setSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum) self.setCursor(Qt.CursorShape.PointingHandCursor) b = _('Click to see list of jobs') - self.setToolTip(b + _(' [Alt+Shift+J]')) self.action_toggle = QAction(b, parent) parent.addAction(self.action_toggle) self.action_toggle.triggered.connect(self.toggle) + self.action_toggle.changed.connect(self.update_tooltip) if hasattr(parent, 'keyboard'): parent.keyboard.register_shortcut('toggle jobs list', _('Show/hide the Jobs List'), default_keys=(self.shortcut,), action=self.action_toggle) + self.update_tooltip() + + def update_tooltip(self): + sc = ', '.join(sc.toString(QKeySequence.SequenceFormat.NativeText) for sc in self.action_toggle.shortcuts()) + self.shortcut = sc or '' + self.setToolTip(_('Click to see list of jobs [{}]').format(self.shortcut)) def update_label(self): n = self.jobs()