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
This commit is contained in:
Elvis Angelaccio 2017-10-16 19:56:31 +02:00
parent c58226ce4f
commit f20300256b
2 changed files with 14 additions and 3 deletions

View file

@ -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;

View file

@ -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)) {