feat: Files app - add Trash

This commit is contained in:
daniel committed 2026-10-24 08:20:18 +02:00
1 parent e047c1e0c0
commit 07191b1286
15 files changed
+1044 -150

No files matched your search

@@ -78,7 +78,8 @@ void filemanager_on_mouse(Window* win, MouseEvent& ev) {
local_x, local_y,
ev.buttons, ev.prev_buttons,
cw, win->content_h,
FM_CTX_MENU_W);
filemanager_context_menu_width(
items, fm->ctx_item_count));
filemanager_store_context_state(fm, state);
if (action >= 0) {
@@ -94,7 +95,10 @@ void filemanager_on_mouse(Window* win, MouseEvent& ev) {
case CTX_CUT: filemanager_do_cut(fm); break;
case CTX_PASTE: filemanager_do_paste(fm); break;
case CTX_RENAME: filemanager_start_rename(fm); break;
case CTX_DELETE: filemanager_delete_selected(fm); break;
case CTX_DELETE: filemanager_delete_selected(fm, true); break;
case CTX_TRASH: filemanager_delete_selected(fm); break;
case CTX_RESTORE: filemanager_restore_selected(fm); break;
case CTX_EMPTY_TRASH: filemanager_show_empty_trash_confirmation(fm); break;
case CTX_NEW_FOLDER: filemanager_new_folder(fm); break;
case CTX_PROPERTIES: filemanager_show_selection_properties(fm, target); break;
case CTX_REFRESH: filemanager_refresh(fm); break;
@@ -149,7 +153,8 @@ void filemanager_on_mouse(Window* win, MouseEvent& ev) {
else if (local_x >= 244 && local_x < 268) filemanager_do_paste(fm);
else if (local_x >= 272 && local_x < 296) filemanager_start_rename(fm);
else if (local_x >= 300 && local_x < 324) filemanager_new_folder(fm);
else if (local_x >= 328 && local_x < 352) filemanager_delete_selected(fm);
else if (local_x >= 328 && local_x < 352)
filemanager_delete_selected(fm, fm->desktop && fm->desktop->kbd_shift_down);
return;
}
@@ -573,8 +578,8 @@ void filemanager_on_key(Window* win, const montauk::abi::KeyEvent& key) {
if (have_focus && filemanager_is_entry_selected(fm, cur))
filemanager_open_entry(fm, cur);
} else if (nav == 0x53) {
// Delete key
filemanager_delete_selected(fm);
// Delete key: Move to Trash; Shift+Delete deletes permanently
filemanager_delete_selected(fm, key.shift);
} else if (key.alt && montauk::nav_scancode(key) == 0x4B) {
// Alt+Left: go back
filemanager_go_back(fm);