diff --git a/src/pyj/read_book/prefs/head_foot.pyj b/src/pyj/read_book/prefs/head_foot.pyj index f775c27a4f..31b63d3383 100644 --- a/src/pyj/read_book/prefs/head_foot.pyj +++ b/src/pyj/read_book/prefs/head_foot.pyj @@ -34,6 +34,8 @@ def create_item(region, label, style): sep(), opt(_('Top level section'), 'top-section'), opt(_('Current section'), 'section'), + opt(_('View mode'), 'view-mode'), + opt(_('View mode as icon'), 'view-mode-icon'), sep(), opt(_('Clock'), 'clock'), sep(), @@ -179,7 +181,7 @@ def format_pos(progress_frac, length): return f'{pos:.1f} / {pages}' -def render_head_foot(div, which, region, metadata, current_toc_node, current_toc_toplevel_node, book_time, chapter_time, pos, override): +def render_head_foot(div, which, region, metadata, current_toc_node, current_toc_toplevel_node, book_time, chapter_time, pos, override, view_mode): template = get_session_data().get(which) or {} field = template[region] or 'empty' interface_data = get_interface_data() @@ -207,6 +209,10 @@ def render_head_foot(div, which, region, metadata, current_toc_node, current_toc text = current_toc_toplevel_node.title if current_toc_toplevel_node else '' if not text: text = current_toc_node.title if current_toc_node else '' + elif field is 'view-mode': + text = _('Paged') if view_mode is 'paged' else _('Flow') + elif field is 'view-mode-icon': + text = '🗏' if view_mode is 'paged' else '📜' elif field.startswith('time-'): if book_time is None or chapter_time is None: text = _('Calculating...') diff --git a/src/pyj/read_book/view.pyj b/src/pyj/read_book/view.pyj index 5874651cd1..062324ffb4 100644 --- a/src/pyj/read_book/view.pyj +++ b/src/pyj/read_book/view.pyj @@ -1317,9 +1317,11 @@ class View: book_time = self.timers.time_for(book_length) chapter_time = self.timers.time_for(chapter_length) mi = self.book.metadata + sd = get_session_data() + view_mode = sd.get('read_mode') def render(div, name, which, override): - return render_head_foot(div, name, which, mi, self.current_toc_node, self.current_toc_toplevel_node, book_time, chapter_time, pos, override) + return render_head_foot(div, name, which, mi, self.current_toc_node, self.current_toc_toplevel_node, book_time, chapter_time, pos, override, view_mode) return render