svn path=/trunk/KDE/kdebase/apps/; revision=654698
This commit is contained in:
Peter Penz 2007-04-16 19:47:40 +00:00
parent 4c47e1ac23
commit 5c4c00e159
2 changed files with 15 additions and 19 deletions

View file

@ -27,17 +27,16 @@
#include <QtDebug>
PixmapViewer::PixmapViewer(QWidget* parent) :
QWidget(parent)
,m_animationStep(0)
QWidget(parent),
m_animationStep(0)
{
setMinimumWidth(K3Icon::SizeEnormous);
setMinimumWidth(K3Icon::SizeEnormous);
static const int ANIMATION_DURATION = 750;
m_animation.setDuration(ANIMATION_DURATION);
m_animation.setDuration(750);
connect( &m_animation , SIGNAL(valueChanged(qreal)) , this , SLOT(update()) );
connect( &m_animation , SIGNAL(finished()) , this , SLOT(finishTransition()) );
connect(&m_animation, SIGNAL(valueChanged(qreal)), this, SLOT(update()));
connect(&m_animation, SIGNAL(finished()), this, SLOT(finishTransition()));
}
PixmapViewer::~PixmapViewer()
@ -46,23 +45,25 @@ PixmapViewer::~PixmapViewer()
void PixmapViewer::setPixmap(const QPixmap& pixmap)
{
if ( pixmap.isNull() )
if (pixmap.isNull()) {
return;
}
m_pendingPixmap = pixmap;
if ( m_animation.state() == QTimeLine::NotRunning )
if (m_animation.state() == QTimeLine::NotRunning) {
beginTransition();
}
}
void PixmapViewer::beginTransition()
{
Q_ASSERT( !m_pendingPixmap.isNull() );
Q_ASSERT( m_nextPixmap.isNull() );
Q_ASSERT(!m_pendingPixmap.isNull());
Q_ASSERT(m_nextPixmap.isNull());
m_nextPixmap = m_pendingPixmap;
m_pendingPixmap = QPixmap();
m_animation.start();
m_animation.start();
}
void PixmapViewer::finishTransition()
@ -70,8 +71,7 @@ void PixmapViewer::finishTransition()
m_pixmap = m_nextPixmap;
m_nextPixmap = QPixmap();
if ( !m_pendingPixmap.isNull() )
{
if (!m_pendingPixmap.isNull()) {
beginTransition();
}
}
@ -85,8 +85,7 @@ void PixmapViewer::paintEvent(QPaintEvent* event)
const int x = (width() - m_pixmap.width()) / 2;
const int y = (height() - m_pixmap.height()) / 2;
if ( !m_nextPixmap.isNull() )
{
if (!m_nextPixmap.isNull()) {
const int nextPixmapX = (width() - m_nextPixmap.width()) / 2;
const int nextPixmapY = (height() - m_nextPixmap.height()) / 2;
@ -94,9 +93,7 @@ void PixmapViewer::paintEvent(QPaintEvent* event)
painter.drawPixmap(x, y, m_pixmap);
painter.setOpacity( m_animation.currentValue() );
painter.drawPixmap(nextPixmapX,nextPixmapY,m_nextPixmap);
}
else
{
} else {
painter.drawPixmap(x, y, m_pixmap);
}

View file

@ -58,7 +58,6 @@ private:
QPixmap m_pendingPixmap;
QTimeLine m_animation;
int m_animationStep;
};