X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/358cf707744dbfe1c85eebc7c44d7cf98bdd42e4..34a2a6ce5cce484c5b8dcd413efa1181130fbab0:/StatusWindowController.m diff --git a/StatusWindowController.m b/StatusWindowController.m index e06176f..7663d39 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -44,6 +44,8 @@ static StatusWindowController *sharedController; ITWindowEffect *entryEffect; ITWindowEffect *exitEffect; + _currentType = StatusWindowNoType; + _window = [[StatusWindow sharedWindow] retain]; df = [[NSUserDefaults standardUserDefaults] retain]; @@ -153,6 +155,7 @@ static StatusWindowController *sharedController; //text = [text stringByAppendingString:[@"\n" stringByAppendingString:composer]]; } if ( time ) { + _timeRange = NSMakeRange([[text mutableString] length] + 1, [time length]); [[text mutableString] appendFormat:@"\n%@", time]; //text = [text stringByAppendingString:[@"\n" stringByAppendingString:time]]; } @@ -190,8 +193,29 @@ static StatusWindowController *sharedController; //text = [text stringByAppendingString:[@"\n" stringByAppendingString:ratingString]]; } + _currentType = StatusWindowTrackInfoType; [_window buildTextWindowWithString:text]; [_window appear:self]; + [text release]; +} + +- (void)showAlbumArtWindowWithImage:(NSImage *)image +{ + if (image) { + _currentType = StatusWindowAlbumArtType; + [_window setImage:[NSImage imageNamed:@"Library"]]; + [_window buildImageWindowWithImage:image]; + [_window appear:self]; + } +} + +- (void)showAlbumArtWindowWithErrorText:(NSString *)string +{ + if (string && [string length] > 0) { + _currentType = StatusWindowAlbumArtType; + [_window buildTextWindowWithString:string]; + [_window appear:self]; + } } - (void)showUpcomingSongsWindowWithTitles:(NSArray *)titleStrings @@ -202,6 +226,7 @@ static StatusWindowController *sharedController; [_window setImage:[NSImage imageNamed:@"Upcoming"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:[bull stringByAppendingString:[titleStrings componentsJoinedByString:end]]]; + _currentType = StatusWindowUpcomingSongsType; [_window appear:self]; } @@ -213,6 +238,7 @@ static StatusWindowController *sharedController; size:18 count:10 active:( ceil(level * 100) / 10 )]; + _currentType = StatusWindowVolumeType; [_window appear:self]; } @@ -224,7 +250,8 @@ static StatusWindowController *sharedController; size:48 count:5 active:( ceil(rating * 100) / 20 )]; - [_window appear:self]; + _currentType = StatusWindowRatingType; + [_window appear:self]; } - (void)showShuffleWindow:(BOOL)shuffle @@ -232,6 +259,7 @@ static StatusWindowController *sharedController; [_window setImage:[NSImage imageNamed:@"Shuffle"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:( shuffle ? NSLocalizedString(@"shuffleOn", @"Shuffle On") : NSLocalizedString(@"shuffleOff", @"Shuffle Off"))]; + _currentType = StatusWindowRatingType; [_window appear:self]; } @@ -250,6 +278,16 @@ static StatusWindowController *sharedController; [_window setImage:[NSImage imageNamed:@"Repeat"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:string]; + _currentType = StatusWindowRepeatType; + [_window appear:self]; +} + +- (void)showSongShufflabilityWindow:(BOOL)shufflable +{ + [_window setImage:[NSImage imageNamed:@"Shuffle"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window buildTextWindowWithString:( !shufflable ? NSLocalizedString(@"shufflableOn", @"Current Song Skipped When Shuffling") : NSLocalizedString(@"shufflableOff", @"Current Song Not Skipped When Shuffling"))]; + _currentType = StatusWindowShufflabilityType; [_window appear:self]; } @@ -266,6 +304,7 @@ static StatusWindowController *sharedController; defaultAction:@selector(autoLaunchOK) alternateAction:@selector(autoLaunchCancel)]; + _currentType = StatusWindowSetupType; [_window appear:self]; [_window setLocked:YES]; } @@ -284,6 +323,7 @@ static StatusWindowController *sharedController; defaultAction:@selector(registerNowOK) alternateAction:@selector(registerNowCancel)]; + _currentType = StatusWindowRegistrationType; [_window appear:self]; [_window setLocked:YES]; } @@ -301,6 +341,7 @@ static StatusWindowController *sharedController; defaultAction:@selector(reconnect) alternateAction:@selector(cancelReconnect)]; + _currentType = StatusWindowNetworkType; [_window appear:self]; [_window setLocked:YES]; } @@ -318,6 +359,7 @@ static StatusWindowController *sharedController; defaultAction:@selector(cancelReconnect) alternateAction:nil]; + _currentType = StatusWindowNetworkType; [_window appear:self]; [_window setLocked:YES]; } @@ -335,6 +377,7 @@ static StatusWindowController *sharedController; defaultAction:@selector(showPreferencesAndClose) alternateAction:@selector(cancelReconnect)]; + _currentType = StatusWindowPreferencesType; [_window appear:self]; [_window setLocked:YES]; } @@ -349,8 +392,22 @@ static StatusWindowController *sharedController; target:[MainController sharedController] defaultAction:@selector(cancelReconnect) alternateAction:nil]; + + _currentType = StatusWindowDebugType; [_window appear:self]; [_window setLocked:YES]; } +- (StatusWindowType)currentStatusWindowType +{ + return _currentType; +} + +- (void)updateTime:(NSString *)time +{ + if (time && [time length]) { + [_window updateTime:time range:_timeRange]; + } +} + @end \ No newline at end of file