[plasma/plasma-desktop/Plasma/6.7] applets/taskmanager/qml: Fix dragging onto grouped tasks when floating applets are enabled

Nate Graham <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 50752276aa9c13a6895263ae9baae85884c71a02 by Nate Graham.
Committed on 03/08/2026 at 20:06.
Pushed by ngraham into branch 'Plasma/6.7'.

Fix dragging onto grouped tasks when floating applets are enabled

Add a small delay before closing the grouped tasks list popup so the mouse has time to arrive

BUG: 510643


(cherry picked from commit eae4f513a3af858071dc8878d4252c6e78344145)

Co-authored-by: Antonio Rojas <[email protected]>

M  +18   -2    applets/taskmanager/qml/GroupDialog.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/50752276aa9c13a6895263ae9baae85884c71a02

diff --git a/applets/taskmanager/qml/GroupDialog.qml b/applets/taskmanager/qml/GroupDialog.qml
index 4fadf79f98..71814df247 100644
--- a/applets/taskmanager/qml/GroupDialog.qml
+++ b/applets/taskmanager/qml/GroupDialog.qml
@@ -27,13 +27,23 @@ PlasmaCore.PopupPlasmaWindow {
             : PlasmaCore.AppletPopup.AtScreenEdges | PlasmaCore.AppletPopup.AtPanelEdges
 
     margin: (Plasmoid.containmentDisplayHints & PlasmaCore.Types.ContainmentPrefersFloatingApplets) ? Kirigami.Units.largeSpacing : 0
+
+    Timer {
+        id: closeOnTimer
+        interval: 100
+        onTriggered: {
+            if (!active && !mouseHandler.containsDrag) {
+                visible = false;
+            }
+        }
+    }
+
     onActiveChanged: {
         if (!active) {
-            visible = false;
+            closeOnTimer.restart();
         }
     }
 
-
     popupDirection: switch (Plasmoid.location) {
         case PlasmaCore.Types.TopEdge:
             return Qt.BottomEdge
@@ -85,6 +95,12 @@ PlasmaCore.PopupPlasmaWindow {
             groupDialog.visible = false;
         }
 
+        onContainsDragChanged: {
+            if (!active && !containsDrag) {
+                groupDialog.visible = false;
+            }
+        }
+
         function moveRow(event: KeyEvent, insertAt: int): void {
             if (!(event.modifiers & Qt.ControlModifier) || !(event.modifiers & Qt.ShiftModifier)) {
                 event.accepted = false;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.