mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Prevent esc key from closing the loading msg and the initial open book screen
This commit is contained in:
parent
b72922e94c
commit
e9250df828
@ -28,6 +28,7 @@ class LoadingMessage: # {{{
|
||||
def __init__(self, msg, current_color_scheme):
|
||||
self.msg = msg or ''
|
||||
self.current_color_scheme = current_color_scheme
|
||||
self.is_not_escapable = True # prevent Esc key from closing
|
||||
|
||||
def show(self, container):
|
||||
self.container_id = container.getAttribute('id')
|
||||
@ -440,6 +441,7 @@ class OpenBook: # {{{
|
||||
def __init__(self, overlay, closeable):
|
||||
self.overlay = overlay
|
||||
self.closeable = closeable
|
||||
self.is_not_escapable = not closeable # prevent Esc key from closing
|
||||
|
||||
def on_container_click(self, evt):
|
||||
pass # Dont allow panel to be closed by a click
|
||||
@ -516,6 +518,14 @@ class Overlay:
|
||||
p.on_hide()
|
||||
self.show_current_panel()
|
||||
|
||||
def handle_escape(self):
|
||||
if self.panels.length:
|
||||
p = self.panels[-1]
|
||||
if not p.is_not_escapable:
|
||||
self.hide_current_panel()
|
||||
return True
|
||||
return False
|
||||
|
||||
def show_current_panel(self):
|
||||
if self.panels.length:
|
||||
c = self.clear_container()
|
||||
|
@ -272,10 +272,9 @@ class View:
|
||||
|
||||
def handle_keypress(self, evt):
|
||||
if self.overlay.is_visible and evt.key is 'Escape':
|
||||
self.overlay.hide_current_panel()
|
||||
if evt.preventDefault:
|
||||
evt.preventDefault(), evt.stopPropagation()
|
||||
return
|
||||
if self.overlay.handle_escape():
|
||||
if evt.preventDefault:
|
||||
evt.preventDefault(), evt.stopPropagation()
|
||||
|
||||
def overlay_visibility_changed(self, visible):
|
||||
if self.iframe_wrapper.send_message:
|
||||
|
Loading…
x
Reference in New Issue
Block a user