Calibre: Add reading status to the metadata search popups (#10842)

We're getting old, remembering whether you've actually read stuff is hard ;).
reviewable/pr10850/r1
NiLuJe 8 months ago committed by GitHub
parent ea433d78dd
commit a736a3ebe0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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

Loading…
Cancel
Save