X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a76cb4c67f8b1f30f29482228fecca89a9c1cb6f..676cdcbbdbea031c1bec56230561bf8a0efcd0f6:/src/kitemviews/kfileitemlistview.cpp diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp index f5535a653..1b6071820 100644 --- a/src/kitemviews/kfileitemlistview.cpp +++ b/src/kitemviews/kfileitemlistview.cpp @@ -24,12 +24,13 @@ #include "kfileitemmodel.h" #include "private/kpixmapmodifier.h" -#include #include #include #include #include +#include +#include // #define KFILEITEMLISTVIEW_DEBUG @@ -42,7 +43,7 @@ namespace { // If the icon size changes, a longer delay is used. This prevents that // the expensive re-generation of all previews is triggered repeatedly when - // chaning the zoom level. + // changing the zoom level. const int LongInterval = 300; } @@ -66,7 +67,7 @@ KFileItemListView::KFileItemListView(QGraphicsWidget* parent) : m_updateIconSizeTimer->setInterval(LongInterval); connect(m_updateIconSizeTimer, &QTimer::timeout, this, &KFileItemListView::updateIconSize); - setVisibleRoles(QList() << "text"); + setVisibleRoles({"text"}); } KFileItemListView::~KFileItemListView() @@ -155,21 +156,23 @@ QPixmap KFileItemListView::createDragPixmap(const KItemSet& indexes) const yCount = xCount; } + const 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); int x = 0; int y = 0; - foreach (int index, indexes) { + for (int index : indexes) { QPixmap pixmap = model()->data(index).value("iconPixmap").value(); if (pixmap.isNull()) { 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); @@ -205,7 +208,7 @@ void KFileItemListView::initializeItemListWidget(KItemListWidget* item) const KFileItem fileItem = fileItemModel->fileItem(item->index()); data.insert("iconName", fileItem.iconName()); - item->setData(data, QSet() << "iconName"); + item->setData(data, {"iconName"}); } }