Commit 906e7c0b authored by Ilkka Ollakka's avatar Ilkka Ollakka

qt4: selector take2 to fix service discoveries

should fix #3112 again ;) . Playlist still has issue to crash if current item is
destroyed, but thats different issue
parent 2e50c820
......@@ -82,23 +82,25 @@ void PLSelector::setSource( QTreeWidgetItem *item )
if( !playlist_IsServicesDiscoveryLoaded( THEPL, qtu( qs ) ) )
{
playlist_ServicesDiscoveryAdd( THEPL, qtu( qs ) );
#warning FIXME
playlist_item_t *pl_item =
THEPL->p_root_category->pp_children[THEPL->p_root_category->i_children-1];
item->setData( 0, PPL_ITEM_ROLE, QVariant::fromValue( pl_item ) );
emit activated( pl_item );
return;
}
}
if( i_type == SD_TYPE )
msg_Dbg( p_intf, "SD already loaded, reloading" );
playlist_item_t *pl_item =
item->data( 0, PPL_ITEM_ROLE ).value<playlist_item_t *>();
playlist_Lock( THEPL );
playlist_item_t *pl_item = NULL;
if( i_type == SD_TYPE )
pl_item = playlist_ChildSearchName( THEPL->p_root_category, qtu( item->data(0, LONGNAME_ROLE ).toString() ) );
else if ( i_type == PL_TYPE )
pl_item = THEPL->p_local_category;
else if ( i_type == ML_TYPE )
pl_item = THEPL->p_ml_category;
playlist_Unlock( THEPL );
if( pl_item )
emit activated( pl_item );
emit activated( pl_item );
}
void PLSelector::createItems()
......@@ -135,6 +137,7 @@ void PLSelector::createItems()
sd_item = new QTreeWidgetItem( QStringList( qfu(*ppsz_longname) ) );
sd_item->setData( 0, TYPE_ROLE, SD_TYPE );
sd_item->setData( 0, NAME_ROLE, qfu( *ppsz_name ) );
sd_item->setData( 0, LONGNAME_ROLE, qfu( *ppsz_longname ) );
sd_item->setFlags( sd_item->flags() & ~Qt::ItemIsDropEnabled );
sds->addChild( sd_item );
free( *ppsz_name );
......
......@@ -48,6 +48,7 @@ enum {
TYPE_ROLE = Qt::UserRole,
PPL_ITEM_ROLE,
NAME_ROLE,
LONGNAME_ROLE,
};
Q_DECLARE_METATYPE( playlist_item_t *);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment