5 // Created by Christian Brunschen on 28/05/2008.
7 * Copyright 2008 ZXing authors
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
22 #import "EmailAction.h"
24 @implementation EmailAction
26 @synthesize recipient;
28 static NSURL *MailtoURL(NSString *to, NSString *sub, NSString *body) {
29 NSMutableString *result = [NSMutableString stringWithFormat:@"mailto:%@",
30 [to stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
32 [result appendFormat:@"&subject=%@", [sub stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
35 [result appendFormat:@"&body=%@", [body stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
37 return [NSURL URLWithString:result];
40 - (id)initWithRecipient:(NSString *)rec subject:(NSString *)subject body:(NSString *)body {
41 if ((self = [super initWithURL:MailtoURL(rec, subject, body)]) != nil) {
47 + (id)actionWithRecipient:(NSString *)recipient subject:(NSString *)subject body:(NSString *)body {
48 return [[[self alloc] initWithRecipient:recipient subject:subject body:body] autorelease];
52 return [NSString localizedStringWithFormat:NSLocalizedString(@"EmailAction action title", @"Email %@"), self.recipient];
55 - (NSString *)alertTitle {
56 return NSLocalizedString(@"EmailAction alert title", @"Compose Email");
59 - (NSString *)alertMessage {
60 return [NSString localizedStringWithFormat:NSLocalizedString(@"EmailAction alert message", @"Compose Email to %@?"), self.recipient];
63 - (NSString *)alertButtonTitle {
64 return NSLocalizedString(@"EmailAction alert button title", @"Compose");