Changeset 14848
- Timestamp:
- 01/09/2006 02:51:45 PM (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Source/ESOTRFingerprintDetailsWindowController.m
r14757 r14848 20 20 @interface ESOTRFingerprintDetailsWindowController (PRIVATE) 21 21 - (id)initWithWindowNibName:(NSString *)windowNibName forFingerprintDict:(NSDictionary *)inFingerprintDict; 22 - (void)setFingerprintDict:(NSDictionary *)inFingerprintDict; 22 23 @end 23 24 24 25 @implementation ESOTRFingerprintDetailsWindowController 25 26 27 static ESOTRFingerprintDetailsWindowController *sharedController = nil; 28 26 29 + (void)showDetailsForFingerprintDict:(NSDictionary *)inFingerprintDict 27 30 { 28 ESOTRFingerprintDetailsWindowController *controller;29 30 if ((controller = [[self alloc] initWithWindowNibName:@"OTRFingerprintDetailsWindow" 31 forFingerprintDict:inFingerprintDict])){32 [controller showWindow:nil];33 [[controller window] makeKeyAndOrderFront:nil];31 if (sharedController) { 32 [sharedController setFingerprintDict:inFingerprintDict]; 33 34 } else { 35 sharedController = [[self alloc] initWithWindowNibName:@"OTRFingerprintDetailsWindow" 36 forFingerprintDict:inFingerprintDict]; 34 37 } 38 39 [sharedController showWindow:nil]; 40 [[sharedController window] makeKeyAndOrderFront:nil]; 35 41 } 36 42 … … 38 44 { 39 45 if ((self = [super initWithWindowNibName:windowNibName])) { 40 fingerprintDict = [inFingerprintDict retain];46 [self setFingerprintDict:inFingerprintDict]; 41 47 } 42 48 … … 51 57 } 52 58 53 - (void) windowDidLoad59 - (void)configureWindow 54 60 { 55 61 AIAccount *account = [fingerprintDict objectForKey:@"AIAccount"]; 56 62 63 //Ensure the window is loaded 64 [self window]; 65 57 66 [textField_UID setStringValue:[fingerprintDict objectForKey:@"UID"]]; 58 67 [textField_fingerprint setStringValue:[fingerprintDict objectForKey:@"FingerprintString"]]; … … 60 69 [imageView_service setImage:[AIServiceIcons serviceIconForObject:account 61 70 type:AIServiceIconLarge 62 direction:AIIconNormal]]; 71 direction:AIIconNormal]]; 72 } 73 74 - (void)setFingerprintDict:(NSDictionary *)inFingerprintDict 75 { 76 if (inFingerprintDict != fingerprintDict) { 77 [fingerprintDict release]; 78 fingerprintDict = [inFingerprintDict retain]; 79 80 [self configureWindow]; 81 } 82 } 83 84 - (void)windowDidLoad 85 { 63 86 [imageView_lock setImage:[NSImage imageNamed:@"Lock_Locked State" forClass:[adium class]]]; 64 87 … … 73 96 { 74 97 [super windowWillClose:sender]; 75 [self autorelease]; 98 99 [sharedController autorelease]; sharedController = nil; 76 100 } 77 101