mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Pass focus back to iframe after closing modal dialogs
This commit is contained in:
parent
9ee721093e
commit
47ddd8165c
@ -174,8 +174,8 @@ def create_simple_dialog_markup(title, msg, details, icon, prefix, parent):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_simple_dialog(title, msg, details, icon, prefix):
|
def create_simple_dialog(title, msg, details, icon, prefix, on_close=None):
|
||||||
show_modal(create_simple_dialog_markup.bind(None, title, msg, details, icon, prefix))
|
show_modal(create_simple_dialog_markup.bind(None, title, msg, details, icon, prefix), on_close=on_close)
|
||||||
|
|
||||||
|
|
||||||
def create_custom_dialog(title, content_generator_func):
|
def create_custom_dialog(title, content_generator_func):
|
||||||
@ -245,11 +245,11 @@ def close_all_modals():
|
|||||||
return modal_container.close_all_modals()
|
return modal_container.close_all_modals()
|
||||||
|
|
||||||
|
|
||||||
def error_dialog(title, msg, details=None):
|
def error_dialog(title, msg, details=None, on_close=None):
|
||||||
create_simple_dialog(title, msg, details, 'bug', _('Error:'))
|
create_simple_dialog(title, msg, details, 'bug', _('Error:'), on_close)
|
||||||
|
|
||||||
def warning_dialog(title, msg, details=None):
|
def warning_dialog(title, msg, details=None, on_close=None):
|
||||||
create_simple_dialog(title, msg, details, 'warning', _('Warning:'))
|
create_simple_dialog(title, msg, details, 'warning', _('Warning:'), on_close)
|
||||||
|
|
||||||
def progress_dialog(msg, on_close=None):
|
def progress_dialog(msg, on_close=None):
|
||||||
# Show a modal dialog with a progress bar and an optional close button.
|
# Show a modal dialog with a progress bar and an optional close button.
|
||||||
|
@ -325,13 +325,20 @@ class View:
|
|||||||
|
|
||||||
def on_find_in_spine(self, data):
|
def on_find_in_spine(self, data):
|
||||||
if data.searched_in_spine:
|
if data.searched_in_spine:
|
||||||
warning_dialog(_('Not found'), _('The text: <i>{}</i> was not found in this book').format(html_escape(data.text)))
|
warning_dialog(
|
||||||
|
_('Not found'), _('The text: <i>{}</i> was not found in this book').format(html_escape(data.text)),
|
||||||
|
on_close=def():
|
||||||
|
self.search_overlay.show()
|
||||||
|
)
|
||||||
return
|
return
|
||||||
spine = self.book.manifest.spine
|
spine = self.book.manifest.spine
|
||||||
idx = spine.indexOf(self.currently_showing.name)
|
idx = spine.indexOf(self.currently_showing.name)
|
||||||
if idx < 0:
|
if idx < 0:
|
||||||
error_dialog(_('Missing file'), _(
|
error_dialog(_('Missing file'), _(
|
||||||
'Could not search as the spine item {} is missing from the book').format(self.currently_showing.name))
|
'Could not search as the spine item {} is missing from the book').format(self.currently_showing.name),
|
||||||
|
on_close=def():
|
||||||
|
self.search_overlay.show()
|
||||||
|
)
|
||||||
return
|
return
|
||||||
names = v'[]'
|
names = v'[]'
|
||||||
item_groups = [range(idx-1, -1, -1), range(spine.length-1, idx, -1)] if data.backwards else [range(idx + 1, spine.length), range(idx)]
|
item_groups = [range(idx-1, -1, -1), range(spine.length-1, idx, -1)] if data.backwards else [range(idx + 1, spine.length), range(idx)]
|
||||||
@ -611,7 +618,9 @@ class View:
|
|||||||
idx = spine.indexOf(name)
|
idx = spine.indexOf(name)
|
||||||
if idx is -1:
|
if idx is -1:
|
||||||
error_dialog(_('Destination does not exist'), _(
|
error_dialog(_('Destination does not exist'), _(
|
||||||
'The file {} does not exist in this book').format(name))
|
'The file {} does not exist in this book').format(name), on_close=def():
|
||||||
|
ui_operations.focus_iframe()
|
||||||
|
)
|
||||||
return False
|
return False
|
||||||
self.show_name(name, initial_position={'type':'anchor', 'anchor':frag, 'replace_history':False})
|
self.show_name(name, initial_position={'type':'anchor', 'anchor':frag, 'replace_history':False})
|
||||||
return True
|
return True
|
||||||
|
Loading…
x
Reference in New Issue
Block a user