diff options
| author | Elvis Angelaccio <[email protected]> | 2017-09-02 16:28:49 +0200 |
|---|---|---|
| committer | Elvis Angelaccio <[email protected]> | 2017-09-17 11:06:32 +0200 |
| commit | cdd002c57cde0480e6e02c7942e9b92af9d0a3e7 (patch) | |
| tree | d3aab65d65d7cb32ec6f1b9c29801df5b85f7b74 /src/dolphinremoveaction.cpp | |
| parent | 0006e9997e86f5522375dc082d890e0c5710a0a2 (diff) | |
Make sure we always have Shift+Del as shortcut
After commit 68bb0ec22a the shortcut for the Delete action is not
necessarily Shift+Del, but whatever the user set in System Setting.
However DolphinRemoveAction assumes/hardcodes Shift+Del, so we should
always make sure we have this shortcut around, for consistency.
We just need to add it (if necessary) to the list of shortcuts of the
action. However:
* for the actual Delete action, we need to append it (if we'd prepend it,
it would override a custom primary shortcut in the 'Configure Shortcuts' dialog).
* for DolphinRemoveAction, we need to prepend it in order to have
Shift+Del (rather than the custom primary shortcut) in the context menu.
Differential Revision: https://phabricator.kde.org/D7655
Diffstat (limited to 'src/dolphinremoveaction.cpp')
| -rw-r--r-- | src/dolphinremoveaction.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dolphinremoveaction.cpp b/src/dolphinremoveaction.cpp index ad00f6286..79d6bed60 100644 --- a/src/dolphinremoveaction.cpp +++ b/src/dolphinremoveaction.cpp @@ -48,14 +48,19 @@ void DolphinRemoveAction::update() if (qApp->queryKeyboardModifiers() & Qt::ShiftModifier) { m_action = m_collection ? m_collection->action(KStandardAction::name(KStandardAction::DeleteFile)) : 0; setText(i18nc("@action:inmenu", "&Delete")); + // Make sure we show Shift+Del in the context menu. + auto deleteShortcuts = m_action->shortcuts(); + deleteShortcuts.removeAll(Qt::SHIFT | Qt::Key_Delete); + deleteShortcuts.prepend(Qt::SHIFT | Qt::Key_Delete); + m_collection->setDefaultShortcuts(this, deleteShortcuts); } else { m_action = m_collection ? m_collection->action(QStringLiteral("move_to_trash")) : 0; setText(i18nc("@action:inmenu", "&Move to Trash")); + m_collection->setDefaultShortcuts(this, m_action->shortcuts()); } if (m_action) { setIcon(m_action->icon()); - m_collection->setDefaultShortcuts(this, m_action->shortcuts()); setEnabled(m_action->isEnabled()); } } |
