X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/2c356967e9652ae92e46a9b5f96ac15a92db7691..701d53006945f9cf890e9b3d554f493d81f66640:/PreferencesController.m?ds=inline diff --git a/PreferencesController.m b/PreferencesController.m index ba70e0d..5c9f059 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -94,25 +94,42 @@ static PreferencesController *prefs = nil; - (IBAction)changeGeneralSetting:(id)sender { + BOOL rebuildRequired = NO; + if ( [sender tag] == 1010) { [self setLaunchesAtLogin:SENDER_STATE]; } else if ( [sender tag] == 1020) { [df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"]; } else if ( [sender tag] == 1030) { [df setInteger:[sender intValue] forKey:@"SongsInAdvance"]; + rebuildRequired = YES; } else if ( [sender tag] == 1040) { - [df setBool:SENDER_STATE forKey:@"showAlbum"]; + // This will not be executed. Song info always shows the title of the song. + // [df setBool:SENDER_STATE forKey:@"showName"]; + // rebuildRequired = YES; } else if ( [sender tag] == 1050) { - [df setBool:SENDER_STATE forKey:@"showName"]; - } else if ( [sender tag] == 1060) { [df setBool:SENDER_STATE forKey:@"showArtist"]; + rebuildRequired = YES; + } else if ( [sender tag] == 1060) { + [df setBool:SENDER_STATE forKey:@"showAlbum"]; + rebuildRequired = YES; } else if ( [sender tag] == 1070) { [df setBool:SENDER_STATE forKey:@"showTime"]; + rebuildRequired = YES; } else if ( [sender tag] == 1080) { [df setBool:SENDER_STATE forKey:@"showTrackNumber"]; + rebuildRequired = YES; } else if ( [sender tag] == 1090) { [df setBool:SENDER_STATE forKey:@"showTrackRating"]; + rebuildRequired = YES; } + + if ( rebuildRequired ) { + [controller rebuildMenu]; + // redraw song info status window, or upcoming songs here + } + + [df synchronize]; } - (IBAction)changeStatusWindowSetting:(id)sender @@ -216,7 +233,7 @@ static PreferencesController *prefs = nil; nil] forKey:@"menu"]; [df setInteger:5 forKey:@"SongsInAdvance"]; - [df setBool:YES forKey:@"showName"]; + // [df setBool:YES forKey:@"showName"]; // Song info will always show song title. [df setBool:YES forKey:@"showArtist"]; [df setBool:NO forKey:@"showAlbum"]; [df setBool:NO forKey:@"showTime"]; @@ -442,6 +459,8 @@ static PreferencesController *prefs = nil; toggleShuffleCombo = [combo copy]; [toggleShuffleButton setTitle:string]; } + [df setKeyCombo:combo forKey:setHotKey]; + [controller rebuildMenu]; [self cancelHotKey:sender]; } @@ -651,7 +670,8 @@ static PreferencesController *prefs = nil; // Check current track info buttons [albumCheckbox setState:[df boolForKey:@"showAlbum"] ? NSOnState : NSOffState]; - [nameCheckbox setState:[df boolForKey:@"showName"] ? NSOnState : NSOffState]; + [nameCheckbox setState:NSOnState]; // Song info will ALWAYS show song title. + [nameCheckbox setEnabled:NO]; // Song info will ALWAYS show song title. [artistCheckbox setState:[df boolForKey:@"showArtist"] ? NSOnState : NSOffState]; [trackTimeCheckbox setState:[df boolForKey:@"showTime"] ? NSOnState : NSOffState]; @@ -760,7 +780,11 @@ static PreferencesController *prefs = nil; { if (aTableView == menuTableView) { if ([[aTableColumn identifier] isEqualToString:@"name"]) { - return [myItems objectAtIndex:rowIndex]; + NSString *object = [myItems objectAtIndex:rowIndex]; + if ([object isEqualToString:@"Show Player"]) { + return [NSString stringWithFormat:@"Show %@", [[controller currentRemote] playerSimpleName]]; + } + return object; } else { if ([submenuItems containsObject:[myItems objectAtIndex:rowIndex]]) {