[[self delegate] deleteItem:self];
break;
+ case NSEnterCharacter:
+ case NSCarriageReturnCharacter:
+ [(VLCPlaylist *)[[VLCMain sharedInstance] getPlaylist]
+ playItem:self];
+ break;
+
default:
[super keyDown: o_event];
break;
vlc_list_release( p_list );
vlc_object_release( p_playlist );
+ /* Change the simple textfield into a searchField if we can... */
+#if 0
+ if( MACOS_VERSION >= 10.3 )
+ {
+ NSView *o_parentview = [o_status_field superview];
+ NSSearchField *o_better_search_field = [[NSSearchField alloc]initWithFrame:[o_search_field frame]];
+ [o_better_search_field setRecentsAutosaveName:@"VLC media player search"];
+ [o_better_search_field setDelegate:self];
+ [[NSNotificationCenter defaultCenter] addObserver: self
+ selector: @selector(searchfieldChanged:)
+ name: NSControlTextDidChangeNotification
+ object: o_better_search_field];
+
+ [o_better_search_field setTarget:self];
+ [o_better_search_field setAction:@selector(searchItem:)];
+
+ [o_better_search_field setAutoresizingMask:NSViewMinXMargin];
+ [o_parentview addSubview:o_better_search_field];
+ [o_search_field setHidden:YES];
+ }
+#endif
[self initStrings];
//[self playlistUpdated];
}
+- (void)searchfieldChanged:(NSNotification *)o_notification
+{
+ [o_search_field setStringValue:[[o_notification object] stringValue]];
+}
+
- (void)initStrings
{
[o_mi_save_playlist setTitle: _NS("Save Playlist...")];
#if 0
[o_search_button setTitle: _NS("Search")];
#endif
+ [o_search_field setToolTip: _NS("Search in Playlist")];
[[o_loop_popup itemAtIndex:0] setTitle: _NS("Standard Play")];
[[o_loop_popup itemAtIndex:1] setTitle: _NS("Repeat One")];
[[o_loop_popup itemAtIndex:2] setTitle: _NS("Repeat All")];
for (j = 0 ; j < [o_array count] - 1 ; j++)
{
- [o_outline_view expandItem: [o_outline_dict objectForKey:
+ id o_item;
+ if( ( o_item = [o_outline_dict objectForKey:
[NSString stringWithFormat: @"%p",
- [[o_array objectAtIndex:j] pointerValue]]]];
+ [[o_array objectAtIndex:j] pointerValue]]] ) != nil )
+ [o_outline_view expandItem: o_item];
}
if ( p_temp_item )
{
+ vlc_mutex_lock( &p_playlist->object_lock );
while( p_temp_item->i_parents > 0 )
{
int i;
if( p_temp_item->pp_parents[i]->p_parent == p_node )
{
vlc_object_release( p_playlist );
+ vlc_mutex_unlock( &p_playlist->object_lock );
return YES;
}
else
}
}
}
+ vlc_mutex_unlock( &p_playlist->object_lock );
}
vlc_object_release( p_playlist );
return NO;
}
+- (IBAction)savePlaylist:(id)sender
+{
+ intf_thread_t * p_intf = VLCIntf;
+ playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
+ FIND_ANYWHERE );
+
+ NSSavePanel *o_save_panel = [NSSavePanel savePanel];
+ NSString * o_name = [NSString stringWithFormat: @"%@.m3u", _NS("Untitled")];
+ [o_save_panel setTitle: _NS("Save Playlist")];
+ [o_save_panel setPrompt: _NS("Save")];
+
+ if( [o_save_panel runModalForDirectory: nil
+ file: o_name] == NSOKButton )
+ {
+ playlist_Export( p_playlist, [[o_save_panel filename] fileSystemRepresentation], "export-m3u" );
+ }
+}
+
/* When called retrieves the selected outlineview row and plays that node or item */
- (IBAction)playItem:(id)sender
if( p_playlist == NULL )
return;
-
p_view = playlist_ViewFind( p_playlist, i_current_view );
if( p_view )