Revision 222199ae pithos-macos/pithos_macosAppDelegate.m

b/pithos-macos/pithos_macosAppDelegate.m
43 43
#import "ASIDownloadCache.h"
44 44

  
45 45
@implementation pithos_macosAppDelegate
46
@synthesize storageURLPrefix, publicURLPrefix, loginURLPrefix, aboutURL;
47
@synthesize syncContainerName, syncTimeInterval, pithosBrowserController, pithosSyncDaemon, alwaysNo;
46
@synthesize pithosBrowserController, pithosSyncDaemon, alwaysNo;
48 47

  
49 48
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
49
    userDefaults = [[NSUserDefaults standardUserDefaults] retain];
50
    NSString *stringURL;
50 51
    NSURL *testURL;
51
    storageURLPrefix = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosStorageURLPrefix"];
52
    if (!storageURLPrefix) {
53
        storageURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr/v1"];
54
    } else {
55
        testURL = [NSURL URLWithString:storageURLPrefix];
56
        if (!testURL || !testURL.scheme || !testURL.host)
57
            storageURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr/v1"];
58
    }
59
    [storageURLPrefix retain];
60
    
61
    publicURLPrefix = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosPublicURLPrefix"];
62
    if (!publicURLPrefix) {
63
        publicURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr"];
64
    } else {
65
        testURL = [NSURL URLWithString:publicURLPrefix];
66
        if (!testURL || !testURL.scheme || !testURL.host)
67
            publicURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr"];
68
    }
69
    [publicURLPrefix retain];
70 52
    
71
    loginURLPrefix = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosLoginURLPrefix"];
72
    if (!loginURLPrefix) {
73
        loginURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr/login"];
74
    } else {
75
        testURL = [NSURL URLWithString:loginURLPrefix];
76
        if (!testURL || !testURL.scheme || !testURL.host)
77
            loginURLPrefix = [NSString stringWithString:@"https://pithos.dev.grnet.gr/login"];
78
    }
79
    [loginURLPrefix retain];
80

  
81
    aboutURL = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosAboutURL"];
82
    if (!aboutURL) {
83
        aboutURL = [NSString stringWithString:@"https://pithos.dev.grnet.gr/docs"];
84
    } else {
85
        testURL = [NSURL URLWithString:aboutURL];
86
        if (!testURL || !testURL.scheme || !testURL.host)
87
            aboutURL = [NSString stringWithString:@"https://pithos.dev.grnet.gr/docs"];
88
    }
89
    [aboutURL retain];
53
    stringURL = [userDefaults stringForKey:@"storageURLPrefix"];
54
    testURL = (stringURL) ? [NSURL URLWithString:stringURL] : nil;
55
    if (!testURL || !testURL.scheme || !testURL.host)
56
        [userDefaults setObject:@"https://plus.pithos.grnet.gr/v1" forKey:@"storageURLPrefix"];
57

  
58
    stringURL = [userDefaults stringForKey:@"publicURLPrefix"];
59
    testURL = (stringURL) ? [NSURL URLWithString:stringURL] : nil;
60
    if (!testURL || !testURL.scheme || !testURL.host)
61
        [userDefaults setObject:@"https://plus.pithos.grnet.gr" forKey:@"publicURLPrefix"];
62
        
63
    stringURL = [userDefaults stringForKey:@"loginURLPrefix"];
64
    testURL = (stringURL) ? [NSURL URLWithString:stringURL] : nil;
65
    if (!testURL || !testURL.scheme || !testURL.host)
66
        [userDefaults setObject:@"https://plus.pithos.grnet.gr/login" forKey:@"loginURLPrefix"];
67

  
68
    stringURL = [userDefaults stringForKey:@"aboutURL"];
69
    testURL = (stringURL) ? [NSURL URLWithString:stringURL] : nil;
70
    if (!testURL || !testURL.scheme || !testURL.host)
71
        [userDefaults setObject:@"https://pithos.dev.grnet.gr/docs" forKey:@"aboutURL"];
90 72
    
91
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
92
    NSString *syncDirectoryPath = [userDefaults stringForKey:@"pithosSyncDirectoryPath"];
73
    NSString *syncDirectoryPath = [userDefaults stringForKey:@"syncDirectoryPath"];
