Fix drag & drop.

This commit is contained in:
Lukas Brübach 2025-02-09 21:33:16 +01:00
parent 2cfd5b1a67
commit 3b3ba55bcb

View file

@ -13,6 +13,7 @@
#include <QMimeData> #include <QMimeData>
#include <QPainter> #include <QPainter>
#include <QPushButton> #include <QPushButton>
#include <QScrollBar>
#include <QSplitter> #include <QSplitter>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <algorithm> #include <algorithm>
@ -279,11 +280,11 @@ void DlgSelectSetForCards::dropEvent(QDropEvent *event)
{ {
QByteArray itemData = event->mimeData()->data("application/x-setentrywidget"); QByteArray itemData = event->mimeData()->data("application/x-setentrywidget");
QString draggedSetName = QString::fromUtf8(itemData); QString draggedSetName = QString::fromUtf8(itemData);
QPoint adjustedPos = event->position().toPoint() + QPoint(0, scrollArea->verticalScrollBar()->value());
int dropIndex = -1; int dropIndex = -1;
for (int i = 0; i < listLayout->count(); ++i) { for (int i = 0; i < listLayout->count(); ++i) {
QWidget *widget = listLayout->itemAt(i)->widget(); QWidget *widget = listLayout->itemAt(i)->widget();
if (widget && widget->geometry().contains(event->position().toPoint())) { if (widget && widget->geometry().contains(adjustedPos)) {
dropIndex = i; dropIndex = i;
break; break;
} }