mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Shortcut for toggling fullscreen
This commit is contained in:
parent
ece5180a80
commit
e58a50e7ed
@ -82,4 +82,5 @@ ui_operations = {
|
|||||||
'delete_book': None,
|
'delete_book': None,
|
||||||
'focus_iframe': None,
|
'focus_iframe': None,
|
||||||
'toggle_toc': None,
|
'toggle_toc': None,
|
||||||
|
'toggle_full_screen': None,
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,7 @@ from read_book.prefs.main import create_prefs_panel
|
|||||||
from read_book.toc import create_toc_panel
|
from read_book.toc import create_toc_panel
|
||||||
from read_book.word_actions import create_word_actions_panel
|
from read_book.word_actions import create_word_actions_panel
|
||||||
from session import get_device_uuid
|
from session import get_device_uuid
|
||||||
from utils import (
|
from utils import full_screen_element, is_ios, safe_set_inner_html
|
||||||
full_screen_element, is_ios, request_full_screen, safe_set_inner_html
|
|
||||||
)
|
|
||||||
from widgets import create_button, create_spinner
|
from widgets import create_button, create_spinner
|
||||||
|
|
||||||
|
|
||||||
@ -278,7 +276,7 @@ class MainOverlay: # {{{
|
|||||||
if not full_screen_element() and not is_ios:
|
if not full_screen_element() and not is_ios:
|
||||||
# No fullscreen on iOS, see http://caniuse.com/#search=fullscreen
|
# No fullscreen on iOS, see http://caniuse.com/#search=fullscreen
|
||||||
full_screen_actions.push(
|
full_screen_actions.push(
|
||||||
ac(_('Full screen'), _('Enter full screen mode'), def(): request_full_screen(), self.overlay.hide();, 'full-screen')
|
ac(_('Full screen'), _('Enter full screen mode'), def(): self.overlay.hide(), ui_operations.toggle_full_screen();, 'full-screen')
|
||||||
)
|
)
|
||||||
if full_screen_actions.length:
|
if full_screen_actions.length:
|
||||||
actions_div.appendChild(E.ul(*full_screen_actions))
|
actions_div.appendChild(E.ul(*full_screen_actions))
|
||||||
|
@ -186,6 +186,12 @@ SHORTCUTS = {
|
|||||||
'ui',
|
'ui',
|
||||||
_('Decrease font size'),
|
_('Decrease font size'),
|
||||||
),
|
),
|
||||||
|
|
||||||
|
'toggle_full_screen': desc(
|
||||||
|
v"['F11', 'Ctrl+Shift+F']",
|
||||||
|
'ui',
|
||||||
|
_('Toggle full screen'),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ from modals import create_simple_dialog_markup, error_dialog
|
|||||||
from read_book.db import get_db
|
from read_book.db import get_db
|
||||||
from read_book.globals import ui_operations
|
from read_book.globals import ui_operations
|
||||||
from read_book.view import View
|
from read_book.view import View
|
||||||
from utils import debounce, human_readable
|
from utils import debounce, full_screen_element, human_readable, request_full_screen
|
||||||
from widgets import create_button
|
from widgets import create_button
|
||||||
|
|
||||||
RENDER_VERSION = __RENDER_VERSION__
|
RENDER_VERSION = __RENDER_VERSION__
|
||||||
@ -69,6 +69,7 @@ class ReadUI:
|
|||||||
ui_operations.delete_book = self.delete_book.bind(self)
|
ui_operations.delete_book = self.delete_book.bind(self)
|
||||||
ui_operations.focus_iframe = self.focus_iframe.bind(self)
|
ui_operations.focus_iframe = self.focus_iframe.bind(self)
|
||||||
ui_operations.toggle_toc = self.toggle_toc.bind(self)
|
ui_operations.toggle_toc = self.toggle_toc.bind(self)
|
||||||
|
ui_operations.toggle_full_screen = self.toggle_full_screen.bind(self)
|
||||||
|
|
||||||
def on_resize(self):
|
def on_resize(self):
|
||||||
self.view.on_resize()
|
self.view.on_resize()
|
||||||
@ -170,6 +171,12 @@ class ReadUI:
|
|||||||
def toggle_toc(self):
|
def toggle_toc(self):
|
||||||
self.view.overlay.show_toc()
|
self.view.overlay.show_toc()
|
||||||
|
|
||||||
|
def toggle_full_screen(self):
|
||||||
|
if full_screen_element():
|
||||||
|
document.exitFullscreen()
|
||||||
|
else:
|
||||||
|
request_full_screen(document.documentElement)
|
||||||
|
|
||||||
def update_color_scheme(self):
|
def update_color_scheme(self):
|
||||||
self.view.update_color_scheme()
|
self.view.update_color_scheme()
|
||||||
|
|
||||||
|
@ -241,6 +241,8 @@ class View:
|
|||||||
self.bump_font_size({'increase': True})
|
self.bump_font_size({'increase': True})
|
||||||
elif data.name is 'decrease_font_size':
|
elif data.name is 'decrease_font_size':
|
||||||
self.bump_font_size({'increase': False})
|
self.bump_font_size({'increase': False})
|
||||||
|
elif data.name is 'toggle_full_screen':
|
||||||
|
ui_operations.toggle_full_screen()
|
||||||
|
|
||||||
def on_selection_change(self, data):
|
def on_selection_change(self, data):
|
||||||
self.currently_showing.selected_text = data.text
|
self.currently_showing.selected_text = data.text
|
||||||
|
@ -74,8 +74,9 @@ def encode_query_with_path(query, path):
|
|||||||
|
|
||||||
def request_full_screen(elem):
|
def request_full_screen(elem):
|
||||||
elem = elem or document.documentElement
|
elem = elem or document.documentElement
|
||||||
|
options = {'navigationUI': 'hide'}
|
||||||
if elem.requestFullScreen:
|
if elem.requestFullScreen:
|
||||||
elem.requestFullScreen()
|
elem.requestFullScreen(options)
|
||||||
elif elem.webkitRequestFullScreen:
|
elif elem.webkitRequestFullScreen:
|
||||||
elem.webkitRequestFullScreen()
|
elem.webkitRequestFullScreen()
|
||||||
elif elem.mozRequestFullScreen:
|
elif elem.mozRequestFullScreen:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user