diff --git a/applets/clipboard/contents/ui/ClipboardItemDelegate.qml b/applets/clipboard/contents/ui/ClipboardItemDelegate.qml index 253b9d9ed..47a074f87 100644 --- a/applets/clipboard/contents/ui/ClipboardItemDelegate.qml +++ b/applets/clipboard/contents/ui/ClipboardItemDelegate.qml @@ -60,6 +60,9 @@ PlasmaExtras.ListItem { menuListView.currentIndex = -1 } } + Keys.onDeletePressed: { + remove(UuidRole); + } ListView.onIsCurrentItemChanged: { if (ListView.isCurrentItem) { diff --git a/applets/clipboard/contents/ui/ClipboardPage.qml b/applets/clipboard/contents/ui/ClipboardPage.qml index 260ef1168..004661a91 100644 --- a/applets/clipboard/contents/ui/ClipboardPage.qml +++ b/applets/clipboard/contents/ui/ClipboardPage.qml @@ -90,6 +90,19 @@ ColumnLayout { clearButtonShown: true Layout.fillWidth: true + // Only override delete key behavior to delete list items if + // it would do nothing + Keys.enabled: filter.text.length == 0 || filter.cursorPosition == filter.length + Keys.onDeletePressed: { + let clipboardItemIndex = clipboardMenu.view.currentIndex + if (clipboardItemIndex != -1) { + let uuid = clipboardMenu.model.get(clipboardItemIndex).UuidRole + if (uuid) { + clipboardMenu.view.currentItem.remove(uuid); + } + } + } + Connections { target: main function onClearSearchField() {