]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/panels/information/pixmapviewer.cpp
Merge branch 'Applications/18.12'
[dolphin.git] / src / panels / information / pixmapviewer.cpp
index 221db8c70ff7b192a97ae5a8df6a0d96c41d89f4..5828a37ddb44261145e600dba8f14f9757d7394c 100644 (file)
 
 #include <KIconLoader>
 
-#include <QLayout>
 #include <QPainter>
-#include <QPixmap>
-#include <QKeyEvent>
+#include <QStyle>
 
 PixmapViewer::PixmapViewer(QWidget* parent, Transition transition) :
     QWidget(parent),
@@ -96,27 +94,25 @@ void PixmapViewer::paintEvent(QPaintEvent* event)
         const int scaledWidth  = static_cast<int>((m_oldPixmap.width()  * (1.0 - value)) + (m_pixmap.width()  * value));
         const int scaledHeight = static_cast<int>((m_oldPixmap.height() * (1.0 - value)) + (m_pixmap.height() * value));
 
-        const int x = (width()  - scaledWidth ) / 2;
-        const int y = (height() - scaledHeight) / 2;
-
         const bool useOldPixmap = (m_transition == SizeTransition) &&
                                   (m_oldPixmap.width() > m_pixmap.width());
         const QPixmap& largePixmap = useOldPixmap ? m_oldPixmap : m_pixmap;
-        const QPixmap scaledPixmap = largePixmap.scaled(scaledWidth,
-                                                        scaledHeight,
-                                                        Qt::IgnoreAspectRatio,
-                                                        Qt::FastTransformation);
-        painter.drawPixmap(x, y, scaledPixmap);
+       if (!largePixmap.isNull()) {
+            const QPixmap scaledPixmap = largePixmap.scaled(scaledWidth,
+                                                            scaledHeight,
+                                                            Qt::IgnoreAspectRatio,
+                                                            Qt::FastTransformation);
+
+            style()->drawItemPixmap(&painter, rect(), Qt::AlignCenter, scaledPixmap);
+       }
     } else {
-        const int x = (width()  - m_pixmap.width() ) / 2;
-        const int y = (height() - m_pixmap.height()) / 2;
-        painter.drawPixmap(x, y, m_pixmap);
+        style()->drawItemPixmap(&painter, rect(), Qt::AlignCenter, m_pixmap);
     }
 }
 
 void PixmapViewer::checkPendingPixmaps()
 {
-    if (m_pendingPixmaps.count() > 0) {
+    if (!m_pendingPixmaps.isEmpty()) {
         QPixmap pixmap = m_pendingPixmaps.dequeue();
         m_oldPixmap = m_pixmap.isNull() ? pixmap : m_pixmap;
         m_pixmap = pixmap;