1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 03:18:11 +00:00

FileManager: Add Open in Terminal on folder context menu

This commit is contained in:
pancake 2021-07-08 11:22:44 +02:00 committed by Ali Mohammad Pur
parent 47e1d5c05e
commit 86a4d0694f
3 changed files with 42 additions and 12 deletions

View file

@ -699,6 +699,26 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
},
window);
auto open_in_new_terminal_action
= GUI::Action::create(
"Open in &Terminal",
{},
Gfx::Bitmap::load_from_file("/res/icons/16x16/app-terminal.png"),
[&](GUI::Action const& action) {
Vector<String> paths;
if (action.activator() == tree_view_directory_context_menu)
paths = tree_view_selected_file_paths();
else
paths = directory_view.selected_file_paths();
for (auto& path : paths) {
if (Core::File::is_directory(path)) {
spawn_terminal(path);
}
}
},
window);
auto shortcut_action
= GUI::Action::create(
"Create Desktop &Shortcut",
@ -1015,6 +1035,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
};
directory_context_menu->add_action(open_in_new_window_action);
directory_context_menu->add_action(open_in_new_terminal_action);
directory_context_menu->add_action(copy_action);
directory_context_menu->add_action(cut_action);
directory_context_menu->add_action(folder_specific_paste_action);
@ -1033,6 +1054,7 @@ int run_in_windowed_mode(RefPtr<Core::ConfigFile> config, String initial_locatio
directory_view_context_menu->add_action(properties_action);
tree_view_directory_context_menu->add_action(open_in_new_window_action);
tree_view_directory_context_menu->add_action(open_in_new_terminal_action);
tree_view_directory_context_menu->add_action(copy_action);
tree_view_directory_context_menu->add_action(cut_action);
tree_view_directory_context_menu->add_action(paste_action);