mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Update readerfooter.lua
This commit is contained in:
@@ -15,6 +15,21 @@ local Event = require("ui/event")
|
||||
local Font = require("ui/font")
|
||||
local DEBUG = require("dbg")
|
||||
|
||||
progress_text_default = ""
|
||||
if DMINIBAR_ALL_AT_ONCE then
|
||||
if DMINIBAR_TIME then
|
||||
progress_text_default = progress_text_default .. " | WW:WW"
|
||||
end
|
||||
if DMINIBAR_PAGES then
|
||||
progress_text_default = progress_text_default .. " | 0000 / 0000"
|
||||
end
|
||||
if DMINIBAR_NEXT_CHAPTER then
|
||||
progress_text_default = progress_text_default .. " | => 000"
|
||||
end
|
||||
progress_text_default = string.sub(progress_text_default,4)
|
||||
else
|
||||
progress_text_default = "0000 / 0000"
|
||||
end
|
||||
|
||||
local ReaderFooter = InputContainer:new{
|
||||
mode = 1,
|
||||
@@ -22,12 +37,11 @@ local ReaderFooter = InputContainer:new{
|
||||
pageno = nil,
|
||||
pages = nil,
|
||||
progress_percentage = 0.0,
|
||||
progress_text = "WW:WW | 0000 / 0000 Next: 000",
|
||||
-- show_time = true,
|
||||
progress_text = progress_text_default,
|
||||
text_font_face = "ffont",
|
||||
text_font_size = 14,
|
||||
height = Screen:scaleByDPI(19),
|
||||
padding = Screen:scaleByDPI(10)
|
||||
padding = Screen:scaleByDPI(10),
|
||||
}
|
||||
|
||||
function ReaderFooter:init()
|
||||
@@ -94,7 +108,6 @@ function ReaderFooter:init()
|
||||
self:applyFooterMode()
|
||||
end
|
||||
|
||||
|
||||
function ReaderFooter:fillToc()
|
||||
self.toc = self.ui.document:getToc()
|
||||
end
|
||||
@@ -102,23 +115,38 @@ end
|
||||
function ReaderFooter:updateFooterPage()
|
||||
if type(self.pageno) ~= "number" then return end
|
||||
self.progress_bar.percentage = self.pageno / self.pages
|
||||
|
||||
-- if self.show_time then
|
||||
self.progress_text.text = os.date("%H:%M") .. " | " .. string.format("%d / %d", self.pageno, self.pages) .. " Next: " .. self.ui.toc:_getChapterPagesLeft(self.pageno,self.pages)
|
||||
-- else
|
||||
-- self.progress_text.text = string.format("%d / %d", self.pageno, self.pages)
|
||||
-- end
|
||||
if DMINIBAR_ALL_AT_ONCE then
|
||||
self.progress_text.text = ""
|
||||
if DMINIBAR_TIME then
|
||||
self.progress_text.text = self.progress_text.text .. " | " .. os.date("%H:%M")
|
||||
end
|
||||
if DMINIBAR_PAGES then
|
||||
self.progress_text.text = self.progress_text.text .. " | " .. string.format("%d / %d", self.pageno, self.pages)
|
||||
end
|
||||
if DMINIBAR_NEXT_CHAPTER then
|
||||
self.progress_text.text = self.progress_text.text .. " | => " .. self.ui.toc:_getChapterPagesLeft(self.pageno,self.pages)
|
||||
end
|
||||
self.progress_text.text = string.sub(self.progress_text.text,4)
|
||||
else
|
||||
if self.mode == 1 then
|
||||
self.progress_text.text = string.format("%d / %d", self.pageno, self.pages)
|
||||
end if self.mode == 2 then
|
||||
self.progress_text.text = os.date("%H:%M")
|
||||
end if self.mode == 3 then
|
||||
self.progress_text.text = "=> " .. self.ui.toc:_getChapterPagesLeft(self.pageno,self.pages)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function ReaderFooter:updateFooterPos()
|
||||
if type(self.position) ~= "number" then return end
|
||||
self.progress_bar.percentage = self.position / self.doc_height
|
||||
|
||||
-- if self.show_time then
|
||||
if self.show_time then
|
||||
self.progress_text.text = os.date("%H:%M")
|
||||
-- else
|
||||
-- self.progress_text.text = string.format("%1.f", self.progress_bar.percentage*100).."%"
|
||||
-- end
|
||||
else
|
||||
self.progress_text.text = string.format("%1.f", self.progress_bar.percentage*100).."%"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -138,18 +166,14 @@ function ReaderFooter:applyFooterMode(mode)
|
||||
-- three modes switcher for reader footer
|
||||
-- 0 for footer off
|
||||
-- 1 for footer page info
|
||||
-- 2 for footer time info (WS64: unused!)
|
||||
-- 2 for footer time info
|
||||
-- 3 for footer next_chapter info
|
||||
if mode ~= nil then self.mode = mode end
|
||||
if self.mode == 0 then
|
||||
self.view.footer_visible = false
|
||||
else
|
||||
self.view.footer_visible = true
|
||||
end
|
||||
-- if self.mode == 1 then
|
||||
-- self.show_time = false
|
||||
-- elseif self.mode == 2 then
|
||||
-- self.show_time = true
|
||||
-- end
|
||||
end
|
||||
|
||||
function ReaderFooter:onEnterFlippingMode()
|
||||
@@ -171,7 +195,19 @@ function ReaderFooter:onTapFooter(arg, ges)
|
||||
self.ui:handleEvent(Event:new("GotoPercentage", percentage))
|
||||
end
|
||||
else
|
||||
self.mode = 1 - self.mode
|
||||
self.mode = (self.mode + 1) % 4
|
||||
if DMINIBAR_ALL_AT_ONCE and (self.mode > 1) then
|
||||
self.mode = 0
|
||||
end
|
||||
if (self.mode == 1) and not DMINIBAR_PAGES then
|
||||
self.mode = 2
|
||||
end
|
||||
if (self.mode == 2) and not DMINIBAR_TIME then
|
||||
self.mode = 3
|
||||
end
|
||||
if (self.mode == 3) and not DMINIBAR_NEXT_CHAPTER then
|
||||
self.mode = 0
|
||||
end
|
||||
self:applyFooterMode()
|
||||
end
|
||||
if self.pageno then
|
||||
|
||||
Reference in New Issue
Block a user