FileManager: Add 'Open in Terminal' action for selected dirs on desktop

This is to be more similar to the context menu from the windowed
instance of File Manager.
This commit is contained in:
Karol Kosek 2021-08-30 21:31:43 +02:00 committed by Andreas Kling
commit 7d6308523a
Notes: sideshowbarker 2024-07-19 17:17:31 +09:00

View file

@ -368,6 +368,20 @@ int run_in_desktop_mode()
}
});
auto open_terminal_action = GUI::Action::create("Open in &Terminal", {}, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/app-terminal.png"), [&](auto&) {
auto paths = directory_view.selected_file_paths();
if (paths.is_empty()) {
spawn_terminal(directory_view.path());
return;
}
for (auto& path : paths) {
if (Core::File::is_directory(path)) {
spawn_terminal(path);
}
}
});
auto display_properties_action = GUI::Action::create("&Display Settings", {}, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/app-display-settings.png"), [&](GUI::Action const&) {
Desktop::Launcher::open(URL::create_with_file_protocol("/bin/DisplaySettings"));
});
@ -384,6 +398,7 @@ int run_in_desktop_mode()
auto desktop_context_menu = GUI::Menu::construct("Directory View Directory");
desktop_context_menu->add_action(file_manager_action);
desktop_context_menu->add_action(open_terminal_action);
desktop_context_menu->add_separator();
desktop_context_menu->add_action(cut_action);
desktop_context_menu->add_action(copy_action);