#include <wx/imaglist.h>
#include <vlc_meta.h>
-#include "charset.h"
+#include "vlc_charset.h"
#define HELP_SHUFFLE N_( "Shuffle" )
#define HELP_LOOP N_( "Repeat All" )
{
wxTreeItemIdValue cookie;
wxTreeItemId child = treectrl->GetFirstChild( root, cookie );
+ wxTreeItemId nextchild;
+ bool childIsSelected = FALSE;
+ bool nextchildIsSelected = FALSE;
+
+ if( child.IsOk() ) childIsSelected = treectrl->IsSelected( child );
+
while( child.IsOk() )
{
- if( treectrl->ItemHasChildren( child ) )
- {
- RecursiveDeleteSelection( child );
- if( treectrl->IsSelected(child ) ) DeleteTreeItem( child );
- }
- else if( treectrl->IsSelected( child ) )
+ nextchild = treectrl->GetNextChild( root, cookie );
+ if( nextchild.IsOk() )
+ nextchildIsSelected = treectrl->IsSelected( nextchild );
+ if( childIsSelected )
DeleteTreeItem( child );
- child = treectrl->GetNextChild( root, cookie );
+ else if( treectrl->ItemHasChildren( child ) )
+ RecursiveDeleteSelection( child );
+ child = nextchild;
+ childIsSelected = nextchildIsSelected;
}
}
{
long keycode = event.GetKeyCode();
/* Delete selected items */
- if( keycode == WXK_BACK || keycode == WXK_DELETE )
+ if( keycode == WXK_BACK || keycode == WXK_DELETE || keycode == WXK_NUMPAD_DELETE )
{
/* We send a dummy event */
OnDeleteSelection( event );
input_item_t *p_input = input_ItemNew( p->p_playlist,
psz_utf8, psz_utf8 );
playlist_NodeAddInput( p->p_playlist, p_input,
- p_dest, PLAYLIST_PREPARSE, i_pos );
+ p_dest, PLAYLIST_PREPARSE, i_pos, VLC_FALSE );
wxDnDLocaleFree( psz_utf8 );
}
p_item = playlist_ItemGetById( p_playlist, p_wxitem->i_id, VLC_TRUE );
- playlist_NodeCreate( p_playlist, psz_name, p_item );
+ playlist_NodeCreate( p_playlist, psz_name, p_item, 0 );
UnlockPlaylist( p_intf->p_sys, p_playlist );
Rebuild( VLC_TRUE );