1// 2// UKFeedbackProvider.m 3// NiftyFeatures 4// 5// Created by Uli Kusterer on Mon Nov 24 2003. 6// Copyright (c) 2003 M. Uli Kusterer. All rights reserved. 7// 8 9#import "UKFeedbackProvider.h" 10#if 0 11#import <Message/NSMailDelivery.h> 12#endif 13 14 15@implementation UKFeedbackProvider 16 17 18-(void) dealloc 19{ 20 // Release all top-level objects from our NIB: 21 [feedbackWindow release]; 22} 23 24-(IBAction) sendFeedback: (id)sender 25{ 26 [self orderFrontFeedbackWindow: sender]; 27} 28 29-(IBAction) orderFrontFeedbackWindow: (id)sender 30{ 31 if( !feedbackWindow ) 32 [NSBundle loadNibNamed: @"UKFeedbackProvider" owner: self]; 33 [feedbackWindow makeKeyAndOrderFront: sender]; 34} 35 36 37-(IBAction) sendFeedbackButtonAction: (id)sender 38{ 39 NSString* msgText = [messageText string]; 40 NSString* msgSubjPre = NSLocalizedString(@"FEEDBACK_SUBJECT_PREFIX", @"Prefix to use in front of subject so you can filter by it."); 41 NSString* msgSubj = [msgSubjPre stringByAppendingString: [subjectField stringValue]]; 42 NSString* msgDest = NSLocalizedString(@"FEEDBACK_EMAIL", @"E-Mail address user's feedack should be sent to."); 43 44#ifdef __COCOA__ 45 if ([msgText isEqual:@""] || [msgText isEqual:@" "]) { 46 if (NSRunAlertPanel(@"Empty message", @"This message is empty, are you sure you want to send it?", @"Yes", @"No", nil) != NSAlertDefaultReturn) { // LOCALIZEME FIXME localized localization blah blah search keys are here! 47 return; 48 } 49 } 50 if( ![NSMailDelivery deliverMessage: msgText subject: msgSubj to: msgDest] ) 51 { 52 NSBeginAlertSheet( NSLocalizedString(@"Couldn't send message", @"FEEDBACK_ERROR_TITLE"), 53 NSLocalizedString(@"OK",@"FEEDBACK_ERRORR_BUTTON"), nil, nil, 54 feedbackWindow, self, @selector(errorSheetDidEnd:returnCode:contextInfo:), 0, nil, 55 NSLocalizedString(@"An error occurred while trying to send off your bug report, try using your e-mail client instead.", @"FEEDBACK_ERROR_MESSAGE")); 56 } 57 else 58 [self closeFeedbackWindow: sender]; 59#else 60#warning GNUstep use Pantomime here ? 61#endif 62} 63 64 65-(void) errorSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo 66{ 67 68} 69 70 71-(IBAction) closeFeedbackWindow: (id)sender 72{ 73 [messageText setString: @""]; 74 [subjectField selectItemAtIndex: 0]; 75 [feedbackWindow orderOut: sender]; 76} 77 78 79-(IBAction) openURL: (id)sender 80{ 81 // This URL may be a "mailto:user@domain.net?subject=Feedback%20about%20NiftyFeatures" URL as well: 82 [[NSWorkspace sharedWorkspace] openURL: [NSURL URLWithString: NSLocalizedString(@"FEEDBACK_URL", @"URL where the user can provide feedback.")]]; 83} 84 85 86@end 87