mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
move refresh menu table out of UIManager
no need to clutter a core file of the whole UI concept with definitions of UI elements
This commit is contained in:
@@ -16,6 +16,7 @@ if Device:hasFrontlight() then
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
table.insert(common_settings, {
|
||||
text = _("Night mode"),
|
||||
checked_func = function() return G_reader_settings:readSetting("night_mode") end,
|
||||
@@ -37,7 +38,7 @@ table.insert(common_settings, {
|
||||
sub_item_table = {
|
||||
require("ui/elements/screen_dpi_menu_table"),
|
||||
require("ui/elements/screen_eink_opt_menu_table"),
|
||||
UIManager:getRefreshMenuTable(),
|
||||
require("ui/elements/refresh_menu_table"),
|
||||
},
|
||||
})
|
||||
table.insert(common_settings, Language:getLangMenuTable())
|
||||
|
||||
71
frontend/ui/elements/refresh_menu_table.lua
Normal file
71
frontend/ui/elements/refresh_menu_table.lua
Normal file
@@ -0,0 +1,71 @@
|
||||
local UIManager = require("ui/uimanager")
|
||||
local util = require("ffi/util")
|
||||
local _ = require("gettext")
|
||||
|
||||
local function custom_1() return G_reader_settings:readSetting("refresh_rate_1") or 12 end
|
||||
|
||||
local function custom_2() return G_reader_settings:readSetting("refresh_rate_2") or 22 end
|
||||
|
||||
local function custom_3() return G_reader_settings:readSetting("refresh_rate_3") or 99 end
|
||||
|
||||
local function custom_input(name)
|
||||
return {
|
||||
title = _("Input page number for a full refresh"),
|
||||
type = "number",
|
||||
hint = "(1 - 99)",
|
||||
callback = function(input)
|
||||
local rate = tonumber(input)
|
||||
G_reader_settings:saveSetting(name, rate)
|
||||
UIManager:setRefreshRate(rate)
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
text = _("E-ink full refresh rate"),
|
||||
sub_item_table = {
|
||||
{
|
||||
text = _("Every page"),
|
||||
checked_func = function() return UIManager:getRefreshRate() == 1 end,
|
||||
callback = function() UIManager:setRefreshRate(1) end,
|
||||
},
|
||||
{
|
||||
text = _("Every 6 pages"),
|
||||
checked_func = function() return UIManager:getRefreshRate() == 6 end,
|
||||
callback = function() UIManager:setRefreshRate(6) end,
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 1: %1 pages"),
|
||||
custom_1()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_1() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_1()) end,
|
||||
hold_input = custom_input("refresh_rate_1")
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 2: %1 pages"),
|
||||
custom_2()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_2() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_2()) end,
|
||||
hold_input = custom_input("refresh_rate_2")
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 3: %1 pages"),
|
||||
custom_3()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_3() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_3()) end,
|
||||
hold_input = custom_input("refresh_rate_3")
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -431,72 +431,6 @@ function UIManager:run()
|
||||
end
|
||||
end
|
||||
|
||||
function UIManager:getRefreshMenuTable()
|
||||
local function custom_1() return G_reader_settings:readSetting("refresh_rate_1") or 12 end
|
||||
local function custom_2() return G_reader_settings:readSetting("refresh_rate_2") or 22 end
|
||||
local function custom_3() return G_reader_settings:readSetting("refresh_rate_3") or 99 end
|
||||
local function custom_input(name)
|
||||
return {
|
||||
title = _("Input page number for a full refresh"),
|
||||
type = "number",
|
||||
hint = "(1 - 99)",
|
||||
callback = function(input)
|
||||
local rate = tonumber(input)
|
||||
G_reader_settings:saveSetting(name, rate)
|
||||
UIManager:setRefreshRate(rate)
|
||||
end,
|
||||
}
|
||||
end
|
||||
return {
|
||||
text = _("E-ink full refresh rate"),
|
||||
sub_item_table = {
|
||||
{
|
||||
text = _("Every page"),
|
||||
checked_func = function() return UIManager:getRefreshRate() == 1 end,
|
||||
callback = function() UIManager:setRefreshRate(1) end,
|
||||
},
|
||||
{
|
||||
text = _("Every 6 pages"),
|
||||
checked_func = function() return UIManager:getRefreshRate() == 6 end,
|
||||
callback = function() UIManager:setRefreshRate(6) end,
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 1: %1 pages"),
|
||||
custom_1()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_1() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_1()) end,
|
||||
hold_input = custom_input("refresh_rate_1")
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 2: %1 pages"),
|
||||
custom_2()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_2() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_2()) end,
|
||||
hold_input = custom_input("refresh_rate_2")
|
||||
},
|
||||
{
|
||||
text_func = function()
|
||||
return util.template(
|
||||
_("Custom 3: %1 pages"),
|
||||
custom_3()
|
||||
)
|
||||
end,
|
||||
checked_func = function() return UIManager:getRefreshRate() == custom_3() end,
|
||||
callback = function() UIManager:setRefreshRate(custom_3()) end,
|
||||
hold_input = custom_input("refresh_rate_3")
|
||||
},
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
UIManager:init()
|
||||
return UIManager
|
||||
|
||||
|
||||
Reference in New Issue
Block a user