From 886a9d8f8f459ba0baffb5c085da7683259858ca Mon Sep 17 00:00:00 2001 From: Frans de Jonge Date: Thu, 13 Nov 2014 12:28:57 +0100 Subject: [PATCH] File manager improvements: added delete confirmation dialog and success/failure message This makes deleting files from within KOReader less scary and also provides the initial framework for handling different exit codes for #941. --- frontend/apps/filemanager/filemanager.lua | 26 +++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index e0ac7f940..467f86c62 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -106,9 +106,15 @@ function FileManager:init() text = _("Delete"), callback = function() local path = util.realpath(file) - deleteFile(file) - self:refreshPath() + local ConfirmBox = require("ui/widget/confirmbox") UIManager:close(self.file_dialog) + UIManager:show(ConfirmBox:new{ + text = _("Are you sure that you want to delete this file?\n") .. file .. ("\nIf you delete a file, it is permanently lost"), + ok_callback = function() + deleteFile(file) + self:refreshPath() + end, + }) end, }, }, @@ -234,7 +240,19 @@ function FileManager:pasteHere(file) end function FileManager:deleteFile(file) - util.execute("/bin/rm", "-r", util.realpath(file)) + local InfoMessage = require("ui/widget/infomessage") + local rm = util.execute("/bin/rm", "-r", util.realpath(file)) + DEBUG("File to remove", util.realpath(file)) + DEBUG("rm status", rm) + if rm == 0 then + UIManager:show(InfoMessage:new{ + text = _("Successfully deleted\n") .. file, + }) + else + UIManager:show(InfoMessage:new{ + text = _("An error occurred while trying to delete\n") .. file, + }) + end end local collates = { @@ -255,7 +273,7 @@ function FileManager:getSortingMenuTable() end return { text_func = function() - return _("Sorting: ") .. collates[fm.file_chooser.collate] + return _("Sort order: ") .. collates[fm.file_chooser.collate] end, sub_item_table = { set_collate_table("strcoll"),