mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
move e-ink related settings to a submenu (#4246)
This commit is contained in:
committed by
Frans de Jonge
parent
42a7dd4502
commit
717184f1d6
@@ -88,7 +88,7 @@ end
|
||||
|
||||
function ReaderUI:init()
|
||||
-- cap screen refresh on pan to 2 refreshes per second
|
||||
local pan_rate = Screen.eink and 2.0 or 30.0
|
||||
local pan_rate = Screen.low_pan_rate and 2.0 or 30.0
|
||||
|
||||
self.postInitCallback = {}
|
||||
self.postReaderCallback = {}
|
||||
|
||||
@@ -77,8 +77,8 @@ function Device:init()
|
||||
|
||||
self.screen.isBGRFrameBuffer = self.hasBGRFrameBuffer
|
||||
|
||||
local is_eink = G_reader_settings:readSetting("eink")
|
||||
self.screen.eink = (is_eink == nil) or is_eink
|
||||
local low_pan_rate = G_reader_settings:readSetting("low_pan_rate")
|
||||
self.screen.low_pan_rate = (low_pan_rate == nil) or low_pan_rate
|
||||
|
||||
logger.info("initializing for device", self.model)
|
||||
logger.info("framebuffer resolution:", self.screen:getSize())
|
||||
|
||||
@@ -109,20 +109,18 @@ common_settings.screen = {
|
||||
text = _("Screen"),
|
||||
sub_item_table = {
|
||||
require("ui/elements/screen_dpi_menu_table"),
|
||||
require("ui/elements/refresh_menu_table"),
|
||||
require("ui/elements/screen_eink_opt_menu_table"),
|
||||
require("ui/elements/menu_activate"),
|
||||
require("ui/elements/screen_disable_double_tap_table"),
|
||||
require("ui/elements/flash_ui"),
|
||||
require("ui/elements/flash_keyboard"),
|
||||
require("ui/elements/avoid_flashing_ui"),
|
||||
},
|
||||
}
|
||||
if Screen.isColorScreen() then
|
||||
table.insert(common_settings.screen.sub_item_table, 4, require("ui/elements/screen_color_menu_table"))
|
||||
common_settings.screen.sub_item_table[4].separator = true
|
||||
else
|
||||
table.insert(common_settings.screen.sub_item_table, 3, require("ui/elements/screen_color_menu_table"))
|
||||
common_settings.screen.sub_item_table[3].separator = true
|
||||
else
|
||||
common_settings.screen.sub_item_table[2].separator = true
|
||||
end
|
||||
if Device:isAndroid() then
|
||||
table.insert(common_settings.screen.sub_item_table, require("ui/elements/screen_fullscreen_menu_table"))
|
||||
|
||||
@@ -22,7 +22,8 @@ local function custom_input(name)
|
||||
end
|
||||
|
||||
return {
|
||||
text = _("E-ink full refresh rate"),
|
||||
text = _("Full refresh rate"),
|
||||
separator = true,
|
||||
sub_item_table = {
|
||||
{
|
||||
text = _("Every page"),
|
||||
|
||||
@@ -2,10 +2,24 @@ local _ = require("gettext")
|
||||
local Screen = require("device").screen
|
||||
|
||||
return {
|
||||
text = _("E-ink optimization"),
|
||||
checked_func = function() return Screen.eink end,
|
||||
callback = function()
|
||||
Screen.eink = not Screen.eink
|
||||
G_reader_settings:saveSetting("eink", Screen.eink)
|
||||
end,
|
||||
text = _("E-ink settings"),
|
||||
sub_item_table = {
|
||||
require("ui/elements/refresh_menu_table"),
|
||||
{
|
||||
text = _("Use smaller panning rate"),
|
||||
checked_func = function() return Screen.low_pan_rate end,
|
||||
callback = function()
|
||||
Screen.low_pan_rate = not Screen.low_pan_rate
|
||||
G_reader_settings:saveSetting("low_pan_rate", Screen.low_pan_rate)
|
||||
end,
|
||||
},
|
||||
{
|
||||
text = _("Avoid mandatory black flashes in UI"),
|
||||
checked_func = function() return G_reader_settings:isTrue("avoid_flashing_ui") end,
|
||||
callback = function()
|
||||
G_reader_settings:flipNilOrFalse("avoid_flashing_ui")
|
||||
end,
|
||||
},
|
||||
|
||||
},
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ describe("eink optimization setting", function()
|
||||
end)
|
||||
|
||||
it("should be correctly loaded", function()
|
||||
G_reader_settings:saveSetting("eink", true)
|
||||
assert.Equals(require("device").screen.eink, true)
|
||||
G_reader_settings:saveSetting("low_pan_rate", true)
|
||||
assert.Equals(require("device").screen.low_pan_rate, true)
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user