github.com/olivere/camlistore@v0.0.0-20140121221811-1b7ac2da0199/clients/ios-objc/photobackup/SettingsViewController.m (about) 1 // 2 // SettingsViewController.m 3 // photobackup 4 // 5 // Created by Nick O'Neill on 12/16/13. 6 // Copyright (c) 2013 The Camlistore Authors. All rights reserved. 7 // 8 9 #import "SettingsViewController.h" 10 #import "LAViewController.h" 11 #import "LACamliUtil.h" 12 #import "LAAppDelegate.h" 13 14 @interface SettingsViewController () 15 16 @end 17 18 @implementation SettingsViewController 19 20 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 21 { 22 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 23 if (self) { 24 // Custom initialization 25 } 26 return self; 27 } 28 29 - (void)viewDidLoad 30 { 31 [super viewDidLoad]; 32 33 NSString *serverUrl = [[NSUserDefaults standardUserDefaults] stringForKey:CamliServerKey]; 34 if (serverUrl) { 35 self.server.text = serverUrl; 36 } 37 38 NSString *username = [[NSUserDefaults standardUserDefaults] stringForKey:CamliUsernameKey]; 39 if (username) { 40 self.username.text = username; 41 42 NSString *password = [LACamliUtil passwordForUsername:username]; 43 if (password) { 44 self.password.text = password; 45 } 46 } 47 } 48 49 #pragma mark - uitextfield delegate 50 51 - (BOOL)textFieldShouldReturn:(UITextField *)textField 52 { 53 LALog(@"text field return %@", textField); 54 55 [self.server resignFirstResponder]; 56 [self.username resignFirstResponder]; 57 [self.password resignFirstResponder]; 58 59 if (textField == self.server) { 60 [self.username becomeFirstResponder]; 61 } else if (textField == self.username) { 62 [self.password becomeFirstResponder]; 63 } 64 65 return YES; 66 } 67 68 #pragma mark - done 69 70 - (IBAction)validate 71 { 72 self.errors.text = @""; 73 74 BOOL hasErrors = NO; 75 76 NSURL *serverUrl = [NSURL URLWithString:self.server.text]; 77 78 if (!serverUrl || !serverUrl.scheme || !serverUrl.host) { 79 hasErrors = YES; 80 self.errors.text = @"bad url :("; 81 } 82 83 if (!self.username.text || [self.username.text isEqualToString:@""]) { 84 hasErrors = YES; 85 self.errors.text = [self.errors.text stringByAppendingString:@"type a username :("]; 86 } 87 88 if (!self.password.text || [self.password.text isEqualToString:@""]) { 89 hasErrors = YES; 90 self.errors.text = [self.errors.text stringByAppendingString:@"type a password :("]; 91 } 92 93 if (!hasErrors) { 94 [self saveValues]; 95 } 96 } 97 98 - (void)saveValues 99 { 100 [LACamliUtil savePassword:self.password.text forUsername:self.username.text]; 101 [[NSUserDefaults standardUserDefaults] setObject:self.username.text forKey:CamliUsernameKey]; 102 [[NSUserDefaults standardUserDefaults] setObject:self.server.text forKey:CamliServerKey]; 103 [[NSUserDefaults standardUserDefaults] synchronize]; 104 105 [LACamliUtil errorText:@[@""]]; 106 107 [self.parent dismissSettings]; 108 } 109 110 - (void)didReceiveMemoryWarning 111 { 112 [super didReceiveMemoryWarning]; 113 // Dispose of any resources that can be recreated. 114 } 115 116 @end