feat: delete shortcut with source

This commit is contained in:
Procybit 2022-11-27 21:02:46 +03:00
parent d76d5688c4
commit 86f278af3a
11 changed files with 39 additions and 18 deletions

View File

@ -587,31 +587,35 @@ local function iconDeselectAndSelect(icon)
workspace:draw() workspace:draw()
end end
local function moveSelectedIconsToTrash(selectedIcons) local function moveToTrash(path)
local icon local ext = filesystem.extension(path)
local name = filesystem.name(path)
for i = 1, #selectedIcons do local dir = filesystem.path(path)
icon = selectedIcons[i] if dir == paths.user.trash or ext == ".lnk" then
filesystem.remove(path)
if filesystem.path(icon.path) == paths.user.trash or icon.isShortcut then
filesystem.remove(icon.path)
else else
local name = filesystem.name(icon.path) local name = filesystem.name(path)
local clearName = filesystem.hideExtension(name) local clearName = filesystem.hideExtension(name)
local newPath = paths.user.trash .. name local newPath = paths.user.trash .. name
local repeats = 1 local repeats = 1
while filesystem.exists(newPath) do while filesystem.exists(newPath) do
newPath, repeats = paths.user.trash .. clearName .. string.rep("-copy", repeats) .. (icon.extension or ""), repeats + 1 newPath, repeats = paths.user.trash .. clearName .. string.rep("-copy", repeats) .. (ext or ""), repeats + 1
end end
filesystem.rename(icon.path, newPath) filesystem.rename(path, newPath)
end end
computer.pushSignal("system", "updateFileList")
end
local function moveSelectedIconsToTrash(selectedIcons)
local icon
for i = 1, #selectedIcons do
icon = selectedIcons[i]
moveToTrash(icon.path)
icon.selected = false icon.selected = false
end end
computer.pushSignal("system", "updateFileList")
end end
local function iconOnRightClick(selectedIcons, icon, e1, e2, e3, e4) local function iconOnRightClick(selectedIcons, icon, e1, e2, e3, e4)
@ -874,6 +878,13 @@ local function iconOnRightClick(selectedIcons, icon, e1, e2, e3, e4)
moveSelectedIconsToTrash(selectedIcons) moveSelectedIconsToTrash(selectedIcons)
end end
if icon.isShortcut then
contextMenu:addItem(localization.deleteWithSource).onTouch = function()
moveToTrash(icon.shortcutPath)
moveToTrash(icon.path)
end
end
contextMenu:addSeparator() contextMenu:addSeparator()
contextMenu:addItem(localization.properties).onTouch = function() contextMenu:addItem(localization.properties).onTouch = function()

View File

@ -74,6 +74,7 @@
rename = "Преименуване", rename = "Преименуване",
editShortcut = "Редактиране на пряк път", editShortcut = "Редактиране на пряк път",
createShortcut = "Създаване на пряк път", createShortcut = "Създаване на пряк път",
deleteWithSource = "Изтриване с източник",
addToDock = "Добавяне в дока", addToDock = "Добавяне в дока",
removeFromDock = "Премахване от дока", removeFromDock = "Премахване от дока",
moveRight = "Премести вдясно", moveRight = "Премести вдясно",

View File

@ -75,6 +75,7 @@
rename = "重命名", rename = "重命名",
editShortcut = "编辑快捷方式", editShortcut = "编辑快捷方式",
createShortcut = "创建快捷方式", createShortcut = "创建快捷方式",
deleteWithSource = "刪除源",
addToDock = "添加到Dock", addToDock = "添加到Dock",
removeFromDock = "从Dock中删除", removeFromDock = "从Dock中删除",
moveRight = "向右移动", moveRight = "向右移动",

View File

@ -75,6 +75,7 @@
rename = "Rename", rename = "Rename",
editShortcut = "Edit shortcut", editShortcut = "Edit shortcut",
createShortcut = "Create shortcut", createShortcut = "Create shortcut",
deleteWithSource = "Delete with source",
addToDock = "Add to Dock", addToDock = "Add to Dock",
removeFromDock = "Remove from Dock", removeFromDock = "Remove from Dock",
moveRight = "Move right", moveRight = "Move right",

View File

@ -75,6 +75,7 @@
rename = "Renommer", rename = "Renommer",
editShortcut = "Modifier le raccourci", editShortcut = "Modifier le raccourci",
createShortcut = "Créer un raccourci", createShortcut = "Créer un raccourci",
deleteWithSource = "Supprimer avec la source",
addToDock = "Ajouter à la barre des tâches", addToDock = "Ajouter à la barre des tâches",
removeFromDock = "Retirer de la barre des tâches", removeFromDock = "Retirer de la barre des tâches",
moveRight = "Déplacer vers la droite", moveRight = "Déplacer vers la droite",

View File

@ -75,6 +75,7 @@
rename = "Umbenennen", rename = "Umbenennen",
editShortcut = "Verknüpfung bearbeiten", editShortcut = "Verknüpfung bearbeiten",
createShortcut = "Verknüpfung erstellen", createShortcut = "Verknüpfung erstellen",
deleteWithSource = "Mit Quelle löschen",
addToDock = "Zum Dock hinzufügen", addToDock = "Zum Dock hinzufügen",
removeFromDock = "Aus Dock entfernen", removeFromDock = "Aus Dock entfernen",
moveRight = "Nach rechts bewegen", moveRight = "Nach rechts bewegen",

View File

@ -75,6 +75,7 @@
rename = "Rinomina", rename = "Rinomina",
editShortcut = "Modifica scorciatoia", editShortcut = "Modifica scorciatoia",
createShortcut = "Crea scorciatoia", createShortcut = "Crea scorciatoia",
deleteWithSource = "Elimina con fonte",
addToDock = "Aggiungi alla bacheca", addToDock = "Aggiungi alla bacheca",
removeFromDock = "Rimuovi Dalla bacheca", removeFromDock = "Rimuovi Dalla bacheca",
moveRight = "Sposta a destra", moveRight = "Sposta a destra",

View File

@ -75,6 +75,7 @@
rename = "名前を変更 ", rename = "名前を変更 ",
editShortcut = "ショートカットを編集", editShortcut = "ショートカットを編集",
createShortcut = "ショートカットを作成", createShortcut = "ショートカットを作成",
deleteWithSource = "ソースで削除",
addToDock = "Dockに追加", addToDock = "Dockに追加",
removeFromDock = "Dockから削除", removeFromDock = "Dockから削除",
moveRight = "右に移動", moveRight = "右に移動",

View File

@ -75,6 +75,7 @@
rename = "Переименовать", rename = "Переименовать",
editShortcut = "Редактировать ярлык", editShortcut = "Редактировать ярлык",
createShortcut = "Создать ярлык", createShortcut = "Создать ярлык",
deleteWithSource = "Удалить с источником",
addToDock = "Добавить в Dock", addToDock = "Добавить в Dock",
removeFromDock = "Удалить из Dock", removeFromDock = "Удалить из Dock",
moveRight = "Передвинуть правее", moveRight = "Передвинуть правее",

View File

@ -75,6 +75,7 @@
rename = "Premenovať", rename = "Premenovať",
editShortcut = "Upraviť odkaz", editShortcut = "Upraviť odkaz",
createShortcut = "Vytvoriť odkaz", createShortcut = "Vytvoriť odkaz",
deleteWithSource = "Odstrániť so zdrojom",
addToDock = "Pridať do lišty", addToDock = "Pridať do lišty",
removeFromDock = "Odstrániť z lišty", removeFromDock = "Odstrániť z lišty",
moveRight = "Posunúť doprava", moveRight = "Posunúť doprava",

View File

@ -75,6 +75,7 @@
rename = "Перейменувати", rename = "Перейменувати",
editShortcut = "Змінити ярлик", editShortcut = "Змінити ярлик",
createShortcut = "Створити ярлик", createShortcut = "Створити ярлик",
deleteWithSource = "Видалити з джерелом",
addToDock = "Додати в док", addToDock = "Додати в док",
removeFromDock = "Видалити з док", removeFromDock = "Видалити з док",
moveRight = "Перемістити вправо", moveRight = "Перемістити вправо",