From c4a916e2e490ed8d57705e82d16a6068ad145799 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Thu, 10 Mar 2011 21:36:35 -0500 Subject: [PATCH] don't hide the setup widget in static playlists only try generating 20 preview tracks for stations, faster --- src/libtomahawk/playlist/dynamic/DynamicModel.cpp | 2 +- .../playlist/dynamic/widgets/DynamicWidget.cpp | 12 ++++++++++-- .../playlist/dynamic/widgets/DynamicWidget.h | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/DynamicModel.cpp b/src/libtomahawk/playlist/dynamic/DynamicModel.cpp index 0fcc3874a..c6e752186 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicModel.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicModel.cpp @@ -160,7 +160,7 @@ DynamicModel::newTrackLoading() void DynamicModel::tracksGenerated( const QList< query_ptr > entries, int limitResolvedTo ) { - if( m_filterUnresolvable ) { // wait till we get them resolved + if( m_filterUnresolvable && m_playlist->mode() == OnDemand ) { // wait till we get them resolved (for previewing stations) m_limitResolvedTo = limitResolvedTo; filterUnresolved( entries ); } else { diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index 00e4cc0a6..5ec9d387d 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -75,7 +75,7 @@ DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget m_setup = new DynamicSetupWidget( playlist, this ); m_setup->fadeIn(); - connect( m_model, SIGNAL( tracksAdded() ), m_setup, SLOT( fadeOut() ) ); + connect( m_model, SIGNAL( tracksAdded() ), this, SLOT( tracksAdded() ) ); loadDynamicPlaylist( playlist ); @@ -262,6 +262,14 @@ DynamicWidget::trackStarted() } } +void +DynamicWidget::tracksAdded() +{ + if( m_playlist->mode() == OnDemand && m_runningOnDemand && m_setup->isVisible() ) + m_setup->fadeOut(); +} + + void DynamicWidget::stopStation( bool stopPlaying ) { @@ -349,7 +357,7 @@ void DynamicWidget::showPreview() { if( m_playlist->mode() == OnDemand && !m_runningOnDemand && m_model->rowCount( QModelIndex() ) == 0 ) { // if this is a not running station, preview matching tracks - generate( 40 ); // ask for more, we'll filter how many we actually want + generate( 20 ); // ask for more, we'll filter how many we actually want } } diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h index 1a8e9c496..2fca33856 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h @@ -89,6 +89,7 @@ public slots: void stationFailed( const QString& ); void playlistStopped( PlaylistInterface* ); + void tracksAdded(); private slots: void generate( int = -1 );