- (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
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"];
toggleShuffleCombo = [combo copy];
[toggleShuffleButton setTitle:string];
}
+ [df setKeyCombo:combo forKey:setHotKey];
+ [controller rebuildMenu];
[self cancelHotKey:sender];
}
// 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];
{
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]])
{