X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/a182eb127d3f864b1c7208658451f8a7e21aeed1..ca5ccb3472e33cd85f4ba7aee7e3ebe4e348b04e:/StatusWindow.m diff --git a/StatusWindow.m b/StatusWindow.m index 8377ac0..253f075 100755 --- a/StatusWindow.m +++ b/StatusWindow.m @@ -45,7 +45,7 @@ // Set default values. _image = [[NSImage imageNamed:@"NSApplicationIcon"] retain]; _locked = NO; - _sizing = StatusWindowRegular; + _sizing = ITTransientStatusWindowRegular; } return self; @@ -53,7 +53,7 @@ - (void)dealloc { - [_image release]; + [_image release]; [super dealloc]; } @@ -75,12 +75,11 @@ [self setExitMode:(flag ? ITTransientStatusWindowExitOnCommand : ITTransientStatusWindowExitAfterDelay)]; } -- (void)setSizing:(StatusWindowSizing)newSizing +- (void)setSizing:(ITTransientStatusWindowSizing)newSizing { _sizing = newSizing; } - /*************************************************************************/ #pragma mark - #pragma mark INSTANCE METHODS @@ -121,10 +120,12 @@ float excessHeight = 0.0; NSPoint windowOrigin; ITImageView *imageView; - - if ( _sizing == StatusWindowSmall ) { + BOOL shouldAnimate = ( ! (([self visibilityState] == ITWindowAppearingState) || + ([self visibilityState] == ITWindowVanishingState)) ); + + if ( _sizing == ITTransientStatusWindowSmall ) { divisor = SMALL_DIVISOR; - } else if ( _sizing == StatusWindowMini ) { + } else if ( _sizing == ITTransientStatusWindowMini ) { divisor = MINI_DIVISOR; } @@ -173,18 +174,19 @@ [self setFrame:NSMakeRect( windowOrigin.x, windowOrigin.y, windowWidth, - windowHeight) display:YES animate:YES]; + windowHeight) display:YES animate:shouldAnimate]; [[[self contentView] subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]; // Setup, position, fill, and add the image view to the content view. - imageRect = NSMakeRect( (SW_PAD / divisor), + imageRect = NSMakeRect( (SW_PAD / divisor) + 4, ((SW_PAD / divisor) + ((contentHeight - imageHeight) / 2)), imageWidth, imageHeight ); - imageView = [[[NSImageView alloc] initWithFrame:imageRect] autorelease]; + imageView = [[[ITImageView alloc] initWithFrame:imageRect] autorelease]; [imageView setAutoresizingMask:(NSViewMinYMargin | NSViewMaxYMargin)]; [imageView setImage:_image]; + [imageView setCastsShadow:YES]; [[self contentView] addSubview:imageView]; return NSMakeRect( ((SW_PAD / divisor) + imageWidth + (SW_SPACE / divisor)), @@ -209,13 +211,13 @@ NSFont *font; NSDictionary *attr; - if ( _sizing == StatusWindowSmall ) { + if ( _sizing == ITTransientStatusWindowSmall ) { divisor = SMALL_DIVISOR; - } else if ( _sizing == StatusWindowMini ) { + } else if ( _sizing == ITTransientStatusWindowMini ) { divisor = MINI_DIVISOR; } - font = [NSFont fontWithName:@"Lucida Grande Bold" size:(baseFontSize / divisor)]; + font = [NSFont fontWithName:@"LucidaGrande-Bold" size:(baseFontSize / divisor)]; attr = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; // Iterate over each line to get text width and height @@ -276,13 +278,13 @@ NSColor *offColor = [NSColor colorWithCalibratedWhite:0.15 alpha:0.50]; NSMatrix *volMatrix; - if ( _sizing == StatusWindowSmall ) { + if ( _sizing == ITTransientStatusWindowSmall ) { divisor = SMALL_DIVISOR; - } else if ( _sizing == StatusWindowMini ) { + } else if ( _sizing == ITTransientStatusWindowMini ) { divisor = MINI_DIVISOR; } - font = [NSFont fontWithName:@"Lucida Grande Bold" size:( size / divisor )]; + font = [NSFont fontWithName:@"LucidaGrande-Bold" size:( size / divisor )]; attr = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; charSize = [character sizeWithAttributes:attr]; cellHeight = ( charSize.height + 4.0 ); // Add 4.0 for shadow @@ -338,6 +340,7 @@ { if ( ! _locked ) { + float divisor = 1.0; float textWidth = 0.0; float textHeight = 0.0; float okWidth = 0.0; @@ -355,14 +358,26 @@ NSArray *lines = [message componentsSeparatedByString:@"\n"]; id oneLine = nil; NSEnumerator *lineEnum = [lines objectEnumerator]; + float baseFontSize = 18.0; ITTextField *textField; ITButton *okButton; ITButton *cancelButton; NSColor *textColor = [NSColor whiteColor]; - NSFont *font = [NSFont fontWithName:@"Lucida Grande Bold" size:18]; - NSDictionary *attr = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; - NSFont *buttonFont = [NSFont fontWithName:@"Lucida Grande Bold" size:14]; - NSDictionary *buttonAttr = [NSDictionary dictionaryWithObjectsAndKeys: + NSFont *font; + NSDictionary *attr; + NSFont *buttonFont; + NSDictionary *buttonAttr; + + if ( _sizing == ITTransientStatusWindowSmall ) { + divisor = SMALL_DIVISOR; + } else if ( _sizing == ITTransientStatusWindowMini ) { + divisor = MINI_DIVISOR; + } + + font = [NSFont fontWithName:@"LucidaGrande-Bold" size:(baseFontSize / divisor)]; + attr = [NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; + buttonFont = [NSFont fontWithName:@"LucidaGrande-Bold" size:(14 / divisor)]; + buttonAttr = [NSDictionary dictionaryWithObjectsAndKeys: buttonFont , NSFontAttributeName, textColor , NSForegroundColorAttributeName, nil]; @@ -389,8 +404,8 @@ } // Make the buttons, set the titles, and size them to fit their titles - okButton = [[ITButton alloc] initWithFrame:NSMakeRect(0, 0, 300, 24)]; - cancelButton = [[ITButton alloc] initWithFrame:NSMakeRect(0, 0, 300, 24)]; + okButton = [[[ITButton alloc] initWithFrame:NSMakeRect(0, 0, 300, 24)] autorelease]; + cancelButton = [[[ITButton alloc] initWithFrame:NSMakeRect(0, 0, 300, 24)] autorelease]; [okButton setTarget:target]; [cancelButton setTarget:target]; [okButton setAction:okAction]; @@ -461,7 +476,9 @@ wideButtonW, 24.0)]; [[self contentView] addSubview:okButton]; - [[self contentView] addSubview:cancelButton]; + if (alternateTitle) { + [[self contentView] addSubview:cancelButton]; + } [self setIgnoresMouseEvents:NO];