root/trunk/LoginWindowController.m @ 41

Revision 41, 3.5 kB (checked in by ngerakines, 3 years ago)

* Put into place the real icons that Wiley sent over
* Fixed the prefs on login
* Removed the TypePadSuper class
* General code cleanup

Line 
1#import "LoginWindowController.h"
2
3@implementation LoginWindowController
4
5// init
6- (id)init {
7    if (self = [super init]) {
8        [self setRecentlogins:[[NSMutableArray alloc] init]];
9        [self setLastlogin:@""];
10    }
11    return self;
12}
13
14- (void)awakeFromNib {
15        [self init_login];
16}
17
18- (void) init_login {
19        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
20        NSEnumerator *enumerator = [[userDefaults objectForKey:@"recent usernames"] objectEnumerator];
21        id key;
22        while (key = [enumerator nextObject]) {
23                if ([usernamelist numberOfItems] < 9) {
24                        if ([usernamelist indexOfItemWithObjectValue:key] == NSNotFound) {
25                                [usernamelist addItemWithObjectValue:key];
26                        }
27                }
28        }
29        if ([userDefaults objectForKey:@"save_login"]) {
30                if ([userDefaults objectForKey:@"username"]) {
31                        [usernamelist selectItemWithObjectValue:[userDefaults objectForKey:@"username"]];
32                }
33                if ([userDefaults objectForKey:@"password"]) {
34                        [password setStringValue:[userDefaults objectForKey:@"password"]];
35                }
36        }
37}
38
39/* dealloc */
40- (void) dealloc {
41    [recentlogins release];
42    [lastlogin release];
43       
44    recentlogins = nil;
45    lastlogin = nil;
46    [super dealloc];
47}
48
49/* recentlogins */
50- (NSMutableArray *) recentlogins { return recentlogins; }
51
52/* -setRecentlogins: */
53- (void) setRecentlogins: (NSMutableArray *) Recentlogins {
54    //NSLog(@"in -setRecentlogins:, old value of recentlogins: %@, changed to: %@", recentlogins, Recentlogins);
55    if (recentlogins != Recentlogins) {
56        [recentlogins autorelease];
57        recentlogins = [Recentlogins retain];
58    }
59}
60
61/* lastlogin */
62- (NSString *) lastlogin { return lastlogin; }
63
64/* -setLastlogin: */
65- (void) setLastlogin: (NSString *) Lastlogin {
66    //NSLog(@"in -setLastlogin:, old value of lastlogin: %@, changed to: %@", lastlogin, Lastlogin);
67    if (lastlogin != Lastlogin) {
68        [lastlogin autorelease];
69        lastlogin = [Lastlogin retain];
70    }
71}
72
73- (IBAction)login:(id)sender {
74        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
75        // save our recent accounts list
76        [usernamelist addItemWithObjectValue:[usernamelist stringValue]];
77        [userDefaults setObject:[usernamelist objectValues] forKey:@"recent usernames"];
78        // save our account info
79        // TODO -- this should be done only if user allows
80        [userDefaults setObject:[usernamelist stringValue] forKey:@"username"];
81        [userDefaults setObject:[password stringValue] forKey:@"password"];
82        [userDefaults setObject:[services titleOfSelectedItem] forKey:@"service type"];
83        [userDefaults synchronize]; // force a quick sync of user info
84        // load our service ..
85        if ([[services titleOfSelectedItem] isEqualToString:@"TypePad"]) {
86                [self init_typepad];
87        }
88        if ([[services titleOfSelectedItem] isEqualToString:@"Vox"]) {
89                [self init_vox];
90        }
91}
92
93- (void) init_typepad {
94        TypePad *tp = [[[TypePad alloc] init] autorelease];
95        if ([tp addAccount:[usernamelist stringValue] pass:[password stringValue]]) {
96                [tp saveAccounts];
97                [tp appNotify:@"You are now connected to TypePad" title:@"Connected"];
98                [NSBundle loadNibNamed:@"TypePad.nib" owner:self];
99                [mywindow close];
100        } else {
101                NSRunAlertPanel(@"Alert", @"Login Failed", @"OK", nil, nil);
102        }
103}
104
105- (void) init_vox {
106        Vox *vx = [[[Vox alloc] init] autorelease];
107        if ([vx addAccount:[usernamelist stringValue] pass:[password stringValue]]) {
108                [vx saveAccounts];
109                [vx appNotify:@"You are now connected to Vox" title:@"Connected"];
110                [NSBundle loadNibNamed:@"Vox.nib" owner:self];
111                [mywindow close];
112        } else {
113                NSRunAlertPanel(@"Alert", @"Login Failed", @"OK", nil, nil);
114        }
115}
116
117@end
Note: See TracBrowser for help on using the browser.