-/* Find a wxItem from a playlist_item */
-wxTreeItemId Playlist::FindItem( wxTreeItemId root, playlist_item_t *p_item )
-{
- long cookie;
- PlaylistItem *p_wxcurrent;
- wxTreeItemId search;
- wxTreeItemId item = treectrl->GetFirstChild( root, cookie );
- wxTreeItemId child;
-
- if( p_item == p_saved_item && saved_tree_item.IsOk() )
- {
- return saved_tree_item;
- }
-
- p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( root );
-
- if( !p_item || !p_wxcurrent )
- {
- wxTreeItemId dummy;
- return dummy;
- }
-
- if( p_wxcurrent->p_item == p_item )
- {
- return root;
- }
-
- while( item.IsOk() )
- {
- p_wxcurrent = (PlaylistItem *)treectrl->GetItemData( item );
- if( p_wxcurrent->p_item == p_item )
- {
- saved_tree_item = item;
- p_saved_item = p_item;
- return item;
- }
- if( treectrl->ItemHasChildren( item ) )
- {
- wxTreeItemId search = FindItem( item, p_item );
- if( search.IsOk() )
- {
- saved_tree_item = search;
- p_saved_item = p_item;
- return search;
- }
- }
- item = treectrl->GetNextChild( root, cookie );
- }
- /* Not found */
- wxTreeItemId dummy;
- return dummy;
-}