From 1d874c03af840eee2be12884d3a20c402e75b577 Mon Sep 17 00:00:00 2001 From: Andres Vieira Date: Mon, 27 Apr 2020 18:24:19 +0200 Subject: [PATCH] FileManager: Disable delete action if user can't write in current path Before this the delete action would be enabled in whenever was the case in which the user had some selection made. This patch forces a check to access() with the current folder path to see if the user actually can delete nodes in it. --- Applications/FileManager/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Applications/FileManager/main.cpp b/Applications/FileManager/main.cpp index 87cb5d72d9..3bd9755e5c 100644 --- a/Applications/FileManager/main.cpp +++ b/Applications/FileManager/main.cpp @@ -702,8 +702,10 @@ int run_in_windowed_mode(RefPtr config, String initial_locatio directory_view.on_selection_change = [&](GUI::AbstractView& view) { // FIXME: Figure out how we can enable/disable the paste action, based on clipboard contents. - copy_action->set_enabled(!view.selection().is_empty()); - delete_action->set_enabled(!view.selection().is_empty()); + auto selection = view.selection(); + + delete_action->set_enabled(!selection.is_empty() && access(directory_view.path().characters(), W_OK) == 0); + copy_action->set_enabled(!selection.is_empty()); }; auto open_in_text_editor_action = GUI::Action::create("Open in TextEditor...", Gfx::Bitmap::load_from_file("/res/icons/TextEditor16.png"), [&](auto&) {