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