From d9e5214110c1d292d013cd07a0f8cd00a27e96b9 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Mon, 24 Jul 2023 09:28:16 +0200 Subject: [PATCH] PICARD-2689: Render the actually dragged element instead of the first selected Fixes issues with an empty rectangle being shown during dragging of items if the first selected item is not visible. --- picard/ui/itemviews.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/picard/ui/itemviews.py b/picard/ui/itemviews.py index 1311b9853..6f702d8fb 100644 --- a/picard/ui/itemviews.py +++ b/picard/ui/itemviews.py @@ -708,8 +708,9 @@ class BaseTreeView(QtWidgets.QTreeWidget): if items: drag = QtGui.QDrag(self) drag.setMimeData(self.mimeData(items)) - # Render the first selected element as drag representation - rectangle = self.visualItemRect(items[0]) + # Render the dragged element as drag representation + item = self.currentItem() + rectangle = self.visualItemRect(item) pixmap = QtGui.QPixmap(rectangle.width(), rectangle.height()) self.viewport().render(pixmap, QtCore.QPoint(), QtGui.QRegion(rectangle)) drag.setPixmap(pixmap)