#include <QPainter>
#include <QTimer>
+#include <QGraphicsScene>
+#include <QGraphicsView>
// #define KFILEITEMLISTVIEW_DEBUG
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);
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);
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);
QWidget* widget)
{
QPixmap pixmap(size().toSize());
+ QPixmap pixmap(size().toSize() * widget->devicePixelRatio());
+ pixmap.setDevicePixelRatio(widget->devicePixelRatio());
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);