From 219d4e5f19aea96f21f54a1ceedf3578f04e5998 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 21 May 2012 04:36:29 +0200 Subject: [PATCH] * Fixed cover fading. --- src/libtomahawk/utils/PixmapDelegateFader.cpp | 14 +++++++++----- src/libtomahawk/utils/PixmapDelegateFader.h | 1 + 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/utils/PixmapDelegateFader.cpp b/src/libtomahawk/utils/PixmapDelegateFader.cpp index 4a07c3d1e..f3adac4e4 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.cpp +++ b/src/libtomahawk/utils/PixmapDelegateFader.cpp @@ -100,6 +100,9 @@ PixmapDelegateFader::~PixmapDelegateFader() void PixmapDelegateFader::init() { + if ( m_currentReference.isNull() ) + m_defaultImage = true; + m_startFrame = 0; m_fadePct = 100; m_connectedToStl = false; @@ -108,7 +111,7 @@ PixmapDelegateFader::init() m_current.fill( Qt::transparent ); setSize( m_size ); - if ( m_currentReference.isNull() ) + if ( m_defaultImage ) return; stlInstance().data()->setUpdateInterval( 20 ); @@ -124,15 +127,15 @@ PixmapDelegateFader::setSize( const QSize& size ) { m_size = size; - if ( m_currentReference.isNull() ) + if ( m_defaultImage ) { // No cover loaded yet, use default and don't fade in if ( !m_album.isNull() ) - m_current = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, m_mode, m_size ); + m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, m_mode, m_size ); else if ( !m_artist.isNull() ) - m_current = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); + m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); else if ( !m_track.isNull() ) - m_current = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); + m_current = m_currentReference = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, m_mode, m_size ); } else { @@ -184,6 +187,7 @@ PixmapDelegateFader::setPixmap( const QPixmap& pixmap ) if ( pixmap.isNull() ) return; + m_defaultImage = false; QByteArray ba; QBuffer buffer( &ba ); buffer.open( QIODevice::WriteOnly ); diff --git a/src/libtomahawk/utils/PixmapDelegateFader.h b/src/libtomahawk/utils/PixmapDelegateFader.h index bcf124570..ee0a71ac7 100644 --- a/src/libtomahawk/utils/PixmapDelegateFader.h +++ b/src/libtomahawk/utils/PixmapDelegateFader.h @@ -81,6 +81,7 @@ private: bool m_connectedToStl; float m_fadePct; QString m_oldImageMd5; + bool m_defaultImage; QQueue m_pixmapQueue;