From 9e4cb593275362293bc62e24cc9e6025632d581a Mon Sep 17 00:00:00 2001 From: poire-z Date: Mon, 14 May 2018 20:35:49 +0200 Subject: [PATCH] Re-order typeset menu (#3946) And add symbols for default and fallback to the Hyphenation menu, as it was done recently to the Font menu. --- .../apps/reader/modules/readerhyphenation.lua | 18 +++++++++++++++--- frontend/ui/elements/reader_menu_order.lua | 11 ++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/frontend/apps/reader/modules/readerhyphenation.lua b/frontend/apps/reader/modules/readerhyphenation.lua index 8e35d7ef7..a3f925dbe 100644 --- a/frontend/apps/reader/modules/readerhyphenation.lua +++ b/frontend/apps/reader/modules/readerhyphenation.lua @@ -64,7 +64,16 @@ function ReaderHyphenation:init() for k,v in ipairs(lang_data) do self.hyph_algs_settings[v.filename] = v -- just store full table table.insert(self.hyph_table, { - text = v.name, + text_func = function() + local text = v.name + if v.filename == G_reader_settings:readSetting("hyph_alg_default") then + text = text .. " ★" + end + if v.filename == G_reader_settings:readSetting("hyph_alg_fallback") then + text = text .. " �" + end + return text + end, callback = function() self.hyph_alg = v.filename self.ui.doc_settings:saveSetting("hyph_alg", self.hyph_alg) @@ -79,23 +88,26 @@ function ReaderHyphenation:init() -- signal readerrolling to update pos in new height, and redraw page self.ui:handleEvent(Event:new("UpdatePos")) end, - hold_callback = function() + hold_may_update_menu = true, + hold_callback = function(refresh_menu_func) UIManager:show(MultiConfirmBox:new{ -- No real need for a way to remove default one, we can just -- toggle between setting a default OR a fallback (if a default -- one is set, no fallback will ever be used - if a fallback one -- is set, no default is wanted; so when we set one below, we -- remove the other). - text = T( _("Set default or fallback hyphenation pattern to %1?\nDefault will always take precedence while fallback will only be used if the language of the book can't be automatically determined."), v.name), + text = T( _("Would you like %1 to be used as the default (★) or fallback (�) hyphenation language?\n\nDefault will always take precedence while fallback will only be used if the language of the book can't be automatically determined."), v.name), choice1_text = _("Default"), choice1_callback = function() G_reader_settings:saveSetting("hyph_alg_default", v.filename) G_reader_settings:delSetting("hyph_alg_fallback") + if refresh_menu_func then refresh_menu_func() end end, choice2_text = _("Fallback"), choice2_callback = function() G_reader_settings:saveSetting("hyph_alg_fallback", v.filename) G_reader_settings:delSetting("hyph_alg_default") + if refresh_menu_func then refresh_menu_func() end end, }) end, diff --git a/frontend/ui/elements/reader_menu_order.lua b/frontend/ui/elements/reader_menu_order.lua index ad058a011..30190540e 100644 --- a/frontend/ui/elements/reader_menu_order.lua +++ b/frontend/ui/elements/reader_menu_order.lua @@ -20,18 +20,19 @@ local order = { "follow_links", }, typeset = { - "page_overlap", - "switch_zoom_mode", "set_render_style", "style_tweaks", "----------------------------", - "highlight_options", - "----------------------------", - "floating_punctuation", "change_font", "hyphenation", + "floating_punctuation", "----------------------------", + "switch_zoom_mode", + "----------------------------", + "page_overlap", "speed_reading_module_perception_expander", + "----------------------------", + "highlight_options", }, setting = { "read_from_right_to_left",