mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
When showing the cover browser in a separate window, focus the cover browser so that keyboard shortcuts work immediately. Fixes #835933 ([enhancement] in cover browser)
This commit is contained in:
parent
676dead1d3
commit
80638df610
@ -161,6 +161,7 @@ class CBDialog(QDialog):
|
|||||||
a.setShortcuts([QKeySequence('Esc', QKeySequence.PortableText)])
|
a.setShortcuts([QKeySequence('Esc', QKeySequence.PortableText)])
|
||||||
|
|
||||||
self.pre_fs_geom = None
|
self.pre_fs_geom = None
|
||||||
|
cover_flow.setFocus(Qt.OtherFocusReason)
|
||||||
|
|
||||||
def closeEvent(self, *args):
|
def closeEvent(self, *args):
|
||||||
if not self.isFullScreen():
|
if not self.isFullScreen():
|
||||||
@ -174,13 +175,15 @@ class CBDialog(QDialog):
|
|||||||
self.restoreGeometry(self.pre_fs_geom)
|
self.restoreGeometry(self.pre_fs_geom)
|
||||||
self.pre_fs_geom = None
|
self.pre_fs_geom = None
|
||||||
|
|
||||||
|
def show_fullscreen(self):
|
||||||
|
self.pre_fs_geom = bytearray(self.saveGeometry())
|
||||||
|
self.showFullScreen()
|
||||||
|
|
||||||
def toggle_fullscreen(self, *args):
|
def toggle_fullscreen(self, *args):
|
||||||
if self.isFullScreen():
|
if self.isFullScreen():
|
||||||
self.show_normal()
|
self.show_normal()
|
||||||
else:
|
else:
|
||||||
self.pre_fs_geom = bytearray(self.saveGeometry())
|
self.show_fullscreen()
|
||||||
self.showFullScreen()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class CoverFlowMixin(object):
|
class CoverFlowMixin(object):
|
||||||
@ -255,7 +258,7 @@ class CoverFlowMixin(object):
|
|||||||
d.addAction(self.cb_splitter.action_toggle)
|
d.addAction(self.cb_splitter.action_toggle)
|
||||||
self.cover_flow.setVisible(True)
|
self.cover_flow.setVisible(True)
|
||||||
self.cover_flow.setFocus(Qt.OtherFocusReason)
|
self.cover_flow.setFocus(Qt.OtherFocusReason)
|
||||||
d.showFullScreen() if gprefs['cb_fullscreen'] else d.show()
|
d.show_fullscreen() if gprefs['cb_fullscreen'] else d.show()
|
||||||
self.cb_splitter.button.set_state_to_hide()
|
self.cb_splitter.button.set_state_to_hide()
|
||||||
d.closed.connect(self.cover_browser_closed)
|
d.closed.connect(self.cover_browser_closed)
|
||||||
self.cb_dialog = d
|
self.cb_dialog = d
|
||||||
|
Loading…
x
Reference in New Issue
Block a user