diff --git a/include/FileBrowser.h b/include/FileBrowser.h index b84ba5e54..0e8ce7bf3 100644 --- a/include/FileBrowser.h +++ b/include/FileBrowser.h @@ -125,6 +125,7 @@ private slots: void activateListItem( QTreeWidgetItem * item, int column ); void openInNewInstrumentTrackBBE( void ); void openInNewInstrumentTrackSE( void ); + void openContainingFolder(); void sendToActiveInstrumentTrack( void ); void updateDirectory( QTreeWidgetItem * item ); diff --git a/src/gui/FileBrowser.cpp b/src/gui/FileBrowser.cpp index 809518683..52641a73d 100644 --- a/src/gui/FileBrowser.cpp +++ b/src/gui/FileBrowser.cpp @@ -24,6 +24,7 @@ */ +#include #include #include #include @@ -380,6 +381,11 @@ void FileBrowserTreeWidget::contextMenuEvent(QContextMenuEvent * e ) "B+B Editor" ), this, SLOT( openInNewInstrumentTrackBBE() ) ); + contextMenu.addSeparator(); + contextMenu.addAction( QIcon(embed::getIconPixmap( "folder" )), + tr( "Open containing folder" ), + this, + SLOT( openContainingFolder() ) ); contextMenu.exec( e->globalPos() ); m_contextMenuItem = NULL; } @@ -671,6 +677,16 @@ void FileBrowserTreeWidget::openInNewInstrumentTrackSE( void ) +void FileBrowserTreeWidget::openContainingFolder() +{ + if (m_contextMenuItem) + { + QFileInfo fileInfo(m_contextMenuItem->fullName()); + QDesktopServices::openUrl(QUrl::fromLocalFile(fileInfo.dir().path())); + } +} + + void FileBrowserTreeWidget::sendToActiveInstrumentTrack( void ) {