diff --git a/frontend/apps/reader/modules/readerstatus.lua b/frontend/apps/reader/modules/readerstatus.lua index 7e89dacc9..df0f8e7da 100644 --- a/frontend/apps/reader/modules/readerstatus.lua +++ b/frontend/apps/reader/modules/readerstatus.lua @@ -23,14 +23,11 @@ function ReaderStatus:addToMainMenu(menu_items) } end -function ReaderStatus:onShowBookStatus(before_show_callback) +function ReaderStatus:onShowBookStatus(close_callback) local status_page = BookStatusWidget:new{ ui = self.ui, + close_callback = close_callback, } - if before_show_callback then - before_show_callback() - end - status_page.dithered = true UIManager:show(status_page, "full") return true end @@ -157,8 +154,8 @@ function ReaderStatus:onEndOfBook() elseif settings == "book_status_file_browser" then -- Ditto UIManager:nextTick(function() - local before_show_callback = function() self:openFileBrowser() end - self:onShowBookStatus(before_show_callback) + local book_status_close_callback = function() self:openFileBrowser() end + self:onShowBookStatus(book_status_close_callback) end) elseif settings == "delete_file" then -- Ditto @@ -169,12 +166,9 @@ function ReaderStatus:onEndOfBook() end function ReaderStatus:openFileBrowser() - local FileManager = require("apps/filemanager/filemanager") local file = self.document.file self.ui:onClose() - if not FileManager.instance then - self.ui:showFileManager(file) - end + self.ui:showFileManager(file) end function ReaderStatus:onOpenNextDocumentInFolder() diff --git a/frontend/ui/widget/bookstatuswidget.lua b/frontend/ui/widget/bookstatuswidget.lua index 9900366fc..73c58ea05 100644 --- a/frontend/ui/widget/bookstatuswidget.lua +++ b/frontend/ui/widget/bookstatuswidget.lua @@ -537,6 +537,9 @@ function BookStatusWidget:onClose() end -- NOTE: Flash on close to avoid ghosting, since we show an image. UIManager:close(self, "flashpartial") + if self.close_callback then + self.close_callback() + end return true end