X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/28ef52fed0fa8f1d49c604cabe52b846bf01d393..0948b4b6166bbee8caefca1278b6551d264068a8:/StatusWindowController.m diff --git a/StatusWindowController.m b/StatusWindowController.m index 85d94df..633c31c 100755 --- a/StatusWindowController.m +++ b/StatusWindowController.m @@ -11,10 +11,8 @@ #import #import - static StatusWindowController *sharedController; - @implementation StatusWindowController @@ -38,6 +36,8 @@ static StatusWindowController *sharedController; NSArray *classList = [ITWindowEffect effectClasses]; float entrySpeed; float exitSpeed; + NSArray *screens = [NSScreen screens]; + int screenIndex; NSData *colorData; @@ -52,7 +52,13 @@ static StatusWindowController *sharedController; exitClass = [df stringForKey:@"statusWindowVanishEffect"]; entrySpeed = [df floatForKey:@"statusWindowAppearanceSpeed"]; exitSpeed = [df floatForKey:@"statusWindowVanishSpeed"]; - + + screenIndex = [df integerForKey:@"statusWindowScreenIndex"]; + if (screenIndex >= [screens count]) { + screenIndex = 0; + } + [_window setScreen:[screens objectAtIndex:screenIndex]]; + [_window setExitMode:ITTransientStatusWindowExitAfterDelay]; [_window setExitDelay:(exitDelay ? exitDelay : 4.0)]; @@ -105,9 +111,11 @@ static StatusWindowController *sharedController; title: (NSString *)title album: (NSString *)album artist: (NSString *)artist + composer: (NSString *)composer time: (NSString *)time // FLOW: Should probably be NSDate or something. track: (NSString *)track rating: (int)rating + playCount: (int)playCount image: (NSImage *)art { NSImage *image = nil; @@ -115,11 +123,6 @@ static StatusWindowController *sharedController; if ( art != nil ) { image = art; - NSSize size = [image size]; - if (size.width > 110) { - [image setScalesWhenResized:YES]; - [image setSize:NSMakeSize(110, (size.width / size.height) * 110)]; - } } else if ( source == ITMTRemoteLibrarySource ) { image = [NSImage imageNamed:@"Library"]; } else if ( source == ITMTRemoteCDSource ) { @@ -142,12 +145,18 @@ static StatusWindowController *sharedController; if ( artist ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:artist]]; } + if ( composer ) { + text = [text stringByAppendingString:[@"\n" stringByAppendingString:composer]]; + } if ( time ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:time]]; } if ( track ) { text = [text stringByAppendingString:[@"\n" stringByAppendingString:track]]; } + if (playCount > -1) { + text = [text stringByAppendingString:[NSString stringWithFormat:@"\n%@: %i", NSLocalizedString(@"playCount", @"Play Count"), playCount]]; + } if ( rating > -1 ) { NSString *ratingString = [NSString string]; @@ -167,7 +176,6 @@ static StatusWindowController *sharedController; text = [text stringByAppendingString:[@"\n" stringByAppendingString:ratingString]]; } - [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildTextWindowWithString:text]; [_window appear:self]; @@ -210,7 +218,7 @@ static StatusWindowController *sharedController; { [_window setImage:[NSImage imageNamed:@"Shuffle"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; - [_window buildTextWindowWithString:( shuffle ? @"Shuffle On" : @"Shuffle Off")]; + [_window buildTextWindowWithString:( shuffle ? NSLocalizedString(@"shuffleOn", @"Shuffle On") : NSLocalizedString(@"shuffleOff", @"Shuffle Off"))]; [_window appear:self]; } @@ -219,11 +227,11 @@ static StatusWindowController *sharedController; NSString *string = nil; if ( mode == StatusWindowRepeatNone ) { - string = @"Repeat Off"; + string = NSLocalizedString(@"repeatOff", @"Repeat Off"); } else if ( mode == StatusWindowRepeatGroup ) { - string = @"Repeat Playlist"; + string = NSLocalizedString(@"repeatPlaylist", @"Repeat Playlist"); } else if ( mode == StatusWindowRepeatTrack ) { - string = @"Repeat One Track"; + string = NSLocalizedString(@"repeatOneTrack", @"Repeat One Track");; } [_window setImage:[NSImage imageNamed:@"Repeat"]]; @@ -234,13 +242,13 @@ static StatusWindowController *sharedController; - (void)showSetupQueryWindow { - NSString *message = @"Would you like MenuTunes to launch\nautomatically at startup?"; + NSString *message = NSLocalizedString(@"autolaunch_msg", @"Would you like MenuTunes to launch\nautomatically at startup?"); [_window setImage:[NSImage imageNamed:@"Setup"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message - defaultButton:@"Launch at Startup" - alternateButton:@"Launch Manually" + defaultButton:NSLocalizedString(@"launch_at_startup", @"Launch at Startup") + alternateButton:NSLocalizedString(@"launch_manually", @"Launch Manually") target:[PreferencesController sharedPrefs] defaultAction:@selector(autoLaunchOK) alternateAction:@selector(autoLaunchCancel)]; @@ -252,13 +260,13 @@ static StatusWindowController *sharedController; - (void)showRegistrationQueryWindow { - NSString *message = @"Your 7-day unlimited trial period has elapsed.\nYou must register to continue using MenuTunes."; + NSString *message = NSLocalizedString(@"trialexpired_msg", @"Your 7-day unlimited trial period has elapsed.\nYou must register to continue using MenuTunes."); [_window setImage:[NSImage imageNamed:@"Register"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message - defaultButton:@"Register Now" - alternateButton:@"Quit MenuTunes" + defaultButton:NSLocalizedString(@"registernow", @"Register Now") + alternateButton:NSLocalizedString(@"quitmenutunes", @"Quit MenuTunes") target:[MainController sharedController] defaultAction:@selector(registerNowOK) alternateAction:@selector(registerNowCancel)]; @@ -269,13 +277,13 @@ static StatusWindowController *sharedController; - (void)showReconnectQueryWindow { - NSString *message = @"The selected shared player is available again.\nWould you like to reconnect to it?."; - - [_window setImage:[NSImage imageNamed:@"Register"]]; + NSString *message = NSLocalizedString(@"sharedplayeravailable_msg", @"The selected shared player is available again.\nWould you like to reconnect to it?"); + [_window setLocked:NO]; + [_window setImage:[NSImage imageNamed:@"Setup"]]; [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; [_window buildDialogWindowWithMessage:message - defaultButton:@"Reconnect" - alternateButton:@"Ignore" + defaultButton:NSLocalizedString(@"reconnect", @"Reconnect") + alternateButton:NSLocalizedString(@"ignore", @"Ignore") target:[MainController sharedController] defaultAction:@selector(reconnect) alternateAction:@selector(cancelReconnect)]; @@ -284,14 +292,31 @@ static StatusWindowController *sharedController; [_window setLocked:YES]; } +- (void)showNetworkErrorQueryWindow +{ + NSString *message = NSLocalizedString(@"sharedplayerunreachable_msg", @"The remote MenuTunes server is unreachable.\nMenuTunes will revert back to the local player."); + + [_window setImage:[NSImage imageNamed:@"Setup"]]; + [_window setSizing:(ITTransientStatusWindowSizing)[df integerForKey:@"statusWindowSizing"]]; + [_window buildDialogWindowWithMessage:message + defaultButton:@" OK " + alternateButton:nil + target:[MainController sharedController] + defaultAction:@selector(cancelReconnect) + alternateAction:nil]; + + [_window appear:self]; + [_window setLocked:YES]; +} + - (void)showPreferencesUpdateWindow { - NSString *message = @"The new features in this version of MenuTunes\nrequire you to reconfigure your preferences."; + NSString *message = NSLocalizedString(@"reconfigureprefs_msg", @"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" + defaultButton:NSLocalizedString(@"showpreferences", @"Show Preferences") alternateButton:@"OK" target:[MainController sharedController] defaultAction:@selector(showPreferencesAndClose)