github.com/slspeek/camlistore_namedsearch@v0.0.0-20140519202248-ed6f70f7721a/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 23 bundle:nibBundleOrNil]; 24 if (self) { 25 // Custom initialization 26 } 27 return self; 28 } 29 30 - (void)viewDidLoad 31 { 32 [super viewDidLoad]; 33 34 NSString* serverUrl = [[NSUserDefaults standardUserDefaults] stringForKey:CamliServerKey]; 35 if (serverUrl) { 36 self.server.text = serverUrl; 37 } 38 39 NSString* username = [[NSUserDefaults standardUserDefaults] stringForKey:CamliUsernameKey]; 40 if (username) { 41 self.username.text = username; 42 43 NSString* password = [LACamliUtil passwordForUsername:username]; 44 if (password) { 45 self.password.text = password; 46 } 47 } 48 } 49 50 #pragma mark - uitextfield delegate 51 52 - (BOOL)textFieldShouldReturn:(UITextField*)textField 53 { 54 LALog(@"text field return %@", textField); 55 56 [self.server resignFirstResponder]; 57 [self.username resignFirstResponder]; 58 [self.password resignFirstResponder]; 59 60 if (textField == self.server) { 61 [self.username becomeFirstResponder]; 62 } else if (textField == self.username) { 63 [self.password becomeFirstResponder]; 64 } 65 66 return YES; 67 } 68 69 #pragma mark - done 70 71 - (IBAction)validate 72 { 73 self.errors.text = @""; 74 75 BOOL hasErrors = NO; 76 77 NSURL* serverUrl = [NSURL URLWithString:self.server.text]; 78 79 if (!serverUrl || !serverUrl.scheme || !serverUrl.host) { 80 hasErrors = YES; 81 self.errors.text = @"bad url :("; 82 } 83 84 if (!self.username.text || [self.username.text isEqualToString:@""]) { 85 hasErrors = YES; 86 self.errors.text = [self.errors.text stringByAppendingString:@"type a username :("]; 87 } 88 89 if (!self.password.text || [self.password.text isEqualToString:@""]) { 90 hasErrors = YES; 91 self.errors.text = [self.errors.text stringByAppendingString:@"type a password :("]; 92 } 93 94 if (!hasErrors) { 95 [self saveValues]; 96 } 97 } 98 99 - (void)saveValues 100 { 101 [LACamliUtil savePassword:self.password.text forUsername:self.username.text]; 102 103 [[NSUserDefaults standardUserDefaults] setObject:self.username.text 104 forKey:CamliUsernameKey]; 105 [[NSUserDefaults standardUserDefaults] setObject:self.server.text 106 forKey:CamliServerKey]; 107 [[NSUserDefaults standardUserDefaults] synchronize]; 108 109 [LACamliUtil errorText:@[ 110 @"" 111 ]]; 112 113 [self.parent dismissSettings]; 114 } 115 116 - (void)didReceiveMemoryWarning 117 { 118 [super didReceiveMemoryWarning]; 119 // Dispose of any resources that can be recreated. 120 } 121 122 @end