┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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