From b96c48b44e6e81aefca46be97adcf000e363c512 Mon Sep 17 00:00:00 2001 From: Tranter Madi Date: Wed, 25 Mar 2020 09:23:30 -0600 Subject: [PATCH] Update dragCursor while dragging Summary: While dragging, the user could want to change the modifier, so we should call event->acceptProposedAction() to do update the dragCursor. FIXED-IN: 20.04.0 Test Plan: While dragging files, change modifiers between Ctrl/Shift/Alt... and move the mouse at least 1px to see the cursor changes. Reviewers: #dolphin, meven, ngraham, davidedmundson, elvisangelaccio Reviewed By: #dolphin, elvisangelaccio Subscribers: elvisangelaccio, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D28017 --- src/kitemviews/kitemlistcontroller.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp index 65c42b547d..5ddf52e5f1 100644 --- a/src/kitemviews/kitemlistcontroller.cpp +++ b/src/kitemviews/kitemlistcontroller.cpp @@ -929,8 +929,13 @@ bool KItemListController::dragMoveEvent(QGraphicsSceneDragDropEvent* event, cons m_view->hideDropIndicator(); } - event->setAccepted(!DragAndDropHelper::urlListMatchesUrl(event->mimeData()->urls(), hoveredDir)); - + if (DragAndDropHelper::urlListMatchesUrl(event->mimeData()->urls(), hoveredDir)) { + event->setDropAction(Qt::IgnoreAction); + event->ignore(); + } else { + event->setDropAction(event->proposedAction()); + event->accept(); + } return false; }