93 74
    if (!syncDirectoryPath || ![syncDirectoryPath length]) {
94 75
        syncDirectoryPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Pithos"];
95 76
    } else {
......
102 83
            syncDirectoryPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"Pithos"];
103 84
        }   
104 85
    }
105
    [userDefaults setObject:syncDirectoryPath forKey:@"pithosSyncDirectoryPath"];
106
    [userDefaults synchronize];
86
    [userDefaults setObject:syncDirectoryPath forKey:@"syncDirectoryPath"];
107 87
    
108
    syncContainerName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosSyncContainerName"];
109
    if (!syncContainerName || ![syncContainerName length] || [syncContainerName isEqualToString:@"trash"]) {
110
        syncContainerName = [NSString stringWithString:@"pithos"];
111
    }
112
    [syncContainerName retain];
88
    NSString *syncContainerName = [userDefaults stringForKey:@"syncContainerName"];
89
    if (!syncContainerName || ![syncContainerName length] || [syncContainerName isEqualToString:@"trash"])
90
        [userDefaults setObject:@"pithos" forKey:@"syncContainerName"];
113 91

  
114
    syncTimeInterval = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"PithosSyncTimeInterval"] doubleValue];
115
    if (syncTimeInterval <= 0) {
116
        syncTimeInterval = 180.0;
117
    }
92
    double syncTimeInterval = [userDefaults doubleForKey:@"syncTimeInteral"];
93
    if (syncTimeInterval <= 0)
94
        [userDefaults setDouble:180.0 forKey:@"syncTimeInteral"];
95
    
96
    [userDefaults synchronize];
118 97
    
119 98
    [[NSAppleEventManager sharedAppleEventManager] setEventHandler:self 
120 99
                                                       andSelector:@selector(handleAppleEvent:withReplyEvent:) 
......
187 166
        
188 167
        NSLog(@"query authUser: '%@', authToken: '%@'", authUser, authToken);
189 168
        if ([authUser length] && [authToken length]) {
190
            NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
191 169
            [userDefaults setObject:authUser forKey:@"authUser"];
192 170
            [userDefaults setObject:authToken forKey:@"authToken"];
193 171
            [userDefaults synchronize];
......
215 193
}
216 194

  
217 195
- (IBAction)aboutPithos:(id)sender {
218
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:self.aboutURL]];
196
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:[userDefaults stringForKey:@"aboutURL"]]];
219 197
}
220 198

  
221 199
- (IBAction)syncNow:(id)sender {
......
228 206
- (void)login {
229 207
    NSProcessInfo *processInfo = [NSProcessInfo processInfo];
230 208
    NSString *loginURL = [NSString stringWithFormat:@"%@?next=pithos://%@_%d", 
231
                          loginURLPrefix, [processInfo processName], [processInfo processIdentifier]];
209
                          [userDefaults stringForKey:@"loginURLPrefix"], [processInfo processName], [processInfo processIdentifier]];
232 210
    NSLog(@"loginURL: %@", loginURL);
233 211
    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:loginURL]];
234 212
}
235 213

  
236 214
- (void)authenticate {
237
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
238 215
    NSString *authUser = [userDefaults stringForKey:@"authUser"];
239 216
    NSString *authToken = [userDefaults stringForKey:@"authToken"];
240
    NSString *syncDirectoryPath = [userDefaults stringForKey:@"pithosSyncDirectoryPath"];
217
    NSString *storageURLPrefix = [userDefaults stringForKey:@"storageURLPrefix"];
218
    NSString *publicURLPrefix = [userDefaults stringForKey:@"publicURLPrefix"];
219
    NSString *syncDirectoryPath = [userDefaults stringForKey:@"syncDirectoryPath"];
220
    NSString *syncContainerName = [userDefaults stringForKey:@"syncContainerName"];
221
    double syncTimeInterval = [userDefaults doubleForKey:@"syncTimeInterval"];
241 222
    NSLog(@"Authentication - storageURLPrefix:%@, authUser:%@, authToken:%@", storageURLPrefix, authUser, authToken);
242 223
    if (([authUser length] == 0) || ([authToken length] == 0)) {
243 224
        [self showPithosPreferences:self];

Also available in: Unified diff