diff --git a/plugins/coverbrowser.koplugin/listmenu.lua b/plugins/coverbrowser.koplugin/listmenu.lua index e32259ba4..5c981e146 100644 --- a/plugins/coverbrowser.koplugin/listmenu.lua +++ b/plugins/coverbrowser.koplugin/listmenu.lua @@ -13,6 +13,7 @@ local InfoMessage = require("ui/widget/infomessage") local InputContainer = require("ui/widget/container/inputcontainer") local LeftContainer = require("ui/widget/container/leftcontainer") local LineWidget = require("ui/widget/linewidget") +local Math = require("optmath") local OverlapGroup = require("ui/widget/overlapgroup") local RightContainer = require("ui/widget/container/rightcontainer") local Size = require("ui/size") @@ -364,7 +365,14 @@ function ListMenuItem:update() end elseif percent_finished then if pages then - pages_str = T(_("%1 % of %2 pages"), math.floor(100*percent_finished), pages) + if BookInfoManager:getSetting("show_pages_read_as_progress") then + pages_str = T(_("page %1 of %2"), Math.round(percent_finished*pages), pages) + else + pages_str = T(_("%1 % of %2 pages"), math.floor(100*percent_finished), pages) + end + if BookInfoManager:getSetting("show_pages_left_in_progress") then + pages_str = T(_("%1, %2 to read"), pages_str, Math.round(pages-percent_finished*pages), pages) + end else pages_str = string.format("%d %%", math.floor(100*percent_finished)) end diff --git a/plugins/coverbrowser.koplugin/main.lua b/plugins/coverbrowser.koplugin/main.lua index 44cda8639..608a72727 100644 --- a/plugins/coverbrowser.koplugin/main.lua +++ b/plugins/coverbrowser.koplugin/main.lua @@ -294,6 +294,30 @@ function CoverBrowser:addToMainMenu(menu_items) self:refreshFileManagerInstance() end, }, + { + text = _("Show number of pages read instead of progress %"), + checked_func = function() return BookInfoManager:getSetting("show_pages_read_as_progress") end, + callback = function() + if BookInfoManager:getSetting("show_pages_read_as_progress") then + BookInfoManager:saveSetting("show_pages_read_as_progress", false) + else + BookInfoManager:saveSetting("show_pages_read_as_progress", true) + end + self:refreshFileManagerInstance() + end, + }, + { + text = _("Show number of pages left to read"), + checked_func = function() return BookInfoManager:getSetting("show_pages_left_in_progress") end, + callback = function() + if BookInfoManager:getSetting("show_pages_left_in_progress") then + BookInfoManager:saveSetting("show_pages_left_in_progress", false) + else + BookInfoManager:saveSetting("show_pages_left_in_progress", true) + end + self:refreshFileManagerInstance() + end, + }, { text = _("Append series metadata to authors"), checked_func = function() return BookInfoManager:getSetting("append_series_to_authors") end,