X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/a06b23045deb51ce036acf7bdcd3ab3c5514bfaf..703be04ff6d1a493d2920adc9a07911c587aea14:/StatusWindowController.m diff --git a/StatusWindowController.m b/StatusWindowController.m index 293e35c..117c205 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -59,7 +59,7 @@ static StatusWindowController *sharedController; [_window setHorizontalPosition:[df integerForKey:@"statusWindowHorizontalPosition"]]; [_window setVerticalPosition:[df integerForKey:@"statusWindowVerticalPosition"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; if ( [classList containsObject:NSClassFromString(entryClass)] ) { entryEffect = [[[NSClassFromString(entryClass) alloc] initWithWindow:_window] autorelease]; @@ -108,11 +108,23 @@ static StatusWindowController *sharedController; time: (NSString *)time // FLOW: Should probably be NSDate or something. track: (NSString *)track rating: (int)rating + image: (NSImage *)art { NSImage *image = nil; NSString *text = title; - if ( source == ITMTRemoteLibrarySource ) { + if ( art != nil ) { + NSImageRep *artRep = [art bestRepresentationForDevice:nil]; + image = [[NSImage alloc] initWithSize:NSMakeSize(110, 110)]; + [image lockFocus]; + { + [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh]; + [[NSGraphicsContext currentContext] setShouldAntialias:YES]; + [artRep drawInRect:NSMakeRect(3, 3, 104, 104)]; + } + [image unlockFocus]; + [image autorelease]; + } else if ( source == ITMTRemoteLibrarySource ) { image = [NSImage imageNamed:@"Library"]; } else if ( source == ITMTRemoteCDSource ) { image = [NSImage imageNamed:@"CD"]; @@ -125,9 +137,9 @@ static StatusWindowController *sharedController; } else if ( source == ITMTRemoteSharedLibrarySource ) { image = [NSImage imageNamed:@"Library"]; } - + [_window setImage:image]; - + if ( album ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:album]]; } @@ -160,7 +172,7 @@ static StatusWindowController *sharedController; } - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:text]; [_window appear:self]; } @@ -171,7 +183,7 @@ static StatusWindowController *sharedController; NSString *bull = [NSString stringWithUTF8String:"♪ "]; NSString *end = [@"\n" stringByAppendingString:bull]; [_window setImage:[NSImage imageNamed:@"Upcoming"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:[bull stringByAppendingString:[titleStrings componentsJoinedByString:end]]]; [_window appear:self]; } @@ -179,7 +191,7 @@ static StatusWindowController *sharedController; - (void)showVolumeWindowWithLevel:(float)level { [_window setImage:[NSImage imageNamed:@"Volume"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildMeterWindowWithCharacter:[NSString stringWithUTF8String:"▊"] size:18 count:10 @@ -190,7 +202,7 @@ static StatusWindowController *sharedController; - (void)showRatingWindowWithRating:(float)rating { [_window setImage:[NSImage imageNamed:@"Rating"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildMeterWindowWithCharacter:[NSString stringWithUTF8String:"★"] size:48 count:5 @@ -201,7 +213,7 @@ static StatusWindowController *sharedController; - (void)showShuffleWindow:(BOOL)shuffle { [_window setImage:[NSImage imageNamed:@"Shuffle"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:( shuffle ? @"Shuffle On" : @"Shuffle Off")]; [_window appear:self]; } @@ -219,7 +231,7 @@ static StatusWindowController *sharedController; } [_window setImage:[NSImage imageNamed:@"Repeat"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:string]; [_window appear:self]; } @@ -229,7 +241,7 @@ static StatusWindowController *sharedController; NSString *message = @"Would you like MenuTunes to launch\nautomatically at startup?"; [_window setImage:[NSImage imageNamed:@"Setup"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message defaultButton:@"Launch at Startup" alternateButton:@"Launch Manually" @@ -247,7 +259,7 @@ static StatusWindowController *sharedController; NSString *message = @"Your 7-day unlimited trial period has elapsed.\nYou must register to continue using MenuTunes."; [_window setImage:[NSImage imageNamed:@"Register"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message defaultButton:@"Register Now" alternateButton:@"Quit MenuTunes" @@ -264,7 +276,7 @@ static StatusWindowController *sharedController; NSString *message = @"The selected shared player is available again.\nWould you like to reconnect to it?."; [_window setImage:[NSImage imageNamed:@"Register"]]; - [_window setSizing:(StatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message defaultButton:@"Reconnect" alternateButton:@"Ignore" @@ -276,5 +288,21 @@ static StatusWindowController *sharedController; [_window setLocked:YES]; } +- (void)showPreferencesUpdateWindow +{ + NSString *message = @"The new features in this version of MenuTunes\nrequire you to reconfigure your preferences."; + + [_window setImage:[NSImage imageNamed:@"Setup"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window buildDialogWindowWithMessage:message + defaultButton:@"Show Preferences" + alternateButton:@"OK" + target:[MainController sharedController] + defaultAction:@selector(showPreferencesAndClose) + alternateAction:@selector(cancelReconnect)]; + + [_window appear:self]; + [_window setLocked:YES]; +} @end \ No newline at end of file