toolbar->Realize();
/* Create teh source selector */
- source_sel = new wxListCtrl( playlist_panel, Source_Event,
- wxDefaultPosition, wxDefaultSize,
- wxLC_AUTOARRANGE|wxLC_SINGLE_SEL );
+ source_sel = new wxListView( playlist_panel, Source_Event,
+ wxDefaultPosition, wxDefaultSize,
+ wxLC_AUTOARRANGE|wxLC_SINGLE_SEL );
/* Create the tree */
treectrl = new wxTreeCtrl( playlist_panel, TreeCtrl_Event,
wxString msg;
wxString duration = wxU( "" );
- char *psz_author;
+ char *psz_artist;
if( p_item->p_input->p_meta )
{
- psz_author= p_item->p_input->p_meta->psz_artist ?
+ psz_artist= p_item->p_input->p_meta->psz_artist ?
strdup( p_item->p_input->p_meta->psz_artist ) :
strdup("");
}
else
- psz_author = strdup( "" );
+ psz_artist = strdup( "" );
char psz_duration[MSTRTIME_MAX_SIZE];
mtime_t dur = p_item->p_input->i_duration;
wxU( " )" ) );
}
- if( !strcmp( psz_author, "" ) || p_item->p_input->b_fixed_name == VLC_TRUE )
+ if( !strcmp( psz_artist, "" ) || p_item->p_input->b_fixed_name == VLC_TRUE )
{
msg = wxString( wxU( p_item->p_input->psz_name ) ) + duration;
}
else
{
- msg = wxString(wxU( psz_author )) + wxT(" - ") +
+ msg = wxString(wxU( psz_artist )) + wxT(" - ") +
wxString(wxU(p_item->p_input->psz_name)) + duration;
}
- free( psz_author );
+ free( psz_artist );
treectrl->SetItemText( item , msg );
treectrl->SetItemImage( item, p_item->p_input->i_type );
char *psz_desc;
char *psz_filter;
char *psz_module;
- } formats[] = {{ _("M3U file"), "*.m3u", "export-m3u" },
+ } formats[] = {//{ _("M3U file"), "*.m3u", "export-m3u" },
{ _("XSPF playlist"), "*.xspf", "export-xspf"}
};
wxString filter = wxT("");
- if( p_playlist->i_size == 0 )
+ if( playlist_IsEmpty( p_playlist ) )
{
wxMessageBox( wxU(_("Playlist is empty") ), wxU(_("Can't save")),
wxICON_WARNING | wxOK, this );
{
if( dialog.GetPath().mb_str() )
{
- abort();
-// playlist_Export( p_playlist, dialog.GetPath().mb_str(),
-// /* ROOT */
-// formats[dialog.GetFilterIndex()].psz_module );
+ /* what root should we export? */
+ if( p_playlist->p_root_category->i_children > 0 )
+ {
+ playlist_Export( p_playlist, dialog.GetPath().mb_str(),
+ p_playlist->p_root_category->pp_children[0],
+ formats[dialog.GetFilterIndex()].psz_module );
+ }
}
}
void Playlist::OnOpen( wxCommandEvent& WXUNUSED(event) )
{
wxFileDialog dialog( this, wxU(_("Open playlist")), wxT(""), wxT(""),
- wxT("All playlists|*.pls;*.m3u;*.asx;*.b4s;*.xspf|XSPF playlist|*.xspf|M3U files|*.m3u"), wxOPEN );
+ wxT("All playlists|" EXTENSIONS_PLAYLIST "|XSPF playlist|*.xspf|M3U files|*.m3u"), wxOPEN );
if( dialog.ShowModal() == wxID_OK )
{
if( p_parent )
{
- playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, 1242,
- p_parent, p_item );
+ playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, p_parent, p_item );
}
UnlockPlaylist( p_intf->p_sys, p_playlist );
}
if( !dest_tree_item.IsOk() ) return;
- /* check that we're not trying to move a node into one of it's children */
+ /* check that we're not trying to move a node into one of its children */
wxTreeItemId parent = dest_tree_item;
while( parent != treectrl->GetRootItem() )
{
{
/* This is a leaf. Append right after it
* We thus need to find the parrent node and the position of the
- * leaf in it's children list */
+ * leaf in its children list */
wxTreeItemId parent = p->treectrl->GetItemParent( item );
PlaylistItem *p_parent =
(PlaylistItem *)p->treectrl->GetItemData( parent );
/* Put the items in the playlist node */
for( size_t i = 0; i < filenames.GetCount(); i++ )
{
- const char *psz_utf8 = wxDnDFromLocale( filenames[i] );
+ char *psz_utf8 = wxDnDFromLocale( filenames[i] );
input_item_t *p_input = input_ItemNew( p->p_playlist,
psz_utf8, psz_utf8 );
playlist_NodeAddInput( p->p_playlist, p_input,
if( p_popup_parent )
{
- playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, 1242,
- p_popup_parent, p_popup_item );
+ playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, p_popup_parent,
+ p_popup_item );
}
UnlockPlaylist( p_intf->p_sys, p_playlist );
}
switch( event.GetId() )
{
case UpdateItem_Event:
- fprintf( stderr,"Update input item id %i\n", event.GetInt() );
UpdateItem( event.GetInt() );
break;
case AppendItem_Event:
- fprintf( stderr,"Append item id %i\n",
- ((playlist_add_t*)event.GetClientData())->i_item );
AppendItem( event );
break;
case RemoveItem_Event:
- fprintf( stderr,"Remove item id %i\n", event.GetInt() );
RemoveItem( event.GetInt() );
break;
}