]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Merge branch 'davidedmundson/highdpi'
authorDavid Edmundson <kde@davidedmundson.co.uk>
Mon, 30 Mar 2015 11:39:17 +0000 (13:39 +0200)
committerDavid Edmundson <kde@davidedmundson.co.uk>
Mon, 30 Mar 2015 11:39:17 +0000 (13:39 +0200)
REVIEW: 123137

1  2 
src/kitemviews/kfileitemlistview.cpp

index d912a6c5c252f2fda1422683720ed3e542a5be4b,5efb820b0b9b2f5d41d84c92c973f9dc3b9114fb..a740a3a23ab5f8bf8902dccb9a6dd9d1c3cdc860
@@@ -29,6 -29,8 +29,8 @@@
  
  #include <QPainter>
  #include <QTimer>
+ #include <QGraphicsScene>
+ #include <QGraphicsView>
  
  // #define KFILEITEMLISTVIEW_DEBUG
  
@@@ -41,7 -43,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;
  }
  
@@@ -154,8 -156,10 +156,10 @@@ QPixmap KFileItemListView::createDragPi
          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);
              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);