diff --git a/frontend/apps/filemanager/filemanagermenu.lua b/frontend/apps/filemanager/filemanagermenu.lua index d1ca5200f..c51ef70c0 100644 --- a/frontend/apps/filemanager/filemanagermenu.lua +++ b/frontend/apps/filemanager/filemanagermenu.lua @@ -11,6 +11,7 @@ local Screen = Device.screen local dbg = require("dbg") local logger = require("logger") local _ = require("gettext") +local T = require("ffi/util").template local FileManagerMenu = InputContainer:extend{ tab_item_table = nil, @@ -80,6 +81,22 @@ function FileManagerMenu:initGesListener() }) end +function FileManagerMenu:openLastDoc() + local last_file = G_reader_settings:readSetting("lastfile") + if not last_file or lfs.attributes(last_file, "mode") ~= "file" then + local InfoMessage = require("ui/widget/infomessage") + UIManager:show(InfoMessage:new{ + text = _("Cannot open last document"), + }) + return + end + local ReaderUI = require("apps/reader/readerui") + ReaderUI:showReader(last_file) + self:onCloseFileManagerMenu() + local FileManager = require("apps/filemanager/filemanager") + FileManager.instance:onClose() +end + function FileManagerMenu:setUpdateItemTable() for _, widget in pairs(self.registered_widgets) do local ok, err = pcall(widget.addToMainMenu, widget, self.menu_items) @@ -219,19 +236,17 @@ function FileManagerMenu:setUpdateItemTable() return G_reader_settings:readSetting("lastfile") ~= nil end, callback = function() + self:openLastDoc() + end, + hold_callback = function() local last_file = G_reader_settings:readSetting("lastfile") - if not last_file or lfs.attributes(last_file, "mode") ~= "file" then - local InfoMessage = require("ui/widget/infomessage") - UIManager:show(InfoMessage:new{ - text = _("Cannot open last document"), - }) - return - end - local ReaderUI = require("apps/reader/readerui") - ReaderUI:showReader(last_file) - self:onCloseFileManagerMenu() - local FileManager = require("apps/filemanager/filemanager") - FileManager.instance:onClose() + UIManager:show(ConfirmBox:new{ + text = T(_("Would you like to open the last document: %1?"), last_file), + ok_text = _("OK"), + ok_callback = function() + self:openLastDoc() + end, + }) end } -- insert common info