diff --git a/.DS_Store b/.DS_Store index 3329ead7..28f294a7 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Applications.txt b/Applications.txt index a1c20aa2..2bd0e735 100644 --- a/Applications.txt +++ b/Applications.txt @@ -8,7 +8,7 @@ about="IgorTimofeev/OpenComputers/master/MineOS/About/", type="Script", forceDownload=true, - version=3.40, + version=3.41, }, { name="MineOS/Pictures/Raspberry.pic", @@ -253,7 +253,7 @@ name="lib/MineOSCore.lua", url="IgorTimofeev/OpenComputers/master/lib/MineOSCore.lua", type="Library", - version=1.35, + version=1.36, }, { name="lib/advancedLua.lua", diff --git a/MineOS/OS.lua b/MineOS/OS.lua index a9f04f8c..19995a9f 100755 --- a/MineOS/OS.lua +++ b/MineOS/OS.lua @@ -387,6 +387,7 @@ local function updateDock() for file in fs.list(MineOSCore.paths.trash) do fs.remove(MineOSCore.paths.trash .. file) end + workspace.updateFileList() end end menu:show() diff --git a/lib/MineOSCore.lua b/lib/MineOSCore.lua index aa796eca..b0ecc1eb 100755 --- a/lib/MineOSCore.lua +++ b/lib/MineOSCore.lua @@ -743,7 +743,17 @@ function MineOSCore.iconRightClick(icon, eventData) _G.clipboardCut = true computer.pushSignal("MineOSCore", "updateFileList") elseif action == MineOSCore.localization.contextMenuDelete then - fs.rename(icon.path, MineOSCore.paths.trash .. fs.name(icon.path)) + if fs.path(icon.path) == MineOSCore.paths.trash then + fs.remove(icon.path) + else + local newName = MineOSCore.paths.trash .. fs.name(icon.path) + local clearName = MineOSCore.hideFileFormat(fs.name(icon.path)) + local repeats = 1 + while fs.exists(newName) do + newName, repeats = MineOSCore.paths.trash .. clearName .. string.rep("-copy", repeats) .. icon.format, repeats + 1 + end + fs.rename(icon.path, newName) + end computer.pushSignal("MineOSCore", "updateFileList") elseif action == MineOSCore.localization.contextMenuRename then ecs.rename(icon.path)