mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-01 20:00:13 +02:00
fix resolving, still a load bug: losing the playlist current revision in the in-memory object when creating initially
This commit is contained in:
@@ -33,6 +33,7 @@ using namespace Tomahawk;
|
|||||||
DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget* parent )
|
DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget* parent )
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, m_layout( new QVBoxLayout )
|
, m_layout( new QVBoxLayout )
|
||||||
|
, m_resolveOnNextLoad( false )
|
||||||
, m_headerText( 0 )
|
, m_headerText( 0 )
|
||||||
, m_headerLayout( 0 )
|
, m_headerLayout( 0 )
|
||||||
, m_modeCombo( 0 )
|
, m_modeCombo( 0 )
|
||||||
@@ -66,7 +67,6 @@ DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget
|
|||||||
m_logo = new QLabel( this );
|
m_logo = new QLabel( this );
|
||||||
if( !playlist->generator()->logo().isNull() ) {
|
if( !playlist->generator()->logo().isNull() ) {
|
||||||
QPixmap p = playlist->generator()->logo().scaledToHeight( m_headerText->height(), Qt::SmoothTransformation );
|
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_logo->setPixmap( p );
|
||||||
}
|
}
|
||||||
m_headerLayout->addWidget(m_logo);
|
m_headerLayout->addWidget(m_logo);
|
||||||
@@ -128,6 +128,11 @@ DynamicWidget::onRevisionLoaded( const Tomahawk::DynamicPlaylistRevision& rev )
|
|||||||
{
|
{
|
||||||
qDebug() << "DynamicWidget::onRevisionLoaded";
|
qDebug() << "DynamicWidget::onRevisionLoaded";
|
||||||
loadDynamicPlaylist( m_playlist );
|
loadDynamicPlaylist( m_playlist );
|
||||||
|
if( m_resolveOnNextLoad )
|
||||||
|
{
|
||||||
|
m_playlist->resolve();
|
||||||
|
m_resolveOnNextLoad = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaylistInterface*
|
PlaylistInterface*
|
||||||
@@ -172,7 +177,7 @@ void
|
|||||||
DynamicWidget::tracksGenerated( const QList< query_ptr >& queries )
|
DynamicWidget::tracksGenerated( const QList< query_ptr >& queries )
|
||||||
{
|
{
|
||||||
m_playlist->addEntries( queries, m_playlist->currentrevision() );
|
m_playlist->addEntries( queries, m_playlist->currentrevision() );
|
||||||
m_playlist->resolve();
|
m_resolveOnNextLoad = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DynamicWidget::controlsChanged()
|
void DynamicWidget::controlsChanged()
|
||||||
|
@@ -68,6 +68,7 @@ private:
|
|||||||
|
|
||||||
dynplaylist_ptr m_playlist;
|
dynplaylist_ptr m_playlist;
|
||||||
QVBoxLayout* m_layout;
|
QVBoxLayout* m_layout;
|
||||||
|
bool m_resolveOnNextLoad;
|
||||||
|
|
||||||
QLabel* m_headerText;
|
QLabel* m_headerText;
|
||||||
QHBoxLayout* m_headerLayout;
|
QHBoxLayout* m_headerLayout;
|
||||||
|
@@ -15,7 +15,7 @@ using namespace Tomahawk;
|
|||||||
void
|
void
|
||||||
DatabaseCommand_LoadDynamicPlaylist::exec( DatabaseImpl* dbi )
|
DatabaseCommand_LoadDynamicPlaylist::exec( DatabaseImpl* dbi )
|
||||||
{
|
{
|
||||||
qDebug() << "Loading dynamic playlist revision" << guid();
|
qDebug() << "Loading dynamic playlist guid" << guid();
|
||||||
// load the entries first
|
// load the entries first
|
||||||
generateEntries( dbi );
|
generateEntries( dbi );
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ DatabaseCommand_LoadDynamicPlaylist::exec( DatabaseImpl* dbi )
|
|||||||
|
|
||||||
|
|
||||||
type = controlsQuery.value( 3 ).toString();
|
type = controlsQuery.value( 3 ).toString();
|
||||||
GeneratorMode mode = static_cast<GeneratorMode>( controlsQuery.value( 2 ).toInt() );
|
mode = static_cast<GeneratorMode>( controlsQuery.value( 2 ).toInt() );
|
||||||
|
|
||||||
QStringList controlIds = v.toStringList();
|
QStringList controlIds = v.toStringList();
|
||||||
qDebug() << "Got controls in dynamic playlist, loading:" << controlIds << controlsQuery.value(1);
|
qDebug() << "Got controls in dynamic playlist, loading:" << controlIds << controlsQuery.value(1);
|
||||||
|
@@ -25,6 +25,7 @@ void DatabaseCommand_LoadPlaylistEntries::generateEntries( DatabaseImpl* dbi )
|
|||||||
query_entries.bindValue( ":guid", m_revguid );
|
query_entries.bindValue( ":guid", m_revguid );
|
||||||
query_entries.exec();
|
query_entries.exec();
|
||||||
|
|
||||||
|
qDebug() << "trying to load entries:" << m_revguid;
|
||||||
QString prevrev;
|
QString prevrev;
|
||||||
QJson::Parser parser; bool ok;
|
QJson::Parser parser; bool ok;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user