diff options
| author | Tirtha Chatterjee <[email protected]> | 2011-08-29 21:13:36 +0530 |
|---|---|---|
| committer | Tirtha Chatterjee <[email protected]> | 2011-08-29 21:13:36 +0530 |
| commit | 6e6b4ce75cf3f01bad2fad34baa9ecf15a5516af (patch) | |
| tree | 77a8189afa012a6d0bc38452495201243b506a6b /src/views | |
| parent | d8ce0bfe56e4df252198818db6ca2e0286ba1547 (diff) | |
Added the functionality to activate items by pressing 'enter' or 'return' key on them, equivalent to a mouse click.
REVIEW: 102450
Diffstat (limited to 'src/views')
| -rw-r--r-- | src/views/dolphinview.cpp | 52 | ||||
| -rw-r--r-- | src/views/dolphinview.h | 4 |
2 files changed, 40 insertions, 16 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 959e4da6e..5cb3d90b5 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -164,8 +164,10 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) : KItemListController* controller = m_container->controller(); controller->setSelectionBehavior(KItemListController::MultiSelection); - connect(controller, SIGNAL(itemClicked(int,Qt::MouseButton)), - this, SLOT(slotItemClicked(int,Qt::MouseButton))); + connect(controller, SIGNAL(itemActivated(int)), + this, SLOT(slotItemActivated(int))); + connect(controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int))); + connect(controller, SIGNAL(contextMenuRequested(int,QPointF)), this, SLOT(slotContextMenuRequested(int,QPointF))); connect(controller, SIGNAL(itemExpansionToggleClicked(int)), this, SLOT(slotItemExpansionToggleClicked(int))); connect(controller, SIGNAL(itemHovered(int)), this, SLOT(slotItemHovered(int))); connect(controller, SIGNAL(itemUnhovered(int)), this, SLOT(slotItemUnhovered(int))); @@ -677,7 +679,7 @@ void DolphinView::contextMenuEvent(QContextMenuEvent* event) const KItemListView* view = m_container->controller()->view(); if (view->itemAt(pos) < 0) { // Only open the context-menu if the cursor is above the viewport - // (the context-menu for items is handled in slotItemClicked()) + // (the context-menu for items is handled in slotContextMenuRequested()) requestContextMenu(KFileItem(), url(), QList<QAction*>()); } } @@ -687,22 +689,42 @@ void DolphinView::activate() setActive(true); } -void DolphinView::slotItemClicked(int index, Qt::MouseButton button) +void DolphinView::slotItemActivated(int index) +{ + const QSet<int> selectedItems = m_container->controller()->selectionManager()->selectedItems(); + if (selectedItems.isEmpty()) + return; + if (selectedItems.count() == 1) { + emit itemTriggered(fileItemModel()->fileItem(index)); // caught by DolphinViewContainer or DolphinPart + } + else { + foreach (int i, selectedItems) { + const KFileItem fileItem; + fileItem = fileItemModel()->fileItem(i); + if (fileItem.isDir()) { + emit tabRequested(fileItem.url()); + } else { + emit itemTriggered(fileItem); + } + } + } +} + +void DolphinView::slotItemMiddleClicked(int index) { const KFileItem item = fileItemModel()->fileItem(index); + if (item.isDir() || isTabsForFilesEnabled()) { + emit tabRequested(item.url()); + } +} - if (button & Qt::LeftButton) { - emit itemTriggered(item); // caught by DolphinViewContainer or DolphinPart - } else if (button & Qt::MidButton) { - if (item.isDir() || isTabsForFilesEnabled()) { - emit tabRequested(item.url()); - } - } else if (button & Qt::RightButton) { - if (GeneralSettings::showToolTips()) { - m_toolTipManager->hideToolTip(); - } - emit requestContextMenu(item, url(), QList<QAction*>()); +void DolphinView::slotContextMenuRequested(int index, const QPointF& pos) +{ + if (GeneralSettings::showToolTips()) { + m_toolTipManager->hideToolTip(); } + const KFileItem item = fileItemModel()->fileItem(index); + emit requestContextMenu(item, url(), QList<QAction*>()); } void DolphinView::slotItemExpansionToggleClicked(int index) diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index 437f12f39..7a2db6889 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -552,7 +552,9 @@ private slots: */ void activate(); - void slotItemClicked(int index, Qt::MouseButton button); + void slotItemActivated(int index); + void slotItemMiddleClicked(int index); + void slotContextMenuRequested(int index, const QPointF& pos); void slotItemExpansionToggleClicked(int index); void slotItemHovered(int index); void slotItemUnhovered(int index); |
