mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Pull genStatusButton() to filemanagerutil
This commit is contained in:
@@ -340,27 +340,14 @@ function FileManager:setupLayout()
|
||||
|
||||
if is_file then
|
||||
local status = filemanagerutil.getStatus(file)
|
||||
local function genStatusButton(to_status)
|
||||
local status_text = {
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
return {
|
||||
text = status_text[to_status],
|
||||
id = to_status, -- used by covermenu
|
||||
enabled = status ~= to_status,
|
||||
callback = function()
|
||||
filemanagerutil.setStatus(file, to_status)
|
||||
self:refreshPath()
|
||||
UIManager:close(self.file_dialog)
|
||||
end,
|
||||
}
|
||||
local function status_button_callback()
|
||||
self:refreshPath()
|
||||
UIManager:close(self.file_dialog)
|
||||
end
|
||||
table.insert(buttons, {
|
||||
genStatusButton("reading"),
|
||||
genStatusButton("abandoned"),
|
||||
genStatusButton("complete"),
|
||||
filemanagerutil.genStatusButton("reading", status ~= "reading", file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("abandoned", status ~= "abandoned", file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("complete", status ~= "complete", file, status_button_callback),
|
||||
})
|
||||
table.insert(buttons, {}) -- separator
|
||||
table.insert(buttons, {
|
||||
|
||||
@@ -46,28 +46,15 @@ end
|
||||
function FileManagerCollection:onMenuHold(item)
|
||||
self.collfile_dialog = nil
|
||||
local status = filemanagerutil.getStatus(item.file)
|
||||
local function genStatusButton(to_status)
|
||||
local status_text = {
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
return {
|
||||
text = status_text[to_status],
|
||||
id = to_status, -- used by covermenu
|
||||
enabled = status ~= to_status,
|
||||
callback = function()
|
||||
filemanagerutil.setStatus(item.file, to_status)
|
||||
self._manager:updateItemTable()
|
||||
UIManager:close(self.collfile_dialog)
|
||||
end,
|
||||
}
|
||||
local function status_button_callback()
|
||||
self._manager:updateItemTable()
|
||||
UIManager:close(self.collfile_dialog)
|
||||
end
|
||||
local buttons = {
|
||||
{
|
||||
genStatusButton("reading"),
|
||||
genStatusButton("abandoned"),
|
||||
genStatusButton("complete"),
|
||||
filemanagerutil.genStatusButton("reading", status ~= "reading", item.file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("abandoned", status ~= "abandoned", item.file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("complete", status ~= "complete", item.file, status_button_callback),
|
||||
},
|
||||
{},
|
||||
{
|
||||
|
||||
@@ -90,33 +90,20 @@ function FileManagerHistory:onMenuHold(item)
|
||||
local currently_opened_file = readerui_instance and readerui_instance.document and readerui_instance.document.file
|
||||
self.histfile_dialog = nil
|
||||
local status = filemanagerutil.getStatus(item.file)
|
||||
local function genStatusButton(to_status)
|
||||
local status_text = {
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
return {
|
||||
text = status_text[to_status],
|
||||
id = to_status, -- used by covermenu
|
||||
enabled = not item.dim and status ~= to_status,
|
||||
callback = function()
|
||||
filemanagerutil.setStatus(item.file, to_status)
|
||||
if self._manager.filter ~= "all" then
|
||||
self._manager:fetchStatuses(false)
|
||||
else
|
||||
self._manager.statuses_fetched = false
|
||||
end
|
||||
self._manager:updateItemTable()
|
||||
UIManager:close(self.histfile_dialog)
|
||||
end,
|
||||
}
|
||||
local function status_button_callback()
|
||||
if self._manager.filter ~= "all" then
|
||||
self._manager:fetchStatuses(false)
|
||||
else
|
||||
self._manager.statuses_fetched = false
|
||||
end
|
||||
self._manager:updateItemTable()
|
||||
UIManager:close(self.histfile_dialog)
|
||||
end
|
||||
local buttons = {
|
||||
{
|
||||
genStatusButton("reading"),
|
||||
genStatusButton("abandoned"),
|
||||
genStatusButton("complete"),
|
||||
filemanagerutil.genStatusButton("reading", not item.dim and status ~= "reading", item.file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("abandoned", not item.dim and status ~= "abandoned", item.file, status_button_callback),
|
||||
filemanagerutil.genStatusButton("complete", not item.dim and status ~= "complete", item.file, status_button_callback),
|
||||
},
|
||||
{},
|
||||
{
|
||||
|
||||
@@ -108,4 +108,22 @@ function filemanagerutil.setStatus(file, status)
|
||||
docinfo:flush()
|
||||
end
|
||||
|
||||
-- Generate a book status file dialog button
|
||||
function filemanagerutil.genStatusButton(to_status, enabled, file, caller_callback)
|
||||
local status_text = {
|
||||
reading = _("Reading"),
|
||||
abandoned = _("On hold"),
|
||||
complete = _("Finished"),
|
||||
}
|
||||
return {
|
||||
text = status_text[to_status],
|
||||
id = to_status, -- used by covermenu
|
||||
enabled = enabled,
|
||||
callback = function()
|
||||
filemanagerutil.setStatus(file, to_status)
|
||||
caller_callback()
|
||||
end,
|
||||
}
|
||||
end
|
||||
|
||||
return filemanagerutil
|
||||
|
||||
Reference in New Issue
Block a user