+ msg_Dbg( p_intf, "destroy event" );
+ if( o_mainIntfPgbar )
+ [o_mainIntfPgbar release];
+}
+
+- (IBAction)cancelAndClose:(id)sender
+{
+ /* tell the core that the dialog was cancelled in a yes/no-style dialogue */
+ vlc_object_lock( p_dialog->p_interaction );
+ p_dialog->i_return = DIALOG_CANCELLED;
+ p_dialog->i_status = ANSWERED_DIALOG;
+ vlc_object_unlock( p_dialog->p_interaction );
+ msg_Dbg( p_intf, "dialog cancelled" );
+}
+
+- (IBAction)cancelDialog:(id)sender
+{
+ /* tell core that the user wishes to cancel the dialogue
+ * Use this function if cancelling is optionally like in the progress-dialogue */
+ vlc_object_lock( p_dialog->p_interaction );
+ p_dialog->b_cancelled = true;
+ vlc_object_unlock( p_dialog->p_interaction );
+ msg_Dbg( p_intf, "cancelling dialog, will close it later on" );
+}
+
+- (IBAction)okayAndClose:(id)sender
+{
+ msg_Dbg( p_intf, "running okayAndClose" );
+ vlc_object_lock( p_dialog->p_interaction );
+ if( p_dialog->i_flags == DIALOG_LOGIN_PW_OK_CANCEL )
+ {
+ p_dialog->psz_returned[0] = strdup( [[o_auth_login_fld stringValue] UTF8String] );
+ p_dialog->psz_returned[1] = strdup( [[o_auth_pw_fld stringValue] UTF8String] );
+ }
+ else if( p_dialog->i_flags == DIALOG_PSZ_INPUT_OK_CANCEL )
+ p_dialog->psz_returned[0] = strdup( [[o_input_fld stringValue] UTF8String] );
+ p_dialog->i_return = DIALOG_OK_YES;
+ p_dialog->i_status = ANSWERED_DIALOG;
+ vlc_object_unlock( p_dialog->p_interaction );
+ msg_Dbg( p_intf, "dialog acknowledged" );
+}
+
+@end
+
+/*****************************************************************************
+ * VLCErrorInteractionPanel implementation
+ *****************************************************************************/
+@implementation VLCErrorInteractionPanel
+-(id)init
+{
+ [super init];
+
+ /* load the nib */
+ nib_interact_errpanel_loaded = [NSBundle loadNibNamed:@"InteractionErrorPanel" owner:self];
+
+ /* init strings */
+ [o_window setTitle: _NS("Errors and Warnings")];
+ [o_cleanup_button setTitle: _NS("Clean up")];
+ [o_messages_btn setTitle: _NS("Show Details")];
+
+ /* init data sources */
+ o_errors = [[NSMutableArray alloc] init];
+ o_icons = [[NSMutableArray alloc] init];
+
+ /* ugly Carbon stuff following...
+ * regrettably, you can't get the icons through clean Cocoa */
+
+ /* retrieve our error icon */
+ IconRef ourIconRef;
+ int returnValue;
+ returnValue = GetIconRef(kOnSystemDisk, 'macs', 'stop', &ourIconRef);
+ errorIcon = [[NSImage alloc] initWithSize:NSMakeSize(32,32)];
+ [errorIcon lockFocus];
+ CGRect rect = CGRectMake(0,0,32,32);
+ PlotIconRefInContext((CGContextRef)[[NSGraphicsContext currentContext]
+ graphicsPort],
+ &rect,
+ kAlignNone,
+ kTransformNone,
+ NULL /*inLabelColor*/,
+ kPlotIconRefNormalFlags,
+ (IconRef)ourIconRef);
+ [errorIcon unlockFocus];
+ returnValue = ReleaseIconRef(ourIconRef);
+
+ /* retrieve our caution icon */
+ returnValue = GetIconRef(kOnSystemDisk, 'macs', 'caut', &ourIconRef);
+ warnIcon = [[NSImage alloc] initWithSize:NSMakeSize(32,32)];
+ [warnIcon lockFocus];
+ PlotIconRefInContext((CGContextRef)[[NSGraphicsContext currentContext]
+ graphicsPort],
+ &rect,
+ kAlignNone,
+ kTransformNone,
+ NULL /*inLabelColor*/,
+ kPlotIconRefNormalFlags,
+ (IconRef)ourIconRef);
+ [warnIcon unlockFocus];
+ returnValue = ReleaseIconRef(ourIconRef);
+
+ return self;