┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/panels/folders/folderspanel.cpp13
-rw-r--r--src/panels/folders/folderspanel.h3
2 files changed, 15 insertions, 1 deletions
diff --git a/src/panels/folders/folderspanel.cpp b/src/panels/folders/folderspanel.cpp
index e20da9175..eb957f7b9 100644
--- a/src/panels/folders/folderspanel.cpp
+++ b/src/panels/folders/folderspanel.cpp
@@ -159,7 +159,7 @@ void FoldersPanel::showEvent(QShowEvent* event)
new FolderExpander(m_treeView, m_proxyModel);
- connect(m_treeView, SIGNAL(activated(const QModelIndex&)),
+ connect(m_treeView, SIGNAL(clicked(const QModelIndex&)),
this, SLOT(updateActiveView(const QModelIndex&)));
connect(m_treeView, SIGNAL(urlsDropped(const QModelIndex&, QDropEvent*)),
this, SLOT(dropUrls(const QModelIndex&, QDropEvent*)));
@@ -191,6 +191,17 @@ void FoldersPanel::contextMenuEvent(QContextMenuEvent* event)
contextMenu.open();
}
+void FoldersPanel::keyPressEvent(QKeyEvent* event)
+{
+ const int key = event->key();
+ if ((key == Qt::Key_Enter) || (key == Qt::Key_Return)) {
+ event->accept();
+ updateActiveView(m_treeView->currentIndex());
+ } else {
+ Panel::keyPressEvent(event);
+ }
+}
+
void FoldersPanel::updateActiveView(const QModelIndex& index)
{
const QModelIndex dirIndex = m_proxyModel->mapToSource(index);
diff --git a/src/panels/folders/folderspanel.h b/src/panels/folders/folderspanel.h
index 90f506fd0..1822d17e0 100644
--- a/src/panels/folders/folderspanel.h
+++ b/src/panels/folders/folderspanel.h
@@ -81,6 +81,9 @@ protected:
/** @see QWidget::contextMenuEvent() */
virtual void contextMenuEvent(QContextMenuEvent* event);
+ /** @see QWidget::keyPressEvent() */
+ virtual void keyPressEvent(QKeyEvent* event);
+
private slots:
/**
* Updates the active view to the URL