From f20300256b19cb0a700bc6e5536ba9184503d918 Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Mon, 16 Oct 2017 19:56:31 +0200 Subject: [PATCH] Make sure we always have the Del shortcut Same fix as in D7655, but this time for the MoveToTrash standard action. Differential Revision: https://phabricator.kde.org/D7860 --- src/dolphinremoveaction.cpp | 9 +++++++-- src/views/dolphinviewactionhandler.cpp | 8 +++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/dolphinremoveaction.cpp b/src/dolphinremoveaction.cpp index ab1117770f..ea7efe6c86 100644 --- a/src/dolphinremoveaction.cpp +++ b/src/dolphinremoveaction.cpp @@ -61,10 +61,15 @@ void DolphinRemoveAction::update(ShiftState shiftState) m_collection->setDefaultShortcuts(this, deleteShortcuts); break; } - case ShiftState::Released: + case ShiftState::Released: { m_action = m_collection->action(KStandardAction::name(KStandardAction::MoveToTrash)); - m_collection->setDefaultShortcuts(this, m_action->shortcuts()); + // Make sure we show Del in the context menu. + auto trashShortcuts = m_action->shortcuts(); + trashShortcuts.removeAll(QKeySequence::Delete); + trashShortcuts.prepend(QKeySequence::Delete); + m_collection->setDefaultShortcuts(this, trashShortcuts); break; + } case ShiftState::Unknown: Q_UNREACHABLE(); break; diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index d0b9e7dc1e..10aae11ce6 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -109,7 +109,13 @@ void DolphinViewActionHandler::createActions() KStandardAction::renameFile(this, &DolphinViewActionHandler::slotRename, m_actionCollection); - KStandardAction::moveToTrash(this, &DolphinViewActionHandler::slotTrashActivated, m_actionCollection); + auto trashAction = KStandardAction::moveToTrash(this, &DolphinViewActionHandler::slotTrashActivated, m_actionCollection); + auto trashShortcuts = trashAction->shortcuts(); + if (!trashShortcuts.contains(QKeySequence::Delete)) { + trashShortcuts.append(QKeySequence::Delete); + m_actionCollection->setDefaultShortcuts(trashAction, trashShortcuts); + } + auto deleteAction = KStandardAction::deleteFile(this, &DolphinViewActionHandler::slotDeleteItems, m_actionCollection); auto deleteShortcuts = deleteAction->shortcuts(); if (!deleteShortcuts.contains(Qt::SHIFT | Qt::Key_Delete)) {