1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 15:59:42 +01:00

More regression hunting: fix dynamic playlist spinner disappearing prematurely

This commit is contained in:
Leo Franchi 2011-12-03 16:09:50 -08:00
parent de6c80f04d
commit 80320fcf4e
3 changed files with 20 additions and 3 deletions

View File

@ -57,6 +57,9 @@ public:
using PlaylistModel::loadPlaylist;
bool ignoreRevision( const QString& revisionguid ) const { return waitForRevision( revisionguid ); }
void removeRevisionFromIgnore( const QString& revisionguid ) { removeFromWaitList( revisionguid ); }
signals:
void collapseFromTo( int startRow, int num );
void checkForOverflow();

View File

@ -185,6 +185,12 @@ DynamicWidget::onRevisionLoaded( const Tomahawk::DynamicPlaylistRevision& rev )
{
Q_UNUSED( rev );
qDebug() << "DynamicWidget::onRevisionLoaded";
if ( m_model->ignoreRevision( rev.revisionguid ) )
{
m_model->removeRevisionFromIgnore( rev.revisionguid );
return;
}
loadDynamicPlaylist( m_playlist );
if( m_resolveOnNextLoad || !m_playlist->author()->isLocal() )
{
@ -351,12 +357,16 @@ void
DynamicWidget::tracksGenerated( const QList< query_ptr >& queries )
{
int limit = -1; // only limit the "preview" of a station
if( m_playlist->author()->isLocal() && m_playlist->mode() == Static ) {
if ( m_playlist->author()->isLocal() && m_playlist->mode() == Static )
{
m_resolveOnNextLoad = true;
} else if( m_playlist->mode() == OnDemand )
}
else if( m_playlist->mode() == OnDemand )
{
limit = 5;
}
if( m_playlist->mode() != OnDemand )
if ( m_playlist->mode() != OnDemand )
m_loading->fadeOut();
m_model->tracksGenerated( queries, limit );
}

View File

@ -81,6 +81,10 @@ signals:
void playlistDeleted();
void playlistChanged();
protected:
bool waitForRevision( const QString& revisionguid ) const { return m_waitForRevision.contains( revisionguid ); }
void removeFromWaitList( const QString& revisionguid ) { m_waitForRevision.removeAll( revisionguid ); }
private slots:
void onDataChanged();
void onRevisionLoaded( Tomahawk::PlaylistRevision revision );