┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-09-09 18:38:04 +0000
committerPeter Penz <[email protected]>2007-09-09 18:38:04 +0000
commita69d7a39557527794fa871fba3f2909b662c3935 (patch)
tree63e8ed1273e5d9b2e8044b6075a158c3e0db789d
parentfd9296c18559058cc6e39e5d7ed73277f5656ea0 (diff)
Reactivate keyboard navigation again. Previously the Return key did not work, as the 'activated()' signal cannot be used (it ignores KDEs single vs. doubleclick setting).
svn path=/trunk/KDE/kdebase/apps/; revision=710356
-rw-r--r--src/dolphindetailsview.cpp12
-rw-r--r--src/dolphindetailsview.h1
-rw-r--r--src/dolphiniconsview.cpp12
-rw-r--r--src/dolphiniconsview.h1
-rw-r--r--src/dolphinview.cpp2
5 files changed, 28 insertions, 0 deletions
diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp
index 1aec30cca..dfd7018bb 100644
--- a/src/dolphindetailsview.cpp
+++ b/src/dolphindetailsview.cpp
@@ -69,6 +69,10 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
connect(parent, SIGNAL(sortOrderChanged(Qt::SortOrder)),
this, SLOT(setSortIndicatorOrder(Qt::SortOrder)));
+ // TODO: Connecting to the signal 'activated()' is not possible, as kstyle
+ // does not forward the single vs. doubleclick to it yet (KDE 4.1?). Hence it is
+ // necessary connecting the signal 'singleClick()' or 'doubleClick' and to handle the
+ // RETURN-key in keyPressEvent().
if (KGlobalSettings::singleClick()) {
connect(this, SIGNAL(clicked(const QModelIndex&)),
this, SLOT(slotItemActivated(const QModelIndex&)));
@@ -271,6 +275,14 @@ void DolphinDetailsView::paintEvent(QPaintEvent* event)
}
}
+void DolphinDetailsView::keyPressEvent(QKeyEvent* event)
+{
+ QTreeView::keyPressEvent(event);
+ if (event->key() == Qt::Key_Return) {
+ m_controller->triggerItem(selectionModel()->currentIndex());
+ }
+}
+
void DolphinDetailsView::setSortIndicatorSection(DolphinView::Sorting sorting)
{
QHeaderView* headerView = header();
diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h
index fdd93b03c..dc79c31cc 100644
--- a/src/dolphindetailsview.h
+++ b/src/dolphindetailsview.h
@@ -56,6 +56,7 @@ protected:
virtual void dragMoveEvent(QDragMoveEvent* event);
virtual void dropEvent(QDropEvent* event);
virtual void paintEvent(QPaintEvent* event);
+ virtual void keyPressEvent(QKeyEvent* event);
private slots:
/**
diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp
index 37f0bf172..ed2332c05 100644
--- a/src/dolphiniconsview.cpp
+++ b/src/dolphiniconsview.cpp
@@ -46,6 +46,10 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controlle
setMouseTracking(true);
viewport()->setAttribute(Qt::WA_Hover);
+ // TODO: Connecting to the signal 'activated()' is not possible, as kstyle
+ // does not forward the single vs. doubleclick to it yet (KDE 4.1?). Hence it is
+ // necessary connecting the signal 'singleClick()' or 'doubleClick' and to handle the
+ // RETURN-key in keyPressEvent().
if (KGlobalSettings::singleClick()) {
connect(this, SIGNAL(clicked(const QModelIndex&)),
controller, SLOT(triggerItem(const QModelIndex&)));
@@ -202,6 +206,14 @@ void DolphinIconsView::paintEvent(QPaintEvent* event)
}
}
+void DolphinIconsView::keyPressEvent(QKeyEvent* event)
+{
+ KCategorizedView::keyPressEvent(event);
+ if (event->key() == Qt::Key_Return) {
+ m_controller->triggerItem(selectionModel()->currentIndex());
+ }
+}
+
void DolphinIconsView::slotShowPreviewChanged(bool showPreview)
{
updateGridSize(showPreview, m_controller->showAdditionalInfo());
diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h
index 7e5544ec0..6cd5b2201 100644
--- a/src/dolphiniconsview.h
+++ b/src/dolphiniconsview.h
@@ -56,6 +56,7 @@ protected:
virtual void dragMoveEvent(QDragMoveEvent* event);
virtual void dropEvent(QDropEvent* event);
virtual void paintEvent(QPaintEvent* event);
+ virtual void keyPressEvent(QKeyEvent* event);
private slots:
void slotShowPreviewChanged(bool show);
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index d145597ca..3e8070cb3 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -432,6 +432,7 @@ void DolphinView::setUrl(const KUrl& url)
applyViewProperties(url);
startDirLister(url);
+ itemView()->setFocus();
}
void DolphinView::mouseReleaseEvent(QMouseEvent* event)
@@ -835,6 +836,7 @@ void DolphinView::createView()
this, SLOT(emitContentsMoved()));
connect(view->horizontalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(emitContentsMoved()));
+ view->setFocus();
}
QAbstractItemView* DolphinView::itemView() const