diff --git a/src/pyj/book_list/globals.pyj b/src/pyj/book_list/globals.pyj index b65fc9ce4f..b21d79b246 100644 --- a/src/pyj/book_list/globals.pyj +++ b/src/pyj/book_list/globals.pyj @@ -33,9 +33,3 @@ def get_translations(val): if val: get_translations.ans = val return get_translations.ans - - -def get_read_ui(val): - if val: - get_read_ui.ans = val - return get_read_ui.ans diff --git a/src/pyj/book_list/main.pyj b/src/pyj/book_list/main.pyj index 1676e5c3aa..b52de2eb9a 100644 --- a/src/pyj/book_list/main.pyj +++ b/src/pyj/book_list/main.pyj @@ -16,7 +16,7 @@ from book_list.constants import book_list_container_id, read_book_container_id, from book_list.library_data import fetch_init_data, update_library_data, url_books_query from book_list.theme import get_color, get_font_family from book_list.router import update_window_title, set_default_mode_handler, apply_url, set_mode_handler, on_pop_state -from book_list.globals import get_db, set_session_data, get_read_ui +from book_list.globals import get_db, set_session_data from book_list.ui import apply_url_state as book_list_mode_handler from read_book.ui import ReadUI @@ -76,7 +76,6 @@ def init_ui(): read_ui = ReadUI() get_db(read_ui.db) set_mode_handler('read_book', read_ui.apply_url_state.bind(read_ui)) - get_read_ui(read_ui) apply_url() diff --git a/src/pyj/read_book/globals.pyj b/src/pyj/read_book/globals.pyj index d2ba28b0c2..51b44619c3 100644 --- a/src/pyj/read_book/globals.pyj +++ b/src/pyj/read_book/globals.pyj @@ -75,4 +75,6 @@ ui_operations = { 'redisplay_book': None, 'reload_book': None, 'forward_gesture': None, + 'update_color_scheme': None, + 'update_font_size': None, } diff --git a/src/pyj/read_book/prefs/colors.pyj b/src/pyj/read_book/prefs/colors.pyj index 07e647af8a..e27a7aa19e 100644 --- a/src/pyj/read_book/prefs/colors.pyj +++ b/src/pyj/read_book/prefs/colors.pyj @@ -5,8 +5,8 @@ from __python__ import hash_literals, bound_methods from gettext import gettext as _ from dom import svgicon, set_css, add_extra_css, build_rule, clear, unique_id from elementmaker import E -from book_list.globals import get_session_data, get_read_ui -from read_book.globals import default_color_schemes +from book_list.globals import get_session_data +from read_book.globals import default_color_schemes, ui_operations from modals import error_dialog from widgets import create_button @@ -220,4 +220,4 @@ def commit_colors(onchange): if rcs.foreground is not c.dataset.fg or rcs.background is not c.dataset.bg: sd = get_session_data() sd.set('current_color_scheme', ccs) - get_read_ui().update_color_scheme() + ui_operations.update_color_scheme() diff --git a/src/pyj/read_book/prefs/font_size.pyj b/src/pyj/read_book/prefs/font_size.pyj index f8e397f0a4..6dd9becc3e 100644 --- a/src/pyj/read_book/prefs/font_size.pyj +++ b/src/pyj/read_book/prefs/font_size.pyj @@ -1,13 +1,15 @@ # vim:fileencoding=utf-8 # License: GPL v3 Copyright: 2016, Kovid Goyal -from __python__ import hash_literals, bound_methods +from __python__ import bound_methods, hash_literals -from dom import unique_id, set_css, add_extra_css, rule, element from elementmaker import E from gettext import gettext as _ -from widgets import create_button -from book_list.globals import get_session_data, get_read_ui + +from book_list.globals import get_session_data from book_list.theme import get_color +from dom import add_extra_css, element, rule, set_css, unique_id +from read_book.globals import ui_operations +from widgets import create_button CONTAINER = unique_id('font-size-prefs') QUICK = unique_id('quick') @@ -23,7 +25,7 @@ def change_font_size(sz): sd = get_session_data() if sd.get('base_font_size') is not sz: sd.set('base_font_size', sz) - get_read_ui().update_font_size() + ui_operations.update_font_size() def set_quick_size(ev): li = ev.currentTarget diff --git a/src/pyj/read_book/ui.pyj b/src/pyj/read_book/ui.pyj index e3dd29cffc..0bf1b5f40f 100644 --- a/src/pyj/read_book/ui.pyj +++ b/src/pyj/read_book/ui.pyj @@ -63,6 +63,8 @@ class ReadUI: ui_operations.redisplay_book = self.redisplay_book.bind(self) ui_operations.reload_book = self.reload_book.bind(self) ui_operations.forward_gesture = self.forward_gesture.bind(self) + ui_operations.update_color_scheme = self.update_color_scheme.bind(self) + ui_operations.update_font_size = self.update_font_size.bind(self) def on_resize(self): self.view.on_resize() diff --git a/src/pyj/viewer-main.pyj b/src/pyj/viewer-main.pyj index c35382f783..d04fd6163e 100644 --- a/src/pyj/viewer-main.pyj +++ b/src/pyj/viewer-main.pyj @@ -218,6 +218,14 @@ def forward_gesture(gesture): view.forward_gesture(gesture) +def update_color_scheme(): + view.update_color_scheme() + + +def update_font_size(): + view.update_font_size() + + if window is window.top: # main ui_operations.get_file = get_file @@ -227,6 +235,8 @@ if window is window.top: ui_operations.redisplay_book = redisplay_book ui_operations.reload_book = reload_book ui_operations.forward_gesture = forward_gesture + ui_operations.update_color_scheme = update_color_scheme + ui_operations.update_font_size = update_font_size document.body.appendChild(E.div(id='view')) window.onerror = onerror create_modal_container()