// // FeedbackController.m // Cog // // Created by Vincent Spader on 3/26/05. // Copyright 2005 Vincent Spader All rights reserved. // #import "FeedbackController.h" #import "Logging.h" @implementation FeedbackController - (id)init { return [super initWithWindowNibName:@"Feedback"]; } - (IBAction)showWindow:(id)sender { [fromView setStringValue:@""]; [subjectView setStringValue:@""]; [messageView setString:@""]; [super showWindow:sender]; } - (void)alertDidEnd:(NSAlert *)alert returnCode:(int)returnCode contextInfo:(void *)contextInfo { if([(NSNumber *)CFBridgingRelease(contextInfo) boolValue] == YES) { [[self window] close]; } } - (void)feedbackDidNotSend:(FeedbackSocket *)feedback { ALog(@"Error sending feedback"); [sendingIndicator stopAnimation:self]; NSAlert *alert = [[NSAlert alloc] init]; [alert setMessageText:NSLocalizedString(@"FeedbackFailedMessageText", @"")]; [alert setInformativeText:NSLocalizedString(@"FeedbackFailedInformativeText", @"")]; [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:(void *)CFBridgingRetain([NSNumber numberWithBool:NO])]; } - (void)feedbackDidSend:(FeedbackSocket *)feedback { [sendingIndicator stopAnimation:self]; NSAlert *alert = [[NSAlert alloc] init]; [alert setMessageText:NSLocalizedString(@"FeedbackSuccessMessageText", @"")]; [alert setInformativeText:NSLocalizedString(@"FeedbackSuccessInformativeText", @"")]; [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:(void *)CFBridgingRetain([NSNumber numberWithBool:YES])]; } - (IBAction)sendFeedback:(id)sender { [sendingIndicator startAnimation:self]; // Using this so that if its a bad connection, it doesnt sit there looking stupid..or should it feedbackSocket = [[FeedbackSocket alloc] init]; [feedbackSocket setDelegate:self]; NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]; [feedbackSocket sendFeedback:[fromView stringValue] subject:[subjectView stringValue] message:[messageView string] version:version]; } - (IBAction)cancel:(id)sender { [[self window] close]; } @end