From 949e5ba54db77413a14d80bb8ff5c4f2269e19bd Mon Sep 17 00:00:00 2001 From: poire-z Date: Sat, 3 Dec 2016 14:27:32 +0100 Subject: [PATCH] FileManager: added button to purge sidecar directory (#2391) Also move its sidecar directory when moving a file. --- frontend/apps/filemanager/filemanager.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/frontend/apps/filemanager/filemanager.lua b/frontend/apps/filemanager/filemanager.lua index d7b202a6a..ba3bec518 100644 --- a/frontend/apps/filemanager/filemanager.lua +++ b/frontend/apps/filemanager/filemanager.lua @@ -157,6 +157,24 @@ function FileManager:init() UIManager:close(self.file_dialog) end, }, + { + text = _("Purge .sdr"), + enabled = DocSettings:hasSidecarDir(util.realpath(file)), + callback = function() + local full_path = util.realpath(file) + util.purgeDir(DocSettings:getSidecarDir(full_path)) + self:refreshPath() + -- also remove from history if present + local readhistory = require("readhistory") + for _, hist_item in ipairs(readhistory.hist) do + if hist_item.file == full_path then + readhistory:removeItem(hist_item) + break + end + end + UIManager:close(self.file_dialog) + end, + }, }, { { @@ -359,6 +377,10 @@ function FileManager:pasteHere(file) local dest = lfs.attributes(file, "mode") == "directory" and file or file:match("(.*/)") if self.cutfile then + -- if we move a file, also move its sidecar directory + if DocSettings:hasSidecarDir(orig) then + self:moveFile(DocSettings:getSidecarDir(orig), dest) -- dest is always a directory + end self:moveFile(orig, dest) else util.execute(self.cp_bin, "-r", orig, dest)