diff --git a/include/FileBrowser.h b/include/FileBrowser.h index f9bc34820..b2d1e83bf 100644 --- a/include/FileBrowser.h +++ b/include/FileBrowser.h @@ -58,6 +58,8 @@ public slots: void filterItems( const QString & filter ); void reloadTree( void ); +private slots: + void giveFocusToFilter(); private: bool filterItems( QTreeWidgetItem * item, const QString & filter ); diff --git a/src/gui/FileBrowser.cpp b/src/gui/FileBrowser.cpp index 9fffa9205..e213d801c 100644 --- a/src/gui/FileBrowser.cpp +++ b/src/gui/FileBrowser.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "FileBrowser.h" #include "BBTrackContainer.h" @@ -97,6 +98,10 @@ FileBrowser::FileBrowser(const QString & directories, const QString & filter, addContentWidget( ops ); + // Whenever the FileBrowser has focus, Ctrl+F should direct focus to its filter box. + QShortcut *filterFocusShortcut = new QShortcut( QKeySequence( QKeySequence::Find ), this, SLOT(giveFocusToFilter()) ); + filterFocusShortcut->setContext(Qt::WidgetWithChildrenShortcut); + reloadTree(); show(); } @@ -253,7 +258,15 @@ void FileBrowser::reloadTree( void ) filterItems( text ); } - +void FileBrowser::giveFocusToFilter() +{ + if (!m_filterEdit->hasFocus()) + { + // give focus to filter text box and highlight its text for quick editing if not previously focused + m_filterEdit->setFocus(); + m_filterEdit->selectAll(); + } +} void FileBrowser::addItems(const QString & path )