Commit 3fc95408 authored by Rafaël Carré's avatar Rafaël Carré

macosx gui playlist: allow drag & drop to the media library

parent 818a663e
...@@ -165,13 +165,10 @@ ...@@ -165,13 +165,10 @@
p_item = (playlist_item_t *)[item pointerValue]; p_item = (playlist_item_t *)[item pointerValue];
} }
if( p_item ) if( p_item )
i_return = p_item->i_children; i_return = p_item->i_children;
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
if( i_return <= 0 ) return i_return > 0 ? i_return : 0;
i_return = 0;
return i_return;
} }
/* return the child at index for the Obj-C pointer item */ /* DONE */ /* return the child at index for the Obj-C pointer item */ /* DONE */
...@@ -1405,7 +1402,10 @@ ...@@ -1405,7 +1402,10 @@
/* Refuse to move items that are not in the General Node /* Refuse to move items that are not in the General Node
(Service Discovery) */ (Service Discovery) */
if( ![self isItem: [o_item pointerValue] inNode: if( ![self isItem: [o_item pointerValue] inNode:
p_playlist->p_local_category checkItemExistence: NO]) p_playlist->p_local_category checkItemExistence: NO] &&
( var_CreateGetBool( p_playlist, "media-library" ) &&
![self isItem: [o_item pointerValue] inNode:
p_playlist->p_ml_category checkItemExistence: NO]) )
{ {
vlc_object_release(p_playlist); vlc_object_release(p_playlist);
return NO; return NO;
...@@ -1461,8 +1461,8 @@ ...@@ -1461,8 +1461,8 @@
/* We refuse to drop an item in anything else than a child of the General /* We refuse to drop an item in anything else than a child of the General
Node. We still accept items that would be root nodes of the outlineview Node. We still accept items that would be root nodes of the outlineview
however, to allow drop in an empty playlist. */ however, to allow drop in an empty playlist. */
if( !([self isItem: [item pointerValue] inNode: p_playlist->p_local_category if( !( ([self isItem: [item pointerValue] inNode: p_playlist->p_local_category checkItemExistence: NO] ||
checkItemExistence: NO] || item == nil) ) ( var_CreateGetBool( p_playlist, "media-library" ) && [self isItem: [item pointerValue] inNode: p_playlist->p_ml_category checkItemExistence: NO] ) ) || item == nil ) )
{ {
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
return NSDragOperationNone; return NSDragOperationNone;
......
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