┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
authorTirtha Chatterjee <[email protected]>2011-08-29 21:13:36 +0530
committerTirtha Chatterjee <[email protected]>2011-08-29 21:13:36 +0530
commit6e6b4ce75cf3f01bad2fad34baa9ecf15a5516af (patch)
tree77a8189afa012a6d0bc38452495201243b506a6b /src/views
parentd8ce0bfe56e4df252198818db6ca2e0286ba1547 (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.cpp52
-rw-r--r--src/views/dolphinview.h4
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);