From cfc8bdc97a0b17cd30511dc1c93c1e370a9b061c Mon Sep 17 00:00:00 2001 From: Larry Shaffer Date: Mon, 24 Sep 2012 18:27:01 -0600 Subject: [PATCH] Enable up/down arrow key navigation of browser application data layers --- src/browser/qgsbrowser.cpp | 13 +++++++++++++ src/browser/qgsbrowser.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/browser/qgsbrowser.cpp b/src/browser/qgsbrowser.cpp index 5739fb0c9df..c2b7bd358ac 100644 --- a/src/browser/qgsbrowser.cpp +++ b/src/browser/qgsbrowser.cpp @@ -375,6 +375,19 @@ void QgsBrowser::keyPressEvent( QKeyEvent * e ) } } +void QgsBrowser::keyReleaseEvent( QKeyEvent * e ) +{ + QgsDebugMsg( "Entered" ); + if ( treeView->hasFocus() && ( e->key() == Qt::Key_Up || e->key() == Qt::Key_Down ) ) + { + itemClicked( treeView->selectionModel()->currentIndex() ); + } + else + { + e->ignore(); + } +} + void QgsBrowser::stopRendering() { // you might have seen this already in QgisApp diff --git a/src/browser/qgsbrowser.h b/src/browser/qgsbrowser.h index a8ab907c93e..0a19184d410 100644 --- a/src/browser/qgsbrowser.h +++ b/src/browser/qgsbrowser.h @@ -59,6 +59,7 @@ class QgsBrowser : public QMainWindow, private Ui::QgsBrowserBase protected: void keyPressEvent( QKeyEvent * e ); + void keyReleaseEvent( QKeyEvent * e ); bool layerClicked( QgsLayerItem* ptr );