X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/82086d6a95408227f929ca149591c6fc3962f043..6162e11fb9ec9ca0f4add4d5838e98a31ead4a21:/PreferencesController.m?ds=sidebyside diff --git a/PreferencesController.m b/PreferencesController.m index 50f7397..76bbc23 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -86,6 +86,8 @@ static PreferencesController *prefs = nil; hotKeysArray = [[NSArray alloc] initWithObjects:@"PlayPause", @"NextTrack", @"PrevTrack", + @"FastForward", + @"Rewind", @"ShowPlayer", @"TrackInfo", @"UpcomingSongs", @@ -95,11 +97,14 @@ static PreferencesController *prefs = nil; @"DecrementRating", @"ToggleShuffle", @"ToggleLoop", + @"PopupMenu", nil]; hotKeyNamesArray = [[NSArray alloc] initWithObjects:@"Play/Pause", @"Next Track", @"Previous Track", + @"Fast Forward", + @"Rewind", @"Show Player", @"Track Info", @"Upcoming Songs", @@ -109,6 +114,7 @@ static PreferencesController *prefs = nil; @"Decrement Rating", @"Toggle Shuffle", @"Toggle Loop", + @"Pop-up status menu", nil]; hotKeysDictionary = [[NSMutableDictionary alloc] init]; controller = nil; @@ -210,12 +216,14 @@ static PreferencesController *prefs = nil; { ITDebugLog(@"Changing general setting of tag %i.", [sender tag]); if ( [sender tag] == 1010) { - //ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], SENDER_STATE); + ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], SENDER_STATE); } else if ( [sender tag] == 1020) { [df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"]; } else if ( [sender tag] == 1030) { [df setInteger:[sender intValue] forKey:@"SongsInAdvance"]; - [[controller menuController] rebuildSubmenus]; + if ([[controller currentRemote] playerRunningState] == ITMTRemotePlayerRunning) { + [[controller menuController] performSelector:@selector(rebuildSubmenus) withObject:nil afterDelay:0]; + } } else if ( [sender tag] == 1040) { // This will not be executed. Song info always shows the title of the song. // [df setBool:SENDER_STATE forKey:@"showName"]; @@ -229,6 +237,8 @@ static PreferencesController *prefs = nil; [df setBool:SENDER_STATE forKey:@"showTime"]; } else if ( [sender tag] == 1080) { [df setBool:SENDER_STATE forKey:@"showTrackNumber"]; + } else if ( [sender tag] == 1085) { + [df setBool:SENDER_STATE forKey:@"showPlayCount"]; } else if ( [sender tag] == 1090) { [df setBool:SENDER_STATE forKey:@"showTrackRating"]; } else if ( [sender tag] == 1100) { @@ -558,9 +568,9 @@ static PreferencesController *prefs = nil; [df synchronize]; - /*if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) { + if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) { [[StatusWindowController sharedController] showSetupQueryWindow]; - }*/ + } } - (void)autoLaunchOK @@ -569,7 +579,7 @@ static PreferencesController *prefs = nil; [[StatusWindow sharedWindow] vanish:self]; [[StatusWindow sharedWindow] setIgnoresMouseEvents:YES]; - //ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], YES); + ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], YES); } - (void)autoLaunchCancel @@ -782,6 +792,7 @@ static PreferencesController *prefs = nil; [composerCheckbox setState:[df boolForKey:@"showComposer"] ? NSOnState : NSOffState]; [trackTimeCheckbox setState:[df boolForKey:@"showTime"] ? NSOnState : NSOffState]; [trackNumberCheckbox setState:[df boolForKey:@"showTrackNumber"] ? NSOnState : NSOffState]; + [playCountCheckbox setState:[df boolForKey:@"showPlayCount"] ? NSOnState : NSOffState]; [ratingCheckbox setState:[df boolForKey:@"showTrackRating"] ? NSOnState : NSOffState]; [albumArtworkCheckbox setState:[df boolForKey:@"showAlbumArtwork"] ? NSOnState : NSOffState]; @@ -794,9 +805,9 @@ static PreferencesController *prefs = nil; // Set the launch at login checkbox state ITDebugLog(@"Setting launch at login state."); - /*if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) { + if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) { [launchAtLoginCheckbox setState:NSOnState]; - }*/ + } // Set the launch player checkbox state ITDebugLog(@"Setting launch player with MenuTunes state.");