]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemlistview.cpp
review comments
[dolphin.git] / src / kitemviews / kfileitemlistview.cpp
index 0a92e75e5ff13ee60df11568ca645958bad20a4c..5efb820b0b9b2f5d41d84c92c973f9dc3b9114fb 100644 (file)
 #include "kfileitemmodelrolesupdater.h"
 #include "kfileitemlistwidget.h"
 #include "kfileitemmodel.h"
-#include <KLocale>
-#include <KStringHandler>
 #include "private/kpixmapmodifier.h"
 
-#include <KDebug>
-#include <KIcon>
-#include <KTextEdit>
+#include <QIcon>
 #include <KIconLoader>
-#include <KDateTime>
 
 #include <QPainter>
-#include <QTextLine>
 #include <QTimer>
+#include <QGraphicsScene>
+#include <QGraphicsView>
 
 // #define KFILEITEMLISTVIEW_DEBUG
 
@@ -71,7 +67,7 @@ KFileItemListView::KFileItemListView(QGraphicsWidget* parent) :
     m_updateIconSizeTimer->setInterval(LongInterval);
     connect(m_updateIconSizeTimer, &QTimer::timeout, this, &KFileItemListView::updateIconSize);
 
-    setVisibleRoles(QList<QByteArray>() << "text");
+    setVisibleRoles({"text"});
 }
 
 KFileItemListView::~KFileItemListView()
@@ -160,8 +156,10 @@ 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);
@@ -171,10 +169,10 @@ QPixmap KFileItemListView::createDragPixmap(const KItemSet& indexes) const
     foreach (int index, indexes) {
         QPixmap pixmap = model()->data(index).value("iconPixmap").value<QPixmap>();
         if (pixmap.isNull()) {
-            KIcon icon(model()->data(index).value("iconName").toString());
+            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);
@@ -210,7 +208,7 @@ void KFileItemListView::initializeItemListWidget(KItemListWidget* item)
 
         const KFileItem fileItem = fileItemModel->fileItem(item->index());
         data.insert("iconName", fileItem.iconName());
-        item->setData(data, QSet<QByteArray>() << "iconName");
+        item->setData(data, {"iconName"});
     }
 }