diff --git a/src/dynamic/widgets/DynamicWidget.cpp b/src/dynamic/widgets/DynamicWidget.cpp index 033f698b5..7a7fd6b6c 100644 --- a/src/dynamic/widgets/DynamicWidget.cpp +++ b/src/dynamic/widgets/DynamicWidget.cpp @@ -33,6 +33,7 @@ using namespace Tomahawk; DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget* parent ) : QWidget(parent) , m_layout( new QVBoxLayout ) + , m_resolveOnNextLoad( false ) , m_headerText( 0 ) , m_headerLayout( 0 ) , m_modeCombo( 0 ) @@ -66,7 +67,6 @@ DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget m_logo = new QLabel( this ); if( !playlist->generator()->logo().isNull() ) { QPixmap p = playlist->generator()->logo().scaledToHeight( m_headerText->height(), Qt::SmoothTransformation ); - qDebug() << "Trying to scale to:" << QSize( m_headerText->height(), m_headerText->height() ) << playlist->generator()->logo().size() << p.size(); m_logo->setPixmap( p ); } m_headerLayout->addWidget(m_logo); @@ -128,6 +128,11 @@ DynamicWidget::onRevisionLoaded( const Tomahawk::DynamicPlaylistRevision& rev ) { qDebug() << "DynamicWidget::onRevisionLoaded"; loadDynamicPlaylist( m_playlist ); + if( m_resolveOnNextLoad ) + { + m_playlist->resolve(); + m_resolveOnNextLoad = false; + } } PlaylistInterface* @@ -172,7 +177,7 @@ void DynamicWidget::tracksGenerated( const QList< query_ptr >& queries ) { m_playlist->addEntries( queries, m_playlist->currentrevision() ); - m_playlist->resolve(); + m_resolveOnNextLoad = true; } void DynamicWidget::controlsChanged() diff --git a/src/dynamic/widgets/DynamicWidget.h b/src/dynamic/widgets/DynamicWidget.h index e2adf002e..6867a634b 100644 --- a/src/dynamic/widgets/DynamicWidget.h +++ b/src/dynamic/widgets/DynamicWidget.h @@ -68,6 +68,7 @@ private: dynplaylist_ptr m_playlist; QVBoxLayout* m_layout; + bool m_resolveOnNextLoad; QLabel* m_headerText; QHBoxLayout* m_headerLayout; diff --git a/src/libtomahawk/database/databasecommand_loaddynamicplaylist.cpp b/src/libtomahawk/database/databasecommand_loaddynamicplaylist.cpp index 2b51705d5..eb0436e7f 100644 --- a/src/libtomahawk/database/databasecommand_loaddynamicplaylist.cpp +++ b/src/libtomahawk/database/databasecommand_loaddynamicplaylist.cpp @@ -15,7 +15,7 @@ using namespace Tomahawk; void DatabaseCommand_LoadDynamicPlaylist::exec( DatabaseImpl* dbi ) { - qDebug() << "Loading dynamic playlist revision" << guid(); + qDebug() << "Loading dynamic playlist guid" << guid(); // load the entries first generateEntries( dbi ); @@ -47,7 +47,7 @@ DatabaseCommand_LoadDynamicPlaylist::exec( DatabaseImpl* dbi ) type = controlsQuery.value( 3 ).toString(); - GeneratorMode mode = static_cast( controlsQuery.value( 2 ).toInt() ); + mode = static_cast( controlsQuery.value( 2 ).toInt() ); QStringList controlIds = v.toStringList(); qDebug() << "Got controls in dynamic playlist, loading:" << controlIds << controlsQuery.value(1); diff --git a/src/libtomahawk/database/databasecommand_loadplaylistentries.cpp b/src/libtomahawk/database/databasecommand_loadplaylistentries.cpp index 6e0254605..722878e57 100644 --- a/src/libtomahawk/database/databasecommand_loadplaylistentries.cpp +++ b/src/libtomahawk/database/databasecommand_loadplaylistentries.cpp @@ -25,6 +25,7 @@ void DatabaseCommand_LoadPlaylistEntries::generateEntries( DatabaseImpl* dbi ) query_entries.bindValue( ":guid", m_revguid ); query_entries.exec(); + qDebug() << "trying to load entries:" << m_revguid; QString prevrev; QJson::Parser parser; bool ok;