Mercurial > octave
changeset 27273:aaf788e496a3
add file browser context menu for removing dirs from path (bug #55623)
* files-dock-widget.cc (contextmenu_requested): add menu with submenus for
removing dirs and dirs with subdirs from path;
(contextmenu_add_to_path): additional parameter for removing dirs from path;
(contextmenu_rm_from_path, contextmenu_rm_from_path_subdirs): new methods
calling contextmenu_add_to_path with flags for removing and for subdirs
* files-dock-widget.h: new parameter for contextmenu_add_to_path,
new methods contextmenu_rm_from_path, contextmenu_rm_from_path_subdirs
author | Torsten Lilge <ttl-octave@mailbox.org> |
---|---|
date | Sun, 21 Jul 2019 15:46:19 +0200 |
parents | 9de4741a896e |
children | f49226d21c26 |
files | libgui/src/files-dock-widget.cc libgui/src/files-dock-widget.h |
diffstat | 2 files changed, 27 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.cc Sun Jul 21 12:43:19 2019 +0200 +++ b/libgui/src/files-dock-widget.cc Sun Jul 21 15:46:19 2019 +0200 @@ -544,6 +544,13 @@ add_path_menu->addAction (tr ("Selected Directories and Subdirectories"), this, SLOT (contextmenu_add_to_path_subdirs (bool))); + QMenu *rm_path_menu = menu.addMenu (tr ("Remove from Path")); + + rm_path_menu->addAction (tr ("Selected Directories"), + this, SLOT (contextmenu_rm_from_path (bool))); + rm_path_menu->addAction (tr ("Selected Directories and Subdirectories"), + this, SLOT (contextmenu_rm_from_path_subdirs (bool))); + menu.addSeparator (); menu.addAction (resource_manager::icon ("edit-find"), @@ -803,7 +810,7 @@ process_set_current_dir (infos.first ().absoluteFilePath ()); } - void files_dock_widget::contextmenu_add_to_path (bool, bool subdirs) + void files_dock_widget::contextmenu_add_to_path (bool, bool rm, bool subdirs) { QList<QFileInfo> infos = get_selected_items_info (true); @@ -818,7 +825,7 @@ = __get_event_manager__ ("files_dock_widget::contextmenu_add_to_path"); evmgr.post_event - ([dir_list, subdirs] (void) + ([dir_list, rm, subdirs] (void) { // INTERPRETER THREAD @@ -836,14 +843,27 @@ else paths = dir_list; - Faddpath (interp, paths); + if (rm) + Frmpath (interp, paths); + else + Faddpath (interp, paths); }); } } void files_dock_widget::contextmenu_add_to_path_subdirs (bool) { - contextmenu_add_to_path (true, true); + contextmenu_add_to_path (true, false, true); + } + + void files_dock_widget::contextmenu_rm_from_path (bool) + { + contextmenu_add_to_path (true, true, false); + } + + void files_dock_widget::contextmenu_rm_from_path_subdirs (bool) + { + contextmenu_add_to_path (true, true, true); } void files_dock_widget::contextmenu_findfiles (bool)
--- a/libgui/src/files-dock-widget.h Sun Jul 21 12:43:19 2019 +0200 +++ b/libgui/src/files-dock-widget.h Sun Jul 21 15:46:19 2019 +0200 @@ -113,8 +113,10 @@ void contextmenu_newfile (bool); void contextmenu_newdir (bool); void contextmenu_setcurrentdir (bool); - void contextmenu_add_to_path (bool, bool subdirs=false); + void contextmenu_add_to_path (bool, bool rm=false, bool subdirs=false); void contextmenu_add_to_path_subdirs (bool); + void contextmenu_rm_from_path (bool); + void contextmenu_rm_from_path_subdirs (bool); void contextmenu_findfiles (bool); //!@}