X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/a39da95b62217faccd6f43d22f20c5637cf10196..154ddd8b39891b174082df48f504f83d0a6a22d9:/MenuController.m?ds=inline diff --git a/MenuController.m b/MenuController.m index 0998e06..9c7f9b5 100755 --- a/MenuController.m +++ b/MenuController.m @@ -438,7 +438,6 @@ NS_HANDLER [[MainController sharedController] networkError:localException]; NS_ENDHANDLER - [_ratingMenu release]; [_upcomingSongsMenu release]; [_playlistsMenu release]; @@ -495,7 +494,6 @@ NS_ENDHANDLER ITDebugLog(@"Building \"Upcoming Songs\" menu."); - if (_currentPlaylist && !_playingRadio) { if (numSongs > 0) { int i; @@ -585,42 +583,46 @@ NSArray *curPlaylist = [playlists objectAtIndex:0]; NSString *name = [curPlaylist objectAtIndex:0]; ITDebugLog(@"Adding main source: %@", name); - for (i = 1; i < [curPlaylist count]; i++) { + for (i = 2; i < [curPlaylist count]; i++) { ITDebugLog(@"Adding playlist: %@", [curPlaylist objectAtIndex:i]); tempItem = [playlistsMenu addItemWithTitle:[curPlaylist objectAtIndex:i] action:@selector(performPlaylistMenuAction:) keyEquivalent:@""]; - [tempItem setTag:i + 1]; + [tempItem setTag:i]; [tempItem setTarget:self]; } } - [playlistsMenu addItem:[NSMenuItem separatorItem]]; + if ( (source == ITMTRemoteRadioSource) || ([playlists count] - 2 > 0) ) { + [playlistsMenu addItem:[NSMenuItem separatorItem]]; + } + + if (source == ITMTRemoteRadioSource) { + [[playlistsMenu addItemWithTitle:NSLocalizedString(@"radio", @"Radio") action:@selector(performPlaylistMenuAction:) keyEquivalent:@""] setState:NSOnState]; + } - for (i = 1; i < [playlists count]; i++) { + for (i = 2; i < [playlists count]; i++) { NSArray *curPlaylist = [playlists objectAtIndex:i]; NSString *name = [curPlaylist objectAtIndex:0]; NSMenu *submenu = [[NSMenu alloc] init]; ITDebugLog(@"Adding source: %@", name); - for (j = 1; j < [curPlaylist count]; j++) { + for (j = 2; j < [curPlaylist count]; j++) { ITDebugLog(@"Adding playlist: %@", [curPlaylist objectAtIndex:j]); tempItem = [submenu addItemWithTitle:[curPlaylist objectAtIndex:j] action:@selector(performPlaylistMenuAction:) keyEquivalent:@""]; - [tempItem setTag:(j * 1000) + (j + 1)]; + [tempItem setTag:(i * 1000) + j]; [tempItem setTarget:self]; + if ([[curPlaylist objectAtIndex:i] intValue] == ITMTRemoteiPodSource) { + [tempItem setEnabled:NO]; + } } [[playlistsMenu addItemWithTitle:name action:NULL keyEquivalent:@""] setSubmenu:[submenu autorelease]]; } - /*if (source == ITMTRemoteRadioSource) { - [[playlistsMenu addItemWithTitle:NSLocalizedString(@"radio", @"Radio") action:NULL keyEquivalent:@""] setState:NSOnState]; - } else if (source == ITMTRemoteGenericDeviceSource) { - [[playlistsMenu addItemWithTitle:NSLocalizedString(@"genericDevice", @"Generic Device") action:NULL keyEquivalent:@""] setState:NSOnState]; - } else if (source == ITMTRemoteiPodSource) { - [[playlistsMenu addItemWithTitle:NSLocalizedString(@"iPod", @"iPod") action:NULL keyEquivalent:@""] setState:NSOnState]; - } else if (source == ITMTRemoteCDSource) { - [[playlistsMenu addItemWithTitle:NSLocalizedString(@"cd", @"CD") action:NULL keyEquivalent:@""] setState:NSOnState]; - } else if (source == ITMTRemoteSharedLibrarySource) { - [[playlistsMenu addItemWithTitle:NSLocalizedString(@"sharedLibrary", @"Shared Library") action:NULL keyEquivalent:@""] setState:NSOnState]; + + if ( (source == ITMTRemoteSharedLibrarySource) || (source == ITMTRemoteiPodSource) || (source == ITMTRemoteGenericDeviceSource) || (source == ITMTRemoteCDSource) ){ + tempItem = [playlistsMenu itemAtIndex:(int)[[[MainController sharedController] currentRemote] currentSourceIndex] + [playlistsMenu numberOfItems] - 5]; + [tempItem setState:NSOnState]; + [[[tempItem submenu] itemAtIndex:_currentPlaylist - 1] setState:NSOnState]; } else if (source == ITMTRemoteLibrarySource && _currentPlaylist) { [[playlistsMenu itemAtIndex:_currentPlaylist - 1] setState:NSOnState]; - }*/ + } ITDebugLog(@"Done Building \"Playlists\" menu"); return playlistsMenu; }