mirror of
https://github.com/koreader/koreader.git
synced 2025-12-13 20:36:53 +01:00
readercoptlistener: fix overriding (#14638)
This commit is contained in:
@@ -88,19 +88,17 @@ function ReaderCoptListener:onReaderReady()
|
||||
end
|
||||
|
||||
function ReaderCoptListener:updatePageInfoOverride(pageno)
|
||||
pageno = pageno or self.ui.view.footer.pageno
|
||||
|
||||
if self.document.configurable.status_line ~= 0 or self.view.view_mode ~= "page"
|
||||
or not self.page_info_override or not next(self.additional_header_content) then
|
||||
|
||||
if self.document.configurable.status_line ~= 0 or self.view.view_mode ~= "page" -- no alt status bar
|
||||
or not (self.page_info_override or next(self.additional_header_content)) -- no items to override
|
||||
then
|
||||
self.document:setPageInfoOverride("")
|
||||
return
|
||||
end
|
||||
|
||||
-- There are a few cases where we may not be updated on change, at least:
|
||||
-- - when toggling ReaderPageMap's "Use reference page numbers"
|
||||
-- - when changing footer's nb of digits after decimal point
|
||||
-- but we will update on next page turn. Let's not bother.
|
||||
|
||||
pageno = pageno or self.view.footer.pageno
|
||||
local page_pre = ""
|
||||
local page_number = pageno
|
||||
local page_sep = " / "
|
||||
@@ -117,19 +115,18 @@ function ReaderCoptListener:updatePageInfoOverride(pageno)
|
||||
-- but here each item (page number, page counte, percentage) is individually toggable,
|
||||
-- so try to get something that make sense when not all are enabled
|
||||
if self.ui.pagemap and self.ui.pagemap:wantsPageLabels() then
|
||||
-- These become strings here
|
||||
page_number = self.ui.pagemap:getCurrentPageLabel(true)
|
||||
page_count = self.ui.pagemap:getLastPageLabel(true)
|
||||
elseif self.ui.document:hasHiddenFlows() then
|
||||
local flow = self.ui.document:getPageFlow(pageno)
|
||||
page_number = tostring(self.ui.document:getPageNumberInFlow(pageno))
|
||||
page_count = tostring(self.ui.document:getTotalPagesInFlow(flow))
|
||||
page_number = self.ui.document:getPageNumberInFlow(pageno)
|
||||
page_count = self.ui.document:getTotalPagesInFlow(flow)
|
||||
percentage = page_number / page_count
|
||||
if flow == 0 then
|
||||
page_sep = " // "
|
||||
else
|
||||
page_pre = "["
|
||||
page_post = "]"..tostring(flow)
|
||||
page_post = "]" .. flow
|
||||
percentage_pre = "["
|
||||
percentage_post = "]"
|
||||
end
|
||||
@@ -208,6 +205,11 @@ function ReaderCoptListener:onPosUpdate(pos, pageno)
|
||||
self:updatePageInfoOverride(pageno)
|
||||
end
|
||||
|
||||
function ReaderCoptListener:onUsePageLabelsUpdated()
|
||||
self:updatePageInfoOverride()
|
||||
self:updateHeader()
|
||||
end
|
||||
|
||||
function ReaderCoptListener:onBookMetadataChanged(prop_updated)
|
||||
-- custom metadata support for alt status bar and cre synthetic cover
|
||||
local prop_key = prop_updated and prop_updated.metadata_key_updated
|
||||
|
||||
Reference in New Issue
Block a user