Viewer: Pressing Esc when in the search input field now closes the search panel

This commit is contained in:
Kovid Goyal 2020-05-21 21:19:20 +05:30
parent 557bdc6b7e
commit d33ac6795a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 9 additions and 0 deletions

View File

@ -640,6 +640,7 @@ class SearchPanel(QWidget): # {{{
search_requested = pyqtSignal(object) search_requested = pyqtSignal(object)
results_found = pyqtSignal(object) results_found = pyqtSignal(object)
show_search_result = pyqtSignal(object) show_search_result = pyqtSignal(object)
hide_search_panel = pyqtSignal()
def __init__(self, parent=None): def __init__(self, parent=None):
QWidget.__init__(self, parent) QWidget.__init__(self, parent)
@ -767,4 +768,11 @@ class SearchPanel(QWidget): # {{{
def show_no_results_found(self): def show_no_results_found(self):
msg = _('No matches were found for:') msg = _('No matches were found for:')
warning_dialog(self, _('No matches found'), msg + ' <b>{}</b>'.format(self.current_search.text), show=True) warning_dialog(self, _('No matches found'), msg + ' <b>{}</b>'.format(self.current_search.text), show=True)
def keyPressEvent(self, ev):
if ev.key() == Qt.Key_Escape:
self.hide_search_panel.emit()
ev.accept()
return
return QWidget.keyPressEvent(self, ev)
# }}} # }}}

View File

@ -139,6 +139,7 @@ class EbookViewer(MainWindow):
self.search_widget = w = SearchPanel(self) self.search_widget = w = SearchPanel(self)
w.search_requested.connect(self.start_search) w.search_requested.connect(self.start_search)
w.hide_search_panel.connect(self.search_dock.close)
self.search_dock.setWidget(w) self.search_dock.setWidget(w)
self.search_dock.visibilityChanged.connect(self.search_widget.visibility_changed) self.search_dock.visibilityChanged.connect(self.search_widget.visibility_changed)