From 033ba41906c764dcb908b03868227fc178d3132b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 26 Nov 2020 16:52:25 +0530 Subject: [PATCH] Fix #1905713 [Focus the book list shortcut changes how arrow keys selects books in Cover grid](https://bugs.launchpad.net/calibre/+bug/1905713) --- src/calibre/gui2/ui.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index f07fee9f31..9da47455d0 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -430,7 +430,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ prints('Starting QuickView') qv.qv_button.restore_state() self.save_layout_state() - self.library_view.setFocus(Qt.OtherFocusReason) + self.focus_library_view() def show_gui_debug_msg(self): info_dialog(self, _('Debug mode'), '

' + @@ -442,12 +442,20 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ def esc(self, *args): self.search.clear() - def shift_esc(self): - self.current_view().setFocus(Qt.OtherFocusReason) + def focus_current_view(self): + view = self.current_view() + if view is self.library_view: + self.focus_library_view() + else: + view.setFocus(Qt.OtherFocusReason) + shift_esc = focus_current_view + + def focus_library_view(self): + self.library_view.alternate_views.current_view.setFocus(Qt.OtherFocusReason) def ctrl_esc(self): self.apply_virtual_library() - self.current_view().setFocus(Qt.OtherFocusReason) + self.focus_current_view() def start_smartdevice(self): message = None