msg_Dbg( p_intf, "Description: %s", [o_description UTF8String] );
if( p_dialog->i_id == DIALOG_ERRORS )
{
- msg_Err( p_intf, "Error: %s", p_dialog->psz_description );
+ //msg_Err( p_intf, "Error: %s", p_dialog->psz_description );
+ int myInt;
+ myInt = NSRunCriticalAlertPanel( _NS("Error"), o_description, _NS("OK"),
+ _NS("Report..."), nil );
+ if( myInt == NSCancelButton )
+ {
+ NSURL * o_url = [NSURL URLWithString:
+ @"http://www.videolan.org/support/bug-reporting.html"];
+ [[NSWorkspace sharedWorkspace] openURL: o_url];
+ }
}
else
{
}
else if( p_dialog->i_flags & DIALOG_PSZ_INPUT_OK_CANCEL )
{
- msg_Dbg( p_intf, "requested flag: DIALOG_STRING_INPUT_OK" );
+ msg_Dbg( p_intf, "requested flag: DIALOG_PSZ_INPUT_OK_CANCEL" );
[o_input_title setStringValue: o_title];
[o_input_description setStringValue: o_description];
[o_input_fld setStringValue: @""];
#include "controls.h"
#include "vlc_osd.h"
#include "misc.h"
+#import <vlc_interaction.h>
/*****************************************************************************
* VLCPlaylistView implementation
- (IBAction)addNode:(id)sender
{
+ /* we have to create a new thread here because otherwise we would block the
+ * interface since the interaction-stuff and this code would run in the same
+ * thread */
+ [NSThread detachNewThreadSelector: @selector(addNodeThreadedly)
+ toTarget: self withObject:nil];
+ [self playlistUpdated];
+}
+
+- (void)addNodeThreadedly
+{
+ NSAutoreleasePool * ourPool = [[NSAutoreleasePool alloc] init];
+
/* simply adds a new node to the end of the playlist */
playlist_t * p_playlist = vlc_object_find( VLCIntf, VLC_OBJECT_PLAYLIST,
FIND_ANYWHERE );
+ vlc_thread_set_priority( p_playlist, VLC_THREAD_PRIORITY_LOW );
+
if( !p_playlist )
{
return;
}
- playlist_item_t * p_item = playlist_NodeCreate( p_playlist,
- _("Empty Folder"), p_playlist->p_local_category );
+ int ret_v;
+ char *psz_name = NULL;
+ playlist_item_t * p_item;
+ ret_v = intf_UserStringInput( p_playlist, _("New Node"),
+ _("Please enter a name for the new node."), &psz_name );
+ if( psz_name != NULL && psz_name != "" )
+ p_item = playlist_NodeCreate( p_playlist, psz_name,
+ p_playlist->p_local_category );
+ else
+ p_item = playlist_NodeCreate( p_playlist, _("Empty Folder"),
+ p_playlist->p_local_category );
if(! p_item )
msg_Warn( VLCIntf, "node creation failed" );
vlc_object_release( p_playlist );
- [self playlistUpdated];
+ [ourPool release];
}
@end