diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index ea499c083..c327ffc4f 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -94,6 +94,7 @@ function ReaderMenu:setUpdateItemTable() text = _("Screen settings"), sub_item_table = { require("ui/elements/screen_dpi_menu_table"), + require("ui/elements/screen_eink_opt_menu_table"), UIManager:getRefreshMenuTable(), }, }) diff --git a/frontend/apps/reader/modules/readerpaging.lua b/frontend/apps/reader/modules/readerpaging.lua index 1c685af7a..e057bc02a 100644 --- a/frontend/apps/reader/modules/readerpaging.lua +++ b/frontend/apps/reader/modules/readerpaging.lua @@ -103,7 +103,7 @@ function ReaderPaging:initGesListener() w = Screen:getWidth(), h = Screen:getHeight(), }, - rate = 4.0, + rate = Screen.eink and 4.0 or nil, } }, PanRelease = { diff --git a/frontend/apps/reader/modules/readerrolling.lua b/frontend/apps/reader/modules/readerrolling.lua index a35539c07..88f72d755 100644 --- a/frontend/apps/reader/modules/readerrolling.lua +++ b/frontend/apps/reader/modules/readerrolling.lua @@ -139,7 +139,7 @@ function ReaderRolling:initGesListener() w = Screen:getWidth(), h = Screen:getHeight(), }, - rate = 4.0, + rate = Screen.eink and 4.0 or nil, } }, DoubleTapForward = { diff --git a/frontend/apps/reader/modules/readerrotation.lua b/frontend/apps/reader/modules/readerrotation.lua index 297e48c01..8810f8146 100644 --- a/frontend/apps/reader/modules/readerrotation.lua +++ b/frontend/apps/reader/modules/readerrotation.lua @@ -35,7 +35,7 @@ function ReaderRotation:init() w = Screen:getWidth(), h = Screen:getHeight(), }, - rate = 0.3 + rate = 0.3, } }, } diff --git a/frontend/ui/elements/screen_eink_opt_menu_table.lua b/frontend/ui/elements/screen_eink_opt_menu_table.lua new file mode 100644 index 000000000..fc60d87d3 --- /dev/null +++ b/frontend/ui/elements/screen_eink_opt_menu_table.lua @@ -0,0 +1,14 @@ +local _ = require("gettext") +local Screen = require("device").screen + +local eink = G_reader_settings:readSetting("eink") +Screen.eink = (eink == nil) and true or eink + +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, +}