diff options
| author | Justin Anderson <jander@mit.edu> | 2008-10-02 03:48:48 +0000 |
|---|---|---|
| committer | Justin Anderson <jander@mit.edu> | 2008-10-02 03:48:48 +0000 |
| commit | 63b0e281cfdfa1cb4f8487cc5f53cdf5c1860c06 (patch) | |
| tree | 942838983c64cdd216e9f6bc66fb298b32c8660c /src/kim/agent/mac/SelectIdentityController.m | |
| parent | 3616d31222f94d3f8f3ee23a094dce20ddab719d (diff) | |
Make Enter Identity dialog have one auto-completing, auto-validating text field for principals drawn from KIM's list of favorites.
Changed options for a favorite identity get saved out to kim_preferences.
Also, include copyright on more files.
ticket:6055
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20807 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kim/agent/mac/SelectIdentityController.m')
| -rw-r--r-- | src/kim/agent/mac/SelectIdentityController.m | 60 |
1 files changed, 41 insertions, 19 deletions
diff --git a/src/kim/agent/mac/SelectIdentityController.m b/src/kim/agent/mac/SelectIdentityController.m index 897e0dcc76..eafd3d4625 100644 --- a/src/kim/agent/mac/SelectIdentityController.m +++ b/src/kim/agent/mac/SelectIdentityController.m @@ -33,16 +33,6 @@ // --------------------------------------------------------------------------- -- (id) initWithWindowNibName: (NSString *) windowNibName -{ - if ((self = [super initWithWindowNibName: windowNibName])) { - } - - return self; -} - -// --------------------------------------------------------------------------- - - (id) init { return [self initWithWindowNibName: @"SelectIdentity"]; @@ -86,10 +76,18 @@ associatedClient.name]; } [headerTextField setStringValue:message]; + [explanationTextField setStringValue:@"explanation!"]; } // --------------------------------------------------------------------------- +- (void) setContent: (NSMutableDictionary *) newContent +{ + [self window]; // wake up the nib connections +// [glueController setContent:newContent]; +} + +// --------------------------------------------------------------------------- - (IBAction) newIdentity: (id) sender { @@ -138,7 +136,8 @@ } selectedIdentity = [[identityArrayController selectedObjects] lastObject]; - [associatedClient didSelectIdentity: selectedIdentity.principalString]; + [associatedClient didSelectIdentity: selectedIdentity.principalString + options: [identityOptionsController valueForKeyPath:@"content.options"]]; } // --------------------------------------------------------------------------- @@ -146,6 +145,7 @@ - (IBAction) cancel: (id) sender { [associatedClient didCancel]; + [self close]; } // --------------------------------------------------------------------------- @@ -183,19 +183,21 @@ - (IBAction) doneOptions: (id) sender { - Identity *anIdentity = identityOptionsController.content; +// Identity *anIdentity = identityOptionsController.content; - [anIdentity setPrincipalComponents: [nameField stringValue] - realm: [realmField stringValue]]; [NSApp endSheet: identityOptionsWindow]; } +- (IBAction) sliderDidChange: (id) sender +{ + +} + - (void)controlTextDidChange:(NSNotification *)aNotification { - BOOL valid = [KIMUtilities validatePrincipalWithName:[nameField stringValue] - realm:[realmField stringValue]]; - [ticketOptionsOkButton setEnabled:valid]; +// BOOL valid = [KIMUtilities validateIdentity:]; + [ticketOptionsOkButton setEnabled:false]; [ticketOptionsOkButton setNeedsDisplay]; } @@ -205,8 +207,28 @@ { Identity *anIdentity = identityOptionsController.content; - [nameField setStringValue:anIdentity.componentsString]; - [realmField setStringValue:anIdentity.realmString]; + [identityField setStringValue:anIdentity.principalString]; + [staticIdentityField setStringValue:anIdentity.principalString]; + + // use a copy of the current options + [identityOptionsController setContent: + [[[glueController valueForKeyPath:options_keypath] mutableCopy] autorelease]]; + + [identityOptionsController setValue:[NSNumber numberWithInteger:[KIMUtilities minValidLifetime]] + forKeyPath:min_valid_keypath]; + [identityOptionsController setValue:[NSNumber numberWithInteger:[KIMUtilities maxValidLifetime]] + forKeyPath:max_valid_keypath]; + [identityOptionsController setValue:[NSNumber numberWithInteger:[KIMUtilities minRenewableLifetime]] + forKeyPath:min_renewable_keypath]; + [identityOptionsController setValue:[NSNumber numberWithInteger:[KIMUtilities maxRenewableLifetime]] + forKeyPath:max_renewable_keypath]; + + [validLifetimeSlider setIntegerValue: + [[identityOptionsController valueForKeyPath:valid_lifetime_keypath] integerValue]]; + [renewableLifetimeSlider setIntegerValue: + [[identityOptionsController valueForKeyPath:renewal_lifetime_keypath] integerValue]]; + [self sliderDidChange:validLifetimeSlider]; + [self sliderDidChange:renewableLifetimeSlider]; [NSApp beginSheet: identityOptionsWindow modalForWindow: [self window] |
