move e-ink related settings to a submenu (#4246)

pull/4267/head
Martín Fernández 6 years ago 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)

Loading…
Cancel
Save