- vlc_gc_incref( p_item->p_input );
- char *psz_name = input_item_GetName( p_item->p_input );
- PLSelItem *item = addItem(
- PL_ITEM_TYPE, qfu( psz_name ), false, podcastsParent );
- item->addAction( RM_ACTION, qtr( "Remove this podcast subscription" ) );
- item->treeItem()->setData( 0, PL_ITEM_ROLE, QVariant::fromValue( p_item ) );
- item->treeItem()->setData( 0, PL_ITEM_ID_ROLE, QVariant(p_item->i_id) );
- item->treeItem()->setData( 0, IN_ITEM_ROLE, QVariant::fromValue( p_item->p_input ) );
- CONNECT( item, action( PLSelItem* ), this, podcastRemove( PLSelItem* ) );
- free( psz_name );
- return item;
-}
-
-void PLSelector::createItems()
-{
- PLSelItem *pl = putPLData( addItem( PL_ITEM_TYPE, qtr( "Playlist" ), true ),
- THEPL->p_playing );
- pl->treeItem()->setData( 0, SPECIAL_ROLE, QVariant( IS_PL ) );
-
- PLSelItem *ml = putPLData( addItem( PL_ITEM_TYPE, qtr( "Media Library" ), true ),
- THEPL->p_media_library );
- ml->treeItem()->setData( 0, SPECIAL_ROLE, QVariant( IS_ML ) );
-
- QTreeWidgetItem *mycomp = addItem( CATEGORY_TYPE, qtr( "My Computer" ),
- false )->treeItem();
- QTreeWidgetItem *devices = addItem( CATEGORY_TYPE, qtr( "Devices" ),
- false )->treeItem();
- QTreeWidgetItem *lan = addItem( CATEGORY_TYPE, qtr( "Local Network" ),
- false )->treeItem();
- QTreeWidgetItem *internet = addItem( CATEGORY_TYPE, qtr( "Internet" ),
- false )->treeItem();;
-
- char **ppsz_longnames;
- int *p_categories;
- char **ppsz_names = vlc_sd_GetNames( THEPL, &ppsz_longnames, &p_categories );
- if( !ppsz_names )
- return;
-
- char **ppsz_name = ppsz_names, **ppsz_longname = ppsz_longnames;
- int *p_category = p_categories;
- for( ; *ppsz_name; ppsz_name++, ppsz_longname++, p_category++ )
- {
- //msg_Dbg( p_intf, "Adding a SD item: %s", *ppsz_longname );
-
- if( *p_category == SD_CAT_INTERNET )
- {
- PLSelItem *selItem = addItem( SD_TYPE, *ppsz_longname, false, internet );
- putSDData( selItem, *ppsz_name, *ppsz_longname );
- if( !strncmp( *ppsz_name, "podcast", 7 ) )
- {
- selItem->treeItem()->setData( 0, SPECIAL_ROLE, QVariant( IS_PODCAST ) );
- selItem->addAction( ADD_ACTION, qtr( "Subscribe to a podcast" ) );
- CONNECT( selItem, action( PLSelItem* ), this, podcastAdd( PLSelItem* ) );
- podcastsParent = selItem->treeItem();
- }
- }
- else if( *p_category == SD_CAT_DEVICES )
- {
- putSDData( addItem( SD_TYPE, *ppsz_longname, false, devices ),
- *ppsz_name, *ppsz_longname );
- }
- else if( *p_category == SD_CAT_LAN )
- {
- putSDData( addItem( SD_TYPE, *ppsz_longname, false, lan ),
- *ppsz_name, *ppsz_longname );
- }
- else if( *p_category == SD_CAT_MYCOMPUTER )
- {
- putSDData( addItem( SD_TYPE, *ppsz_longname, false, mycomp ),
- *ppsz_name, *ppsz_longname );
- }
- else
- {
- putSDData( addItem( SD_TYPE, qtr( *ppsz_longname ), false ),
- *ppsz_name, *ppsz_longname );
- }