Mercurial > hg > octave-lyh
changeset 16509:14045b872a3d
Add set current directory context menu to file browser
* libgui/src/files-dock-widget.cc, libgui/src/files-dock-widget.h
(files_dock_widget::contextmenu_requested): New menu item for
setting current directory.
(files_dock_widget::contextmenu_setcurrentdir): New function.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Fri, 12 Apr 2013 21:51:59 -0400 |
parents | f19e24c97b20 |
children | e22604d4bf85 |
files | libgui/src/files-dock-widget.cc libgui/src/files-dock-widget.h |
diffstat | 2 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.cc +++ b/libgui/src/files-dock-widget.cc @@ -295,6 +295,13 @@ this, SLOT(contextmenu_load(bool))); load_action->setEnabled (info.isFile ()); + if (info.isDir ()) + { + menu.addSeparator (); + menu.addAction (tr ("Set Current Directory"), + this, SLOT (contextmenu_setcurrentdir (bool))); + } + menu.addSeparator(); menu.addAction(tr("Rename"), this, SLOT(contextmenu_rename(bool))); menu.addAction(QIcon(":/actions/icons/editdelete.png"), tr("Delete"), @@ -481,8 +488,24 @@ } } +void +files_dock_widget::contextmenu_setcurrentdir (bool) +{ + QItemSelectionModel *m = _file_tree_view->selectionModel (); + QModelIndexList rows = m->selectedRows (); + if(rows.size() > 0) + { + QModelIndex index = rows[0]; + QFileInfo info = _file_system_model->fileInfo(index); + + if(info.isDir()) + { + emit displayed_directory_changed (info.absoluteFilePath ()); + } + } +} void files_dock_widget::notice_settings (const QSettings *settings)