/***************************************************************************
- * Copyright (C) 2006 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2006 by Peter Penz <peter.penz19@gmail.com> *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
#include <KIconLoader>
-#include <QLayout>
#include <QPainter>
#include <QPixmap>
-#include <QKeyEvent>
+#include <QStyle>
PixmapViewer::PixmapViewer(QWidget* parent, Transition transition) :
QWidget(parent),
m_animation.setCurveShape(QTimeLine::LinearCurve);
if (m_transition != NoTransition) {
- connect(&m_animation, SIGNAL(valueChanged(qreal)), this, SLOT(update()));
- connect(&m_animation, SIGNAL(finished()), this, SLOT(checkPendingPixmaps()));
+ connect(&m_animation, &QTimeLine::valueChanged, this, static_cast<void(PixmapViewer::*)()>(&PixmapViewer::update));
+ connect(&m_animation, &QTimeLine::finished, this, &PixmapViewer::checkPendingPixmaps);
}
}
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);
}
}
}
}
-#include "pixmapviewer.moc"