Bläddra i källkod

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.
Andres Vieira 5 år sedan
förälder
incheckning
1d874c03af
1 ändrade filer med 4 tillägg och 2 borttagningar
  1. 4 2
      Applications/FileManager/main.cpp

+ 4 - 2
Applications/FileManager/main.cpp

@@ -702,8 +702,10 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> 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&) {