diff --git a/desktop/kde/plasma/plasma-desktop/files/ac9ef2b6.patch b/desktop/kde/plasma/plasma-desktop/files/ac9ef2b6.patch new file mode 100644 index 0000000000..108fa8c124 --- /dev/null +++ b/desktop/kde/plasma/plasma-desktop/files/ac9ef2b6.patch @@ -0,0 +1,100 @@ +From ac9ef2b66d4be08cbf6a1702ee92641b80e50974 Mon Sep 17 00:00:00 2001 +From: Noah Davis +Date: Sun, 17 Oct 2021 05:50:26 -0400 +Subject: [PATCH] kickoff: Replace Kicker DragHelper with Qt Quick Drag + +Originally, I thought it wasn't possible to use Qt Quick Drag here, but +then I found out I could use Item::grabToImage()'s function callback +parameter to set Drag.imageSource. + +BUG: 443708 +--- + .../contents/ui/KickoffItemDelegate.qml | 25 +++++++------------ + .../package/contents/ui/KickoffSingleton.qml | 11 -------- + 2 files changed, 9 insertions(+), 27 deletions(-) + +diff --git a/applets/kickoff/package/contents/ui/KickoffItemDelegate.qml b/applets/kickoff/package/contents/ui/KickoffItemDelegate.qml +index bb2bc1185..c77b07111 100644 +--- a/applets/kickoff/package/contents/ui/KickoffItemDelegate.qml ++++ b/applets/kickoff/package/contents/ui/KickoffItemDelegate.qml +@@ -179,6 +179,10 @@ T.ItemDelegate { + maximumLineCount: 1 + } + ++ Drag.active: mouseArea.drag.active ++ Drag.dragType: Drag.Automatic ++ Drag.mimeData: { "text/uri-list" : root.url } ++ + MouseArea { + id: mouseArea + parent: root +@@ -201,16 +205,6 @@ T.ItemDelegate { + minimumY: 0 + maximumY: root.view ? Math.min(root.view.contentHeight - root.height, root.view.availableHeight - root.height) : root.y + } +- Binding { +- target: KickoffSingleton; when: root.dragActive +- property: "dragSource"; value: root +- restoreMode: Binding.RestoreBindingOrValue +- } +- Binding { +- target: KickoffSingleton.dragHelper; when: root.dragActive +- property: "dragIconSize"; value: root.icon.height +- restoreMode: Binding.RestoreBindingOrValue +- } + // Using onPositionChanged instead of onEntered to prevent changing + // categories while scrolling with the mouse wheel. + onPositionChanged: { +@@ -223,6 +217,11 @@ T.ItemDelegate { + // built into QQuickListView::setCurrentIndex() already + root.view.currentIndex = index + } ++ onPressed: if (root.dragEnabled && root.Drag.imageSource == "") { ++ iconItem.grabToImage((result) => { ++ return root.Drag.imageSource = result.url ++ }) ++ } + onClicked: if (mouse.button === Qt.LeftButton) { + root.forceActiveFocus(Qt.MouseFocusReason) + root.action.trigger() // clicked() is emmitted when action is triggered +@@ -277,15 +276,9 @@ T.ItemDelegate { + indicator = null + } + } +- +- // NOTE: Not using Drag attached properties because we're using DragHelper instead. +- // Drag doesn't support QIcons for the imageSource, only URLs. + onDragActiveChanged: if (dragActive) { + dragStartPosition = Qt.point(x,y) + dragStartIndex = index +- // Fixes warning: "Passing incompatible arguments to C++ functions from JavaScript is dangerous and deprecated." +- //const url = root.url ? root.url : "" +- KickoffSingleton.dragHelper.startDrag(root, url, decoration) + } else if (dragStartIndex === index) { + x = dragStartPosition.x + y = dragStartPosition.y +diff --git a/applets/kickoff/package/contents/ui/KickoffSingleton.qml b/applets/kickoff/package/contents/ui/KickoffSingleton.qml +index 3e1ff50db..d77e40bf5 100644 +--- a/applets/kickoff/package/contents/ui/KickoffSingleton.qml ++++ b/applets/kickoff/package/contents/ui/KickoffSingleton.qml +@@ -45,17 +45,6 @@ Item { + } + //END + +- //BEGIN Drag and Drop elements +- property Item dragSource: null +- // We have to use DragHelper here because the models use QIcons for the decoration role. +- // DragHelper supports QIcons and Drag.imageSource only supports urls. +- readonly property Kicker.DragHelper dragHelper: Kicker.DragHelper { +- id: dragHelper +- dragIconSize: PlasmaCore.Units.iconSizes.medium +- onDropped: dragSource = null +- } +- //END +- + //BEGIN UI elements + // Set in FullRepresentation.qml + property Item header: null +-- +GitLab + diff --git a/desktop/kde/plasma/plasma-desktop/pspec.xml b/desktop/kde/plasma/plasma-desktop/pspec.xml index 3f28340e49..c3fb4ea254 100755 --- a/desktop/kde/plasma/plasma-desktop/pspec.xml +++ b/desktop/kde/plasma/plasma-desktop/pspec.xml @@ -95,7 +95,7 @@ libXcursor-devel - + ac9ef2b6.patch @@ -194,6 +194,13 @@ + + 2021-10-18 + 5.23.0 + Rebuild. + Mustafa Cinasal + muscnsl@gmail.com + 2021-10-14 5.23.0