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