mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Calibre: Add reading status to the metadata search popups (#10842)
We're getting old, remembering whether you've actually read stuff is hard ;).
This commit is contained in:
@@ -103,17 +103,23 @@ function filemanagerutil.setStatus(file, status)
|
||||
doc_settings:flush()
|
||||
end
|
||||
|
||||
function filemanagerutil.statusToString(status)
|
||||
local status_to_text = {
|
||||
new = _("Unread"),
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
|
||||
return status_to_text[status]
|
||||
end
|
||||
|
||||
-- Generate all book status file dialog buttons in a row
|
||||
function filemanagerutil.genStatusButtonsRow(file, caller_callback, current_status)
|
||||
local status = current_status or filemanagerutil.getStatus(file)
|
||||
local function genStatusButton(to_status)
|
||||
local status_text = {
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
return {
|
||||
text = status_text[to_status] .. (status == to_status and " ✓" or ""),
|
||||
text = filemanagerutil.statusToString(to_status) .. (status == to_status and " ✓" or ""),
|
||||
id = to_status, -- used by covermenu
|
||||
enabled = status ~= to_status,
|
||||
callback = function()
|
||||
|
||||
@@ -7,6 +7,7 @@ local ConfirmBox = require("ui/widget/confirmbox")
|
||||
local DataStorage = require("datastorage")
|
||||
local Device = require("device")
|
||||
local FileManagerBookInfo = require("apps/filemanager/filemanagerbookinfo")
|
||||
local filemanagerutil = require("apps/filemanager/filemanagerutil")
|
||||
local InputDialog = require("ui/widget/inputdialog")
|
||||
local InfoMessage = require("ui/widget/infomessage")
|
||||
local Menu = require("ui/widget/menu")
|
||||
@@ -273,9 +274,10 @@ end
|
||||
function CalibreSearch:onMenuHold(item)
|
||||
if not item.info or item.info:len() <= 0 then return end
|
||||
local thumbnail = FileManagerBookInfo:getCoverImage(nil, item.path)
|
||||
local thumbwidth = math.min(240, Screen:getWidth()/3)
|
||||
local thumbwidth = math.min(300, Screen:getWidth()/3)
|
||||
local status = filemanagerutil.getStatus(item.path)
|
||||
UIManager:show(InfoMessage:new{
|
||||
text = item.info,
|
||||
text = item.info .. "\nStatus: " .. filemanagerutil.statusToString(status),
|
||||
image = thumbnail,
|
||||
image_width = thumbwidth,
|
||||
image_height = thumbwidth/2*3
|
||||
|
||||
Reference in New Issue
Block a user