┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/views/dolphinview.cpp17
-rw-r--r--src/views/dolphinview.h6
2 files changed, 17 insertions, 6 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index 441c7e276..f2f434f46 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -164,6 +164,7 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) :
m_container = new DolphinItemListContainer(m_dirLister, this);
m_container->setVisibleRoles(QList<QByteArray>() << "name");
+ m_container->installEventFilter(this);
KItemListController* controller = m_container->controller();
controller->setSelectionBehavior(KItemListController::MultiSelection);
@@ -695,10 +696,20 @@ void DolphinView::setCategorizedSorting(bool categorized)
emit categorizedSortingChanged(categorized);
}
-void DolphinView::mouseReleaseEvent(QMouseEvent* event)
+bool DolphinView::eventFilter(QObject* watched, QEvent* event)
{
- QWidget::mouseReleaseEvent(event);
- setActive(true);
+ switch (event->type()) {
+ case QEvent::FocusIn:
+ if (watched == m_container) {
+ setActive(true);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return QWidget::eventFilter(watched, event);
}
void DolphinView::activate()
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 6ebd91c53..c3981bef4 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -409,6 +409,9 @@ public slots:
*/
void setCategorizedSorting(bool categorized);
+ /** Activates the view if the item list container gets focus. */
+ virtual bool eventFilter(QObject* watched, QEvent* event);
+
signals:
/**
* Is emitted if the view has been activated by e. g. a mouse click.
@@ -550,9 +553,6 @@ signals:
*/
void writeStateChanged(bool isFolderWritable);
-protected:
- virtual void mouseReleaseEvent(QMouseEvent* event);
-
private slots:
/**
* Marks the view as active (DolphinView:isActive() will return true)