From 39f89141b06ce2e4759f79f7a960bce3ec2c0329 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 13 Oct 2010 15:25:58 +0000 Subject: [PATCH] The &-shortcut from another action is not set until the action has been shown at least once. To bypass this issue in the context-menu when pressing SHIFT, the text and &-shortcut is applied manually. svn path=/trunk/KDE/kdebase/apps/; revision=1185522 --- src/dolphincontextmenu.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 13fa6f35b9..a3d913d6a0 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -486,8 +486,18 @@ void DolphinContextMenu::updateRemoveAction() { const KActionCollection* collection = m_mainWindow->actionCollection(); const bool moveToTrash = capabilities().isLocal() && !m_shiftPressed; - const QAction* action = moveToTrash ? collection->action("move_to_trash") : collection->action("delete"); - m_removeAction->setText(action->text()); + + // Using m_removeAction->setText(action->text()) does not apply the &-shortcut. + // This is only done until the original action has been shown at least once. To + // bypass this issue, the text and &-shortcut is applied manually. + const QAction* action = 0; + if (moveToTrash) { + action = collection->action("move_to_trash"); + m_removeAction->setText(i18nc("@action:inmenu", "&Move to Trash")); + } else { + action = collection->action("delete"); + m_removeAction->setText(i18nc("@action:inmenu", "&Delete")); + } m_removeAction->setIcon(action->icon()); m_removeAction->setShortcuts(action->shortcuts()); }