mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Sort default settings and larger handler definitions
Use session defaults in reader settings to reduce code duplication
This commit is contained in:
parent
94ac5ef102
commit
208734f47b
@ -91,22 +91,22 @@ class IframeBoss:
|
|||||||
self.forward_keypresses = False
|
self.forward_keypresses = False
|
||||||
set_boss(self)
|
set_boss(self)
|
||||||
handlers = {
|
handlers = {
|
||||||
'initialize':self.initialize,
|
|
||||||
'display': self.display,
|
|
||||||
'scroll_to_anchor': self.on_scroll_to_anchor,
|
|
||||||
'scroll_to_ref': self.on_scroll_to_ref,
|
|
||||||
'scroll_to_frac': self.on_scroll_to_frac,
|
|
||||||
'next_screen': self.on_next_screen,
|
|
||||||
'change_font_size': self.change_font_size,
|
|
||||||
'change_color_scheme': self.change_color_scheme,
|
'change_color_scheme': self.change_color_scheme,
|
||||||
'gesture_from_margin': self.gesture_from_margin,
|
'change_font_size': self.change_font_size,
|
||||||
'wheel_from_margin': self.wheel_from_margin,
|
'display': self.display,
|
||||||
'find': self.find,
|
'find': self.find,
|
||||||
'window_size': self.received_window_size,
|
'gesture_from_margin': self.gesture_from_margin,
|
||||||
'get_current_cfi': self.get_current_cfi,
|
'get_current_cfi': self.get_current_cfi,
|
||||||
|
'initialize':self.initialize,
|
||||||
|
'modify_selection': self.modify_selection,
|
||||||
|
'next_screen': self.on_next_screen,
|
||||||
|
'scroll_to_anchor': self.on_scroll_to_anchor,
|
||||||
|
'scroll_to_frac': self.on_scroll_to_frac,
|
||||||
|
'scroll_to_ref': self.on_scroll_to_ref,
|
||||||
'set_forward_keypresses': self.set_forward_keypresses,
|
'set_forward_keypresses': self.set_forward_keypresses,
|
||||||
'set_reference_mode': self.set_reference_mode,
|
'set_reference_mode': self.set_reference_mode,
|
||||||
'modify_selection': self.modify_selection,
|
'wheel_from_margin': self.wheel_from_margin,
|
||||||
|
'window_size': self.received_window_size,
|
||||||
}
|
}
|
||||||
self.comm = IframeClient(handlers)
|
self.comm = IframeClient(handlers)
|
||||||
self.last_window_ypos = 0
|
self.last_window_ypos = 0
|
||||||
|
@ -4,23 +4,24 @@ from __python__ import hash_literals
|
|||||||
|
|
||||||
from elementmaker import E
|
from elementmaker import E
|
||||||
from read_book.globals import runtime
|
from read_book.globals import runtime
|
||||||
|
from session import defaults
|
||||||
|
|
||||||
opts = {}
|
opts = {}
|
||||||
|
|
||||||
def update_settings(settings):
|
def update_settings(settings):
|
||||||
settings = settings or {}
|
settings = settings or defaults
|
||||||
opts.columns_per_screen = settings.columns_per_screen or {'portrait':0, 'landscape':0}
|
opts.base_font_size = max(8, min(settings.base_font_size, 64))
|
||||||
opts.margin_left = max(0, settings.margin_left or 0)
|
|
||||||
opts.margin_right = max(0, settings.margin_right or 0)
|
|
||||||
opts.color_scheme = settings.color_scheme
|
|
||||||
opts.base_font_size = max(8, min(settings.base_font_size or 16, 64))
|
|
||||||
opts.user_stylesheet = settings.user_stylesheet or ''
|
|
||||||
opts.hide_tooltips = settings.hide_tooltips
|
|
||||||
opts.cover_preserve_aspect_ratio = v'!!settings.cover_preserve_aspect_ratio'
|
|
||||||
opts.bg_image_fade = settings.bg_image_fade or 'transparent'
|
opts.bg_image_fade = settings.bg_image_fade or 'transparent'
|
||||||
opts.paged_wheel_scrolls_by_screen = v'!!settings.paged_wheel_scrolls_by_screen'
|
opts.color_scheme = settings.color_scheme
|
||||||
|
opts.columns_per_screen = settings.columns_per_screen
|
||||||
|
opts.cover_preserve_aspect_ratio = v'!!settings.cover_preserve_aspect_ratio'
|
||||||
|
opts.hide_tooltips = settings.hide_tooltips
|
||||||
opts.is_dark_theme = v'!!settings.is_dark_theme'
|
opts.is_dark_theme = v'!!settings.is_dark_theme'
|
||||||
opts.override_book_colors = settings.override_book_colors or 'never'
|
opts.margin_left = max(0, settings.margin_left)
|
||||||
|
opts.margin_right = max(0, settings.margin_right)
|
||||||
|
opts.override_book_colors = settings.override_book_colors
|
||||||
|
opts.paged_wheel_scrolls_by_screen = v'!!settings.paged_wheel_scrolls_by_screen'
|
||||||
|
opts.user_stylesheet = settings.user_stylesheet
|
||||||
|
|
||||||
update_settings()
|
update_settings()
|
||||||
|
|
||||||
|
@ -200,29 +200,29 @@ class View:
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
handlers = {
|
handlers = {
|
||||||
'ready': self.on_iframe_ready,
|
'bump_font_size': self.bump_font_size,
|
||||||
|
'content_loaded': self.on_content_loaded,
|
||||||
'error': self.on_iframe_error,
|
'error': self.on_iframe_error,
|
||||||
'next_spine_item': self.on_next_spine_item,
|
'find_in_spine': self.on_find_in_spine,
|
||||||
'next_section': self.on_next_section,
|
|
||||||
'lookup_word': self.on_lookup_word,
|
|
||||||
'goto_doc_boundary': def(data): self.goto_doc_boundary(data.start);,
|
'goto_doc_boundary': def(data): self.goto_doc_boundary(data.start);,
|
||||||
|
'handle_keypress': self.on_handle_keypress,
|
||||||
|
'handle_shortcut': self.on_handle_shortcut,
|
||||||
|
'human_scroll': self.on_human_scroll,
|
||||||
|
'lookup_word': self.on_lookup_word,
|
||||||
|
'next_section': self.on_next_section,
|
||||||
|
'next_spine_item': self.on_next_spine_item,
|
||||||
|
'print': self.on_print,
|
||||||
|
'ready': self.on_iframe_ready,
|
||||||
|
'reference_item_changed': self.on_reference_item_changed,
|
||||||
|
'report_cfi': self.on_report_cfi,
|
||||||
|
'request_size': self.on_request_size,
|
||||||
'scroll_to_anchor': self.on_scroll_to_anchor,
|
'scroll_to_anchor': self.on_scroll_to_anchor,
|
||||||
|
'selectionchange': self.on_selection_change,
|
||||||
|
'show_chrome': self.show_chrome,
|
||||||
|
'show_footnote': self.on_show_footnote,
|
||||||
'update_cfi': self.on_update_cfi,
|
'update_cfi': self.on_update_cfi,
|
||||||
'update_progress_frac': self.on_update_progress_frac,
|
'update_progress_frac': self.on_update_progress_frac,
|
||||||
'report_cfi': self.on_report_cfi,
|
|
||||||
'update_toc_position': self.on_update_toc_position,
|
'update_toc_position': self.on_update_toc_position,
|
||||||
'content_loaded': self.on_content_loaded,
|
|
||||||
'show_chrome': self.show_chrome,
|
|
||||||
'bump_font_size': self.bump_font_size,
|
|
||||||
'find_in_spine': self.on_find_in_spine,
|
|
||||||
'request_size': self.on_request_size,
|
|
||||||
'show_footnote': self.on_show_footnote,
|
|
||||||
'print': self.on_print,
|
|
||||||
'human_scroll': self.on_human_scroll,
|
|
||||||
'selectionchange': self.on_selection_change,
|
|
||||||
'handle_shortcut': self.on_handle_shortcut,
|
|
||||||
'handle_keypress': self.on_handle_keypress,
|
|
||||||
'reference_item_changed': self.on_reference_item_changed,
|
|
||||||
}
|
}
|
||||||
entry_point = None if runtime.is_standalone_viewer else 'read_book.iframe'
|
entry_point = None if runtime.is_standalone_viewer else 'read_book.iframe'
|
||||||
if runtime.is_standalone_viewer:
|
if runtime.is_standalone_viewer:
|
||||||
|
@ -9,72 +9,72 @@ from ajax import ajax_send
|
|||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
# Book list settings
|
# Book list settings
|
||||||
'view_mode': 'cover_grid',
|
'copy_to_library_dupes': 'add;overwrite',
|
||||||
'sort': 'timestamp.desc', # comma separated list of items of the form: field.order
|
|
||||||
'last_sort_order': {},
|
'last_sort_order': {},
|
||||||
'show_all_metadata': False, # show all metadata fields in the book details panel
|
'show_all_metadata': False, # show all metadata fields in the book details panel
|
||||||
'copy_to_library_dupes': 'add;overwrite',
|
'sort': 'timestamp.desc', # comma separated list of items of the form: field.order
|
||||||
|
'view_mode': 'cover_grid',
|
||||||
|
|
||||||
# Tag Browser settings
|
# Tag Browser settings
|
||||||
'partition_method': 'first letter', # other choices: 'disable', 'partition'
|
'and_search_terms': False, # how to add search terms to the search expression from the Tag Browser
|
||||||
'collapse_at': 25, # number of items at which sub-groups are created, 0 to disable
|
'collapse_at': 25, # number of items at which sub-groups are created, 0 to disable
|
||||||
'dont_collapse': '', # comma separated list of category names
|
'dont_collapse': '', # comma separated list of category names
|
||||||
'sort_tags_by': 'name', # other choices: popularity, rating
|
|
||||||
'hide_empty_categories': 'no',
|
'hide_empty_categories': 'no',
|
||||||
'and_search_terms': False, # how to add search terms to the search expression from the Tag Browser
|
'partition_method': 'first letter', # other choices: 'disable', 'partition'
|
||||||
|
'sort_tags_by': 'name', # other choices: popularity, rating
|
||||||
|
|
||||||
# Book reader settings
|
# Book reader settings
|
||||||
'margin_right': 20,
|
|
||||||
'margin_left': 20,
|
|
||||||
'margin_top': 20,
|
|
||||||
'margin_bottom': 20,
|
|
||||||
'read_mode': 'paged',
|
|
||||||
'cover_preserve_aspect_ratio': True,
|
|
||||||
'max_text_height': 0,
|
|
||||||
'max_text_width': 0,
|
|
||||||
'columns_per_screen': {'portrait':0, 'landscape':0},
|
|
||||||
'user_stylesheet': '',
|
|
||||||
'background_image': None,
|
|
||||||
'background_image_style': 'scaled',
|
|
||||||
'background_image_fade': 0,
|
'background_image_fade': 0,
|
||||||
'current_color_scheme': 'system',
|
'background_image_style': 'scaled',
|
||||||
'user_color_schemes': {},
|
'background_image': None,
|
||||||
'override_book_colors': 'never',
|
|
||||||
'base_font_size': 16,
|
'base_font_size': 16,
|
||||||
|
'book_scrollbar': False,
|
||||||
|
'columns_per_screen': {'portrait':0, 'landscape':0},
|
||||||
'controls_help_shown_count': 0,
|
'controls_help_shown_count': 0,
|
||||||
'header': {},
|
'cover_preserve_aspect_ratio': True,
|
||||||
|
'current_color_scheme': 'system',
|
||||||
'footer': {'right': 'progress'},
|
'footer': {'right': 'progress'},
|
||||||
'word_actions': v'[]',
|
'header': {},
|
||||||
'hide_tooltips': False,
|
'hide_tooltips': False,
|
||||||
'keyboard_shortcuts': {},
|
'keyboard_shortcuts': {},
|
||||||
'book_scrollbar': False,
|
'margin_bottom': 20,
|
||||||
|
'margin_left': 20,
|
||||||
|
'margin_right': 20,
|
||||||
|
'margin_top': 20,
|
||||||
|
'max_text_height': 0,
|
||||||
|
'max_text_width': 0,
|
||||||
|
'override_book_colors': 'never',
|
||||||
|
'paged_margin_clicks_scroll_by_screen': True,
|
||||||
|
'paged_wheel_scrolls_by_screen': False,
|
||||||
|
'read_mode': 'paged',
|
||||||
'standalone_font_settings': {},
|
'standalone_font_settings': {},
|
||||||
'standalone_misc_settings': {},
|
'standalone_misc_settings': {},
|
||||||
'standalone_recently_opened': v'[]',
|
'standalone_recently_opened': v'[]',
|
||||||
'paged_wheel_scrolls_by_screen': False,
|
'user_color_schemes': {},
|
||||||
'paged_margin_clicks_scroll_by_screen': True,
|
'user_stylesheet': '',
|
||||||
|
'word_actions': v'[]',
|
||||||
}
|
}
|
||||||
|
|
||||||
is_local_setting = {
|
is_local_setting = {
|
||||||
'margin_right': True,
|
'background_image_fade': True,
|
||||||
'margin_left': True,
|
'background_image_style': True,
|
||||||
'margin_top': True,
|
'background_image': True,
|
||||||
|
'base_font_size': True,
|
||||||
|
'columns_per_screen': True,
|
||||||
|
'controls_help_shown_count': True,
|
||||||
|
'current_color_scheme': True,
|
||||||
'margin_bottom': True,
|
'margin_bottom': True,
|
||||||
'read_mode': 'paged',
|
'margin_left': True,
|
||||||
|
'margin_right': True,
|
||||||
|
'margin_top': True,
|
||||||
'max_text_height': True,
|
'max_text_height': True,
|
||||||
'max_text_width': True,
|
'max_text_width': True,
|
||||||
'columns_per_screen': True,
|
|
||||||
'user_stylesheet': True,
|
|
||||||
'background_image': True,
|
|
||||||
'background_image_style': True,
|
|
||||||
'background_image_fade': True,
|
|
||||||
'current_color_scheme': True,
|
|
||||||
'override_book_colors': True,
|
'override_book_colors': True,
|
||||||
'base_font_size': True,
|
'read_mode': 'paged',
|
||||||
'controls_help_shown_count': True,
|
|
||||||
'standalone_font_settings': True,
|
'standalone_font_settings': True,
|
||||||
'standalone_misc_settings': True,
|
'standalone_misc_settings': True,
|
||||||
'standalone_recently_opened': True,
|
'standalone_recently_opened': True,
|
||||||
|
'user_stylesheet': True,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user