Refactor shortcut definitions

Now they are directly keyed on runtime.is_standalone_viewer since that
is the canonical reference as to which mode we are running in.
This commit is contained in:
Kovid Goyal 2021-01-27 13:58:38 +05:30
parent 8a999ef17f
commit 1df2ed477e
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 18 additions and 16 deletions

View File

@ -90,10 +90,8 @@ def key_as_text(evt):
return mods + key return mods + key
def shortcuts_definition(): def common_shortcuts(): # {{{
ans = shortcuts_definition.ans return {
if not ans:
ans = shortcuts_definition.ans = {
'start_of_file': desc( 'start_of_file': desc(
v"['Ctrl+ArrowUp', 'Ctrl+ArrowLeft', 'Home']", v"['Ctrl+ArrowUp', 'Ctrl+ArrowLeft', 'Home']",
'scroll', 'scroll',
@ -364,14 +362,22 @@ def shortcuts_definition():
_('Auto scroll slower'), _('Auto scroll slower'),
), ),
} } # }}}
if not runtime.is_standalone_viewer:
ans['sync_book'] = desc( def shortcuts_definition():
v"[]", ans = shortcuts_definition.ans
'ui', if not ans:
_('Sync last read position/annotations'), ans = shortcuts_definition.ans = common_shortcuts()
)
if runtime.is_standalone_viewer:
add_standalone_viewer_shortcuts(ans)
else:
ans['sync_book'] = desc(
v"[]",
'ui',
_('Sync last read position/annotations'),
)
return ans return ans
@ -387,9 +393,8 @@ def shortcuts_group_desc():
def add_standalone_viewer_shortcuts(): def add_standalone_viewer_shortcuts(sc):
ismacos = 'macos' in window.navigator.userAgent ismacos = 'macos' in window.navigator.userAgent
sc = shortcuts_definition()
sc['toggle_inspector'] = desc( sc['toggle_inspector'] = desc(
v"['Ctrl+i']", v"['Ctrl+i']",
'ui', 'ui',

View File

@ -19,7 +19,6 @@ from read_book.db import new_book
from read_book.footnotes import main as footnotes_main from read_book.footnotes import main as footnotes_main
from read_book.globals import runtime, set_system_colors, ui_operations, default_color_schemes from read_book.globals import runtime, set_system_colors, ui_operations, default_color_schemes
from read_book.iframe import main as iframe_main from read_book.iframe import main as iframe_main
from read_book.shortcuts import add_standalone_viewer_shortcuts
from read_book.view import View from read_book.view import View
from read_book.prefs.head_foot import set_time_formatter from read_book.prefs.head_foot import set_time_formatter
from session import local_storage, session_defaults from session import local_storage, session_defaults
@ -303,7 +302,6 @@ if window is window.top:
TRANSLATIONS_DATA = v'__TRANSLATIONS_DATA__' TRANSLATIONS_DATA = v'__TRANSLATIONS_DATA__'
if TRANSLATIONS_DATA: if TRANSLATIONS_DATA:
install(TRANSLATIONS_DATA) install(TRANSLATIONS_DATA)
add_standalone_viewer_shortcuts()
ui_operations.get_file = get_file ui_operations.get_file = get_file
ui_operations.get_mathjax_files = get_mathjax_files ui_operations.get_mathjax_files = get_mathjax_files
ui_operations.update_url_state = update_url_state ui_operations.update_url_state = update_url_state
@ -430,4 +428,3 @@ else:
footnotes_main() footnotes_main()
else: else:
iframe_main() iframe_main()
add_standalone_viewer_shortcuts()