┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kitemviews/kfileitemlistview.cpp8
-rw-r--r--src/kitemviews/kitemlistcontroller.cpp2
-rw-r--r--src/kitemviews/kitemlistwidget.cpp2
3 files changed, 9 insertions, 3 deletions
diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp
index d249bef91..18b193572 100644
--- a/src/kitemviews/kfileitemlistview.cpp
+++ b/src/kitemviews/kfileitemlistview.cpp
@@ -29,6 +29,8 @@
#include <QPainter>
#include <QTimer>
+#include <QGraphicsScene>
+#include <QGraphicsView>
// #define KFILEITEMLISTVIEW_DEBUG
@@ -154,8 +156,10 @@ QPixmap KFileItemListView::createDragPixmap(const KItemSet& indexes) const
yCount = xCount;
}
+ qreal dpr = scene()->views()[0]->devicePixelRatio();
// Draw the selected items into the grid cells.
- QPixmap dragPixmap(xCount * size + xCount, yCount * size + yCount);
+ QPixmap dragPixmap(QSize(xCount * size + xCount, yCount * size + yCount)*dpr);
+ dragPixmap.setDevicePixelRatio(dpr);
dragPixmap.fill(Qt::transparent);
QPainter painter(&dragPixmap);
@@ -168,7 +172,7 @@ QPixmap KFileItemListView::createDragPixmap(const KItemSet& indexes) const
QIcon icon = QIcon::fromTheme(model()->data(index).value("iconName").toString());
pixmap = icon.pixmap(size, size);
} else {
- KPixmapModifier::scale(pixmap, QSize(size, size));
+ KPixmapModifier::scale(pixmap, QSize(size, size) * dpr);
}
painter.drawPixmap(x, y, pixmap);
diff --git a/src/kitemviews/kitemlistcontroller.cpp b/src/kitemviews/kitemlistcontroller.cpp
index a9ebf97af..1c86ff03f 100644
--- a/src/kitemviews/kitemlistcontroller.cpp
+++ b/src/kitemviews/kitemlistcontroller.cpp
@@ -1168,7 +1168,7 @@ void KItemListController::startDragging()
const QPixmap pixmap = m_view->createDragPixmap(selectedItems);
drag->setPixmap(pixmap);
- const QPoint hotSpot(pixmap.width() / 2, 0);
+ const QPoint hotSpot((pixmap.width() / pixmap.devicePixelRatio()) / 2, 0);
drag->setHotSpot(hotSpot);
drag->exec(Qt::MoveAction | Qt::CopyAction | Qt::LinkAction, Qt::CopyAction);
diff --git a/src/kitemviews/kitemlistwidget.cpp b/src/kitemviews/kitemlistwidget.cpp
index 3eb6b1d71..596d1d709 100644
--- a/src/kitemviews/kitemlistwidget.cpp
+++ b/src/kitemviews/kitemlistwidget.cpp
@@ -369,6 +369,8 @@ QPixmap KItemListWidget::createDragPixmap(const QStyleOptionGraphicsItem* option
QWidget* widget)
{
QPixmap pixmap(size().toSize());
+ QPixmap pixmap(size().toSize() * widget->devicePixelRatio());
+ pixmap.setDevicePixelRatio(widget->devicePixelRatio());
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);