2016-02-02 19:38:14 +02:00
|
|
|
local InputContainer = require("ui/widget/container/inputcontainer")
|
2016-03-06 21:38:20 -08:00
|
|
|
local BookStatusWidget = require("ui/widget/bookstatuswidget")
|
2016-02-02 19:38:14 +02:00
|
|
|
|
|
|
|
|
local UIManager = require("ui/uimanager")
|
|
|
|
|
local _ = require("gettext")
|
|
|
|
|
|
|
|
|
|
local ReaderStatus = InputContainer:new {
|
|
|
|
|
document = nil,
|
|
|
|
|
summary = {
|
|
|
|
|
rating = 0,
|
|
|
|
|
note = nil,
|
|
|
|
|
status = "",
|
|
|
|
|
modified = "",
|
|
|
|
|
},
|
|
|
|
|
enabled = true,
|
2016-02-09 14:51:55 +02:00
|
|
|
total_pages = 0
|
2016-02-02 19:38:14 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ReaderStatus:init()
|
2016-07-15 22:58:41 +08:00
|
|
|
if self.ui.document.is_pic then
|
2016-02-02 19:38:14 +02:00
|
|
|
self.enabled = false
|
|
|
|
|
return
|
2016-03-06 21:52:53 -08:00
|
|
|
else
|
|
|
|
|
self.total_pages = self.document:getPageCount()
|
2016-02-09 23:17:53 -08:00
|
|
|
self.ui.menu:registerToMainMenu(self)
|
2016-03-06 21:52:53 -08:00
|
|
|
end
|
2016-02-02 19:38:14 +02:00
|
|
|
end
|
|
|
|
|
|
2017-03-04 14:46:38 +01:00
|
|
|
function ReaderStatus:addToMainMenu(menu_items)
|
|
|
|
|
menu_items.book_status = {
|
2016-03-06 21:52:53 -08:00
|
|
|
text = _("Book status"),
|
2016-02-02 19:38:14 +02:00
|
|
|
callback = function()
|
|
|
|
|
self:showStatus()
|
|
|
|
|
end,
|
2017-02-28 22:46:32 +01:00
|
|
|
}
|
2016-02-02 19:38:14 +02:00
|
|
|
end
|
|
|
|
|
|
2018-01-30 12:12:52 +01:00
|
|
|
function ReaderStatus:onEndOfBook()
|
|
|
|
|
if G_reader_settings:nilOrTrue("auto_book_status") then
|
|
|
|
|
self:showStatus()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
2016-02-02 19:38:14 +02:00
|
|
|
function ReaderStatus:showStatus()
|
2016-03-06 21:38:20 -08:00
|
|
|
local status_page = BookStatusWidget:new {
|
2016-02-02 19:38:14 +02:00
|
|
|
thumbnail = self.document:getCoverPageImage(),
|
|
|
|
|
props = self.document:getProps(),
|
|
|
|
|
document = self.document,
|
|
|
|
|
settings = self.settings,
|
2016-02-12 16:55:02 +02:00
|
|
|
view = self.view,
|
2016-02-02 19:38:14 +02:00
|
|
|
}
|
2016-02-14 23:52:34 -08:00
|
|
|
UIManager:show(status_page)
|
2016-02-02 19:38:14 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function ReaderStatus:onReadSettings(config)
|
|
|
|
|
self.settings = config
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return ReaderStatus
|