mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Viewer: Fix keyboard shortcut to toggle highlights panel not working when the highlights panel is itself focused. Fixes #1900938 [E-book reader: Ctrl+h doesn't hide the Highlights panel](https://bugs.launchpad.net/calibre/+bug/1900938)
This commit is contained in:
parent
654097bdc6
commit
3482bbe852
@ -24,7 +24,7 @@ from calibre.gui2.library.annotations import (
|
||||
)
|
||||
from calibre.gui2.viewer.config import vprefs
|
||||
from calibre.gui2.viewer.search import SearchInput
|
||||
from calibre.gui2.viewer.shortcuts import index_to_key_sequence
|
||||
from calibre.gui2.viewer.shortcuts import get_shortcut_for, index_to_key_sequence
|
||||
from calibre.gui2.widgets2 import Dialog
|
||||
from calibre_extensions.progress_indicator import set_no_activate_on_click
|
||||
from polyglot.builtins import range
|
||||
@ -398,6 +398,7 @@ class HighlightsPanel(QWidget):
|
||||
jump_to_cfi = pyqtSignal(object)
|
||||
request_highlight_action = pyqtSignal(object, object)
|
||||
web_action = pyqtSignal(object, object)
|
||||
toggle_requested = pyqtSignal()
|
||||
|
||||
def __init__(self, parent=None):
|
||||
QWidget.__init__(self, parent)
|
||||
@ -514,3 +515,9 @@ class HighlightsPanel(QWidget):
|
||||
def selected_text_changed(self, text, annot_id):
|
||||
if annot_id:
|
||||
self.highlights.find_annot_id(annot_id)
|
||||
|
||||
def keyPressEvent(self, ev):
|
||||
sc = get_shortcut_for(self, ev)
|
||||
if sc == 'toggle_highlights' or ev.key() == Qt.Key_Escape:
|
||||
self.toggle_requested.emit()
|
||||
return super().keyPressEvent(ev)
|
||||
|
@ -156,6 +156,7 @@ class EbookViewer(MainWindow):
|
||||
|
||||
self.highlights_widget = w = HighlightsPanel(self)
|
||||
self.highlights_dock.setWidget(w)
|
||||
w.toggle_requested.connect(self.toggle_highlights)
|
||||
|
||||
self.web_view = WebView(self)
|
||||
self.web_view.cfi_changed.connect(self.cfi_changed)
|
||||
|
Loading…
x
Reference in New Issue
Block a user