┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphincolumnview.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-05-29 19:31:46 +0000
committerPeter Penz <[email protected]>2010-05-29 19:31:46 +0000
commit2b0a0fb6d44f2a4343e9301ef4ece32ac4bdb75b (patch)
treebb98c5a3415e2263045edb41b89cf2ef44a8ccc4 /src/dolphincolumnview.cpp
parentabf29a89efc569db4e51d582eec95d7740db36ad (diff)
Fix keyboard navigation issues in the column view
BUG: 236039 svn path=/trunk/KDE/kdebase/apps/; revision=1132120
Diffstat (limited to 'src/dolphincolumnview.cpp')
-rw-r--r--src/dolphincolumnview.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index f5bcd79ee..3f470bdbc 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -153,10 +153,6 @@ DolphinColumnView::~DolphinColumnView()
void DolphinColumnView::setActive(bool active)
{
- if (active && (m_container->focusProxy() != this)) {
- m_container->setFocusProxy(this);
- }
-
if (m_active != active) {
m_active = active;
@@ -309,9 +305,8 @@ void DolphinColumnView::mousePressEvent(QMouseEvent* event)
}
void DolphinColumnView::keyPressEvent(QKeyEvent* event)
-{
+{
QListView::keyPressEvent(event);
- requestActivation();
DolphinViewController* controller = m_container->m_dolphinViewController;
controller->handleKeyPressEvent(event);
@@ -443,9 +438,16 @@ void DolphinColumnView::deactivate()
m_container->m_dolphinViewController, SLOT(triggerItem(const QModelIndex&)));
}
+ // It is important to disconnect the connection to requestActivation() temporary, otherwise the internal
+ // clearing of the selection would result in activating the column again.
+ disconnect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+ this, SLOT(requestActivation()));
const QModelIndex current = selectionModel()->currentIndex();
selectionModel()->clear();
selectionModel()->setCurrentIndex(current, QItemSelectionModel::NoUpdate);
+ connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+ this, SLOT(requestActivation()));
+
updateBackground();
}