diff options
| author | Peter Penz <[email protected]> | 2012-01-14 20:02:11 +0100 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2012-01-14 20:06:05 +0100 |
| commit | a0115f912a9dbfe101b996bbe773bf5db81d2987 (patch) | |
| tree | 1602a25cc1173c6fd2841768ff8a8ef25a880656 /src/dolphincontextmenu.cpp | |
| parent | 6d621d299d9f36ec580ce9495ea2f7ec5e438661 (diff) | |
Fix issue when deleting items with the context menu
Thanks to Jekyll Wu for the analyses of the issue!
BUG: 290307
BUG: 269096
BUG: 290954
BUG: 264583
FIXED-IN: 4.8.0
Diffstat (limited to 'src/dolphincontextmenu.cpp')
| -rw-r--r-- | src/dolphincontextmenu.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 8d4a3173d..286d304c5 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -159,10 +159,10 @@ void DolphinContextMenu::slotKeyModifierPressed(Qt::Key key, bool pressed) void DolphinContextMenu::slotRemoveActionTriggered() { const KActionCollection* collection = m_mainWindow->actionCollection(); - if (m_shiftPressed) { - collection->action("delete")->trigger(); - } else { + if (moveToTrash()) { collection->action("move_to_trash")->trigger(); + } else { + collection->action("delete")->trigger(); } } @@ -449,7 +449,7 @@ QAction* DolphinContextMenu::createPasteAction() return action; } -KFileItemListProperties& DolphinContextMenu::selectedItemsProperties() +KFileItemListProperties& DolphinContextMenu::selectedItemsProperties() const { if (!m_selectedItemsProperties) { m_selectedItemsProperties = new KFileItemListProperties(m_selectedItems); @@ -541,13 +541,12 @@ void DolphinContextMenu::addCustomActions() void DolphinContextMenu::updateRemoveAction() { const KActionCollection* collection = m_mainWindow->actionCollection(); - const bool moveToTrash = selectedItemsProperties().isLocal() && !m_shiftPressed; // 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) { + if (moveToTrash()) { action = collection->action("move_to_trash"); m_removeAction->setText(i18nc("@action:inmenu", "&Move to Trash")); } else { @@ -558,4 +557,9 @@ void DolphinContextMenu::updateRemoveAction() m_removeAction->setShortcuts(action->shortcuts()); } +bool DolphinContextMenu::moveToTrash() const +{ + return selectedItemsProperties().isLocal() && !m_shiftPressed; +} + #include "dolphincontextmenu.moc" |
