enable a hidden action with Key_Del as shortcut, so that the user can press Del to delete the file.
BUG: 76016
svn path=/trunk/KDE/kdebase/apps/; revision=817389
QAction* moveToTrashAction = col->action("move_to_trash");
QAction* deleteAction = col->action("delete");
QAction* cutAction = col->action(KStandardAction::name(KStandardAction::Cut));
+ QAction* deleteWithTrashShortcut = col->action("delete_shortcut"); // see DolphinViewActionHandler
KonqFileItemCapabilities capabilities(list);
const bool enableMoveToTrash = capabilities.isLocal() && capabilities.supportsMoving();
renameAction->setEnabled(capabilities.supportsMoving());
moveToTrashAction->setEnabled(enableMoveToTrash);
deleteAction->setEnabled(capabilities.supportsDeleting());
+ deleteWithTrashShortcut->setEnabled(capabilities.supportsDeleting() && !enableMoveToTrash);
cutAction->setEnabled(capabilities.supportsMoving());
}
updatePasteAction();
m_actionHandler->updateViewActions();
slotSelectionChanged(KFileItemList()); // initially disable selection-dependent actions
- // TODO sort_by_* actions
-
// TODO there was a "always open a new window" (when clicking on a directory) setting in konqueror
// (sort of spacial navigation)
QAction* deleteAction = actionCollection()->action("delete");
QAction* editMimeTypeAction = actionCollection()->action("editMimeType");
QAction* propertiesAction = actionCollection()->action("properties");
+ QAction* deleteWithTrashShortcut = actionCollection()->action("delete_shortcut"); // see DolphinViewActionHandler
if (!hasSelection) {
stateChanged("has_no_selection");
emit m_extension->enableAction("cut", false);
emit m_extension->enableAction("copy", false);
- renameAction->setEnabled(false);
- moveToTrashAction->setEnabled(false);
- deleteAction->setEnabled(false);
+ deleteWithTrashShortcut->setEnabled(false);
editMimeTypeAction->setEnabled(false);
- propertiesAction->setEnabled(false);
} else {
stateChanged("has_selection");
+ // TODO share this code with DolphinMainWindow::updateEditActions (and the desktop code)
+ // in libkonq
KonqFileItemCapabilities capabilities(selection);
const bool enableMoveToTrash = capabilities.isLocal() && capabilities.supportsMoving();
renameAction->setEnabled(capabilities.supportsMoving());
moveToTrashAction->setEnabled(enableMoveToTrash);
deleteAction->setEnabled(capabilities.supportsDeleting());
+ deleteWithTrashShortcut->setEnabled(capabilities.supportsDeleting() && !enableMoveToTrash);
editMimeTypeAction->setEnabled(true);
propertiesAction->setEnabled(true);
emit m_extension->enableAction("cut", capabilities.supportsMoving());
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui version="4" name="dolphin" >
+<kpartgui name="dolphin" version="5">
<MenuBar>
<Menu name="file">
<Action name="create_new" />
<Action name="rename" />
<Action name="move_to_trash" />
<Action name="delete" />
+ <Action name="delete_shortcut" />
<Action name="properties" />
<Action name="invert_selection" />
</disable>
deleteAction->setShortcut(Qt::SHIFT | Qt::Key_Delete);
connect(deleteAction, SIGNAL(triggered()), this, SLOT(slotDeleteItems()));
+ // This action is useful for being enabled when "move_to_trash" should be
+ // disabled and "delete" is enabled (e.g. non-local files), so that Key_Del
+ // can be used for deleting the file (#76016). It needs to be a separate action
+ // so that the Edit menu isn't affected.
+ KAction* deleteWithTrashShortcut = m_actionCollection->addAction("delete_shortcut");
+ // TODO after message freeze, a more descriptive text, for the shortcuts editor.
+ deleteWithTrashShortcut->setText(i18nc("@action:inmenu File", "Delete"));
+ deleteWithTrashShortcut->setShortcut(QKeySequence::Delete);
+ deleteWithTrashShortcut->setEnabled(false);
+ connect(deleteWithTrashShortcut, SIGNAL(triggered()), this, SLOT(slotDeleteItems()));
+
// View menu
QActionGroup* viewModeActions = new QActionGroup(this);