mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
LuaSettings: Add a method to initialize a setting properly (#7371)
* LuaSettings/DocSettings: Updated readSetting API to allow proper initialization to default. Use it to initialize tables, e.g., fixing corner-cases in readerFooter that could prevent settings from being saved. (Fixes an issue reported on Gitter). * LuaSettings/DocSettings: Add simpler API than the the flip* ones to toggle boolean settings. * Update LuaSettings/DocSettigns usage throughout the codebase to use the dedicated boolean methods wher appropriate, and clean up some of the more mind-bending uses. * FileChooser: Implement an extended default exclusion list (fix #2360) * ScreenSaver: Refactor to avoid the pile of kludges this was threatening to become. Code should be easier to follow and use, and fallbacks now behave as expected (fix #4418).
This commit is contained in:
@@ -88,18 +88,20 @@ function ReaderPageMap:resetLayout()
|
||||
end
|
||||
|
||||
function ReaderPageMap:onReadSettings(config)
|
||||
local h_margins = config:readSetting("copt_h_page_margins") or
|
||||
G_reader_settings:readSetting("copt_h_page_margins") or
|
||||
DCREREADER_CONFIG_H_MARGIN_SIZES_MEDIUM
|
||||
local h_margins = config:readSetting("copt_h_page_margins")
|
||||
or G_reader_settings:readSetting("copt_h_page_margins")
|
||||
or DCREREADER_CONFIG_H_MARGIN_SIZES_MEDIUM
|
||||
self.max_left_label_width = Screen:scaleBySize(h_margins[1])
|
||||
self.max_right_label_width = Screen:scaleBySize(h_margins[2])
|
||||
|
||||
self.show_page_labels = config:readSetting("pagemap_show_page_labels")
|
||||
if self.show_page_labels == nil then
|
||||
if config:has("pagemap_show_page_labels") then
|
||||
self.show_page_labels = config:isTrue("pagemap_show_page_labels")
|
||||
else
|
||||
self.show_page_labels = G_reader_settings:nilOrTrue("pagemap_show_page_labels")
|
||||
end
|
||||
self.use_page_labels = config:readSetting("pagemap_use_page_labels")
|
||||
if self.use_page_labels == nil then
|
||||
if config:has("pagemap_use_page_labels") then
|
||||
self.use_page_labels = config:isTrue("pagemap_use_page_labels")
|
||||
else
|
||||
self.use_page_labels = G_reader_settings:isTrue("pagemap_use_page_labels")
|
||||
end
|
||||
end
|
||||
@@ -352,14 +354,14 @@ function ReaderPageMap:addToMainMenu(menu_items)
|
||||
return use_page_labels and _("Renderer") or _("Renderer (★)")
|
||||
end,
|
||||
choice1_callback = function()
|
||||
G_reader_settings:saveSetting("pagemap_use_page_labels", false)
|
||||
G_reader_settings:makeFalse("pagemap_use_page_labels")
|
||||
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||
end,
|
||||
choice2_text_func = function()
|
||||
return use_page_labels and _("Reference (★)") or _("Reference")
|
||||
end,
|
||||
choice2_callback = function()
|
||||
G_reader_settings:saveSetting("pagemap_use_page_labels", true)
|
||||
G_reader_settings:makeTrue("pagemap_use_page_labels")
|
||||
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||
end,
|
||||
})
|
||||
@@ -385,14 +387,14 @@ function ReaderPageMap:addToMainMenu(menu_items)
|
||||
return show_page_labels and _("Hide") or _("Hide (★)")
|
||||
end,
|
||||
choice1_callback = function()
|
||||
G_reader_settings:saveSetting("pagemap_show_page_labels", false)
|
||||
G_reader_settings:makeFalse("pagemap_show_page_labels")
|
||||
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||
end,
|
||||
choice2_text_func = function()
|
||||
return show_page_labels and _("Show (★)") or _("Show")
|
||||
end,
|
||||
choice2_callback = function()
|
||||
G_reader_settings:saveSetting("pagemap_show_page_labels", true)
|
||||
G_reader_settings:makeTrue("pagemap_show_page_labels")
|
||||
if touchmenu_instance then touchmenu_instance:updateItems() end
|
||||
end,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user