diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index 74072622c..4c6614a7c 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -18,6 +18,8 @@ local DEBUG = require("dbg") local _ = require("gettext") local util = require("util") +local auto_refresh_scheduled = false + local ReaderFooter = InputContainer:new{ mode = 1, visible = true, @@ -157,10 +159,14 @@ function ReaderFooter:init() end self.mode = G_reader_settings:readSetting("reader_footer_mode") or self.mode self:applyFooterMode() + if self.settings.auto_refresh_time and not auto_refresh_scheduled then + self:autoRefreshTime() + end end local options = { all_at_once = _("Show all at once"), + auto_refresh_time = _("Auto refresh time"), progress_bar = _("Progress bar"), toc_markers = _("Chapter markers"), battery = _("Battery status"), @@ -180,7 +186,7 @@ function ReaderFooter:addToMainMenu(tab_item_table) return self.settings[option] == true end, enabled_func = function() - return not self.settings.diabled + return not self.settings.disabled end, callback = function() self.settings[option] = not self.settings[option] @@ -194,6 +200,7 @@ function ReaderFooter:addToMainMenu(tab_item_table) text = _("Status bar"), sub_item_table = { get_minibar_option("all_at_once"), + get_minibar_option("auto_refresh_time"), get_minibar_option("progress_bar"), get_minibar_option("toc_markers"), get_minibar_option("battery"), @@ -207,6 +214,19 @@ function ReaderFooter:addToMainMenu(tab_item_table) }) end +function ReaderFooter:autoRefreshTime() + if self.settings.auto_refresh_time then + UIManager:scheduleIn(61 - tonumber(os.date("%S")) , function() + self:autoRefreshTime() + self:updateFooterPage() + UIManager:setDirty(self.view.dialog, "ui", self[1][1][1].dimen) + end) + auto_refresh_scheduled = true + else + auto_refresh_scheduled = false + end +end + function ReaderFooter:getBatteryInfo() local powerd = Device:getPowerDevice() return "B:" .. (powerd:isCharging() and "+" or "") .. powerd:getCapacity() .. "%" @@ -244,7 +264,6 @@ function ReaderFooter:getChapterTimeToRead() return self:getDataFromStatistics("TC: ", (left and left or self.pages - self.pageno)) end - function ReaderFooter:getDataFromStatistics(title, pages) local statistics_data = self.ui.doc_settings:readSetting("stats") local sec = 'na' @@ -256,7 +275,6 @@ function ReaderFooter:getDataFromStatistics(title, pages) return title .. sec end - function ReaderFooter:updateFooterPage() if type(self.pageno) ~= "number" then return end self.progress_bar.percentage = self.pageno / self.pages