diff --git a/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.cpp b/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.cpp index 19a74a2eb..d00059a7e 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.cpp @@ -37,7 +37,7 @@ LoadingSpinner::LoadingSpinner( QWidget* parent ) m_showHide->setDuration( 300 ); m_showHide->setStartFrame( 0 ); m_showHide->setEndFrame( 100 ); - m_showHide->setUpdateInterval( 20 ); + m_showHide->setUpdateInterval( 20 ); connect( m_showHide, SIGNAL( frameChanged( int ) ), this, SLOT( update() ) ); connect( m_showHide, SIGNAL( finished() ), this, SLOT( hideFinished() ) ); @@ -45,6 +45,7 @@ LoadingSpinner::LoadingSpinner( QWidget* parent ) connect( m_anim, SIGNAL( frameChanged( int ) ), this, SLOT( update() ) ); + resize( 31, 31 ); setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); hide(); } @@ -99,34 +100,24 @@ LoadingSpinner::sizeHint() const } -void -LoadingSpinner::resizeEvent( QResizeEvent* ) -{ - reposition(); -} - - -void -LoadingSpinner::reposition() -{ - if( !parentWidget() ) - return; - - int x = ( parentWidget()->width() / 2 ) - ( width() / 2 ); - int y = ( parentWidget()->height() / 2 ) - ( height() / 2 ); - move( x, y ); - resize( 31, 31 ); -} - - void LoadingSpinner::paintEvent( QPaintEvent* ev ) { Q_UNUSED( ev ); + + if ( !parentWidget() ) + return; + + QPoint center( ( parentWidget()->width() / 2 ) - ( width() / 2 ), ( parentWidget()->height() / 2 ) - ( height() / 2 ) ); + if ( center != pos() ) + { + move( center ); + return; + } + QPainter p( this ); -// qDebug() << "FADING" << ( m_showHide->state() == QTimeLine::Running ) << "at frame:" << m_showHide->currentValue(); - if( m_showHide->state() == QTimeLine::Running ) + if ( m_showHide->state() == QTimeLine::Running ) { // showing or hiding p.setOpacity( (qreal)m_showHide->currentValue() ); } diff --git a/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.h b/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.h index 556dcd11c..d6b447eae 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.h +++ b/src/libtomahawk/playlist/dynamic/widgets/LoadingSpinner.h @@ -36,7 +36,6 @@ public: virtual QSize sizeHint() const; virtual void paintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* ); public slots: void fadeIn(); diff --git a/src/libtomahawk/widgets/overlaywidget.cpp b/src/libtomahawk/widgets/overlaywidget.cpp index 253569dce..17fa4175d 100644 --- a/src/libtomahawk/widgets/overlaywidget.cpp +++ b/src/libtomahawk/widgets/overlaywidget.cpp @@ -123,8 +123,13 @@ void OverlayWidget::paintEvent( QPaintEvent* event ) { Q_UNUSED( event ); + QPoint center( ( m_parent->width() - width() ) / 2, ( m_parent->height() - height() ) / 2 ); - move( center ); + if ( center != pos() ) + { + move( center ); + return; + } QPainter p( this ); QRect r = contentsRect();