X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/4a5218b3671cfa637d66bc21c231d5d97670a3fc..b1c9b5126d:/src/dolphincontroller.cpp diff --git a/src/dolphincontroller.cpp b/src/dolphincontroller.cpp index 820d34a06..b128c9033 100644 --- a/src/dolphincontroller.cpp +++ b/src/dolphincontroller.cpp @@ -74,10 +74,11 @@ void DolphinController::triggerUrlChangeRequest(const KUrl& url) } } -void DolphinController::triggerContextMenuRequest(const QPoint& pos) +void DolphinController::triggerContextMenuRequest(const QPoint& pos, + const QList& customActions) { emit activated(); - emit requestContextMenu(pos); + emit requestContextMenu(pos, customActions); } void DolphinController::requestActivation() @@ -129,36 +130,14 @@ void DolphinController::handleKeyPressEvent(QKeyEvent* event) const QItemSelectionModel* selModel = m_itemView->selectionModel(); const QModelIndex currentIndex = selModel->currentIndex(); - - if (currentIndex.isValid() && selModel->selectedIndexes().count() > 0) { - const int key = event->key(); - - if ((key == Qt::Key_Return) || (key == Qt::Key_Enter) || (key == Qt::Key_Right)) { - - const QModelIndexList indexList = selModel->selectedIndexes(); - const bool isColumnView = m_dolphinView->mode() == m_dolphinView->ColumnView; - - if (key == Qt::Key_Right) { - if (isColumnView) { - // If it is the right arrow key and in the column view-only. - KFileItem curFileItem; - foreach(const QModelIndex& index, indexList) { - curFileItem = itemForIndex(index); - if (!curFileItem.isFile()) { - /* We want - * to make sure that the selected item - * is only a folder. If we did not have this check, it would be possible to use - * the right arrow to open a file when in the column view */ - emit itemTriggered(curFileItem); - } - } - } - } else { - //Else it is Return or Enter keypress, so it is okay to perform the action of triggering, on files also. - foreach(const QModelIndex& index, indexList) { - emit itemTriggered(itemForIndex(index)); - } - } + const bool trigger = currentIndex.isValid() + && ((event->key() == Qt::Key_Return) + || (event->key() == Qt::Key_Enter)) + && (selModel->selectedIndexes().count() > 0); + if (trigger) { + const QModelIndexList indexList = selModel->selectedIndexes(); + foreach (const QModelIndex& index, indexList) { + emit itemTriggered(itemForIndex(index)); } } } @@ -182,6 +161,11 @@ void DolphinController::emitHideToolTip() emit hideToolTip(); } +void DolphinController::emitItemTriggered(const KFileItem& item) +{ + emit itemTriggered(item); +} + KFileItem DolphinController::itemForIndex(const QModelIndex& index) const { Q_ASSERT(m_itemView != 0);