Slovenian translation
[zxing.git] / iphone / Barcodes / Classes / OpenUrlAction.m
1 //
2 //  OpenUrlAction.m
3 //  ZXing
4 //
5 //  Created by Christian Brunschen on 28/05/2008.
6 /*
7  * Copyright 2008 ZXing authors
8  *
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
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
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.
20  */
21
22 #import "OpenUrlAction.h"
23
24
25 @implementation OpenUrlAction
26
27 @synthesize URL;
28
29 - (id)initWithURL:(NSURL *)url {
30   if ((self = [super init]) != nil) {
31     self.URL = url;
32   }
33   return self;
34 }
35
36 + (id)actionWithURL:(NSURL *)URL {
37   return [[[self alloc] initWithURL:URL] autorelease];
38 }
39
40 - (NSString *)title {
41   return [NSString localizedStringWithFormat:NSLocalizedString(@"OpenURLAction action title", @"Open URL"), self.URL];
42 }
43
44 - (NSString *)alertTitle {
45   return NSLocalizedString(@"OpenURLAction alert title", @"Open URL");
46 }
47
48 - (NSString *)alertMessage {
49   return [NSString localizedStringWithFormat:NSLocalizedString(@"OpenURLAction alert message", @"Open URL <%@>?"), self.URL];
50 }
51
52 - (NSString *)alertButtonTitle {
53   return NSLocalizedString(@"OpenURLAction alert button title", @"Open");
54 }
55
56 - (void)performActionWithController:(UIViewController *)controller 
57                       shouldConfirm:(bool)shouldConfirm {
58   if (shouldConfirm) {
59     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:nil 
60                                                         message:[self alertMessage] 
61                                                        delegate:self 
62                                               cancelButtonTitle:NSLocalizedString(@"OpenURLAction cancel button title", @"Cancel") 
63                                               otherButtonTitles:[self alertButtonTitle], nil];
64     [alertView show];
65     [alertView release];
66   } else {
67     [self openURL];
68   }
69 }
70
71 - (void)openURL {
72   [[UIApplication sharedApplication] openURL:self.URL];
73 }
74
75 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
76   if (buttonIndex != [alertView cancelButtonIndex]) {
77     // perform the action
78     [self openURL];
79   }
80 }
81
82 @end