diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index b2c5adc17..f36dc4dc8 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -97,48 +97,11 @@ function FileManagerMenu:setUpdateItemTable() end }) - -- TODO: refactor out redundant code between reader menu and filemanager menu - table.insert(self.tab_item_table.setting, { - text = _("Font size"), - sub_item_table = { - { - text = _("Auto"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi == nil - end, - callback = function() Screen:setDPI() end - }, - { - text = _("Small"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi <= 140 - end, - callback = function() Screen:setDPI(120) end - }, - { - text = _("Medium"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi > 140 and dpi <= 200 - end, - callback = function() Screen:setDPI(160) end - }, - { - text = _("Large"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi > 200 - end, - callback = function() Screen:setDPI(240) end - }, - } - }) + table.insert(self.tab_item_table.setting, Screen:getDPIMenuTable()) table.insert(self.tab_item_table.setting, Language:getLangMenuTable()) -- info tab - table.insert(self.tab_item_table.info, OTAManager:genMenuEntry()) + table.insert(self.tab_item_table.info, OTAManager:getOTAMenuTable()) table.insert(self.tab_item_table.info, { text = _("Version"), callback = function() diff --git a/frontend/apps/reader/modules/readermenu.lua b/frontend/apps/reader/modules/readermenu.lua index c5e571808..ba0d3252e 100644 --- a/frontend/apps/reader/modules/readermenu.lua +++ b/frontend/apps/reader/modules/readermenu.lua @@ -89,43 +89,7 @@ function ReaderMenu:setUpdateItemTable() G_reader_settings:saveSetting("night_mode", not night_mode) end }) - table.insert(self.tab_item_table.setting, { - text = _("Font size"), - sub_item_table = { - { - text = _("Auto"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi == nil - end, - callback = function() Screen:setDPI() end - }, - { - text = _("Small"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi <= 140 - end, - callback = function() Screen:setDPI(120) end - }, - { - text = _("Medium"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi > 140 and dpi <= 200 - end, - callback = function() Screen:setDPI(160) end - }, - { - text = _("Large"), - checked_func = function() - local dpi = G_reader_settings:readSetting("screen_dpi") - return dpi and dpi > 200 - end, - callback = function() Screen:setDPI(240) end - }, - } - }) + table.insert(self.tab_item_table.setting, Screen:getDPIMenuTable()) table.insert(self.tab_item_table.setting, self:genRefreshRateMenu()) table.insert(self.tab_item_table.setting, { text = _("Show advanced options"), @@ -138,7 +102,7 @@ function ReaderMenu:setUpdateItemTable() table.insert(self.tab_item_table.setting, Language:getLangMenuTable()) -- info tab - table.insert(self.tab_item_table.info, OTAManager:genMenuEntry()) + table.insert(self.tab_item_table.info, OTAManager:getOTAMenuTable()) table.insert(self.tab_item_table.info, { text = _("Version"), callback = function() diff --git a/frontend/ui/device/screen.lua b/frontend/ui/device/screen.lua index b3f3ae4c2..b87ffd790 100644 --- a/frontend/ui/device/screen.lua +++ b/frontend/ui/device/screen.lua @@ -1,7 +1,8 @@ local Blitbuffer = require("ffi/blitbuffer") local Geom = require("ui/geometry") -local DEBUG = require("dbg") local util = require("ffi/util") +local DEBUG = require("dbg") +local _ = require("gettext") -- Blitbuffer -- einkfb @@ -236,5 +237,45 @@ function Screen:restoreFromBB(bb) end end +function Screen:getDPIMenuTable() + return { + text = _("Font size"), + sub_item_table = { + { + text = _("Auto"), + checked_func = function() + local dpi = G_reader_settings:readSetting("screen_dpi") + return dpi == nil + end, + callback = function() Screen:setDPI() end + }, + { + text = _("Small"), + checked_func = function() + local dpi = G_reader_settings:readSetting("screen_dpi") + return dpi and dpi <= 140 + end, + callback = function() Screen:setDPI(120) end + }, + { + text = _("Medium"), + checked_func = function() + local dpi = G_reader_settings:readSetting("screen_dpi") + return dpi and dpi > 140 and dpi <= 200 + end, + callback = function() Screen:setDPI(160) end + }, + { + text = _("Large"), + checked_func = function() + local dpi = G_reader_settings:readSetting("screen_dpi") + return dpi and dpi > 200 + end, + callback = function() Screen:setDPI(240) end + }, + } + } +end + return Screen diff --git a/frontend/ui/otamanager.lua b/frontend/ui/otamanager.lua index 10a48769e..4949affd5 100644 --- a/frontend/ui/otamanager.lua +++ b/frontend/ui/otamanager.lua @@ -89,7 +89,7 @@ function OTAManager:zsync() end end -function OTAManager:genMenuEntry() +function OTAManager:getOTAMenuTable() return { text = _("Check update"), callback = function()