X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/f16e2f1f2b4778b4bc890162fa9cd31d7dd79b54..3b5e8f80a471ff88cd39e8c295276beb7c3412ec:/MenuController.m diff --git a/MenuController.m b/MenuController.m index 7c0f307..7a2db4b 100755 --- a/MenuController.m +++ b/MenuController.m @@ -8,7 +8,9 @@ #import "MenuController.h" #import "MainController.h" +#import #import +#import #import @interface MenuController (SubmenuMethods) @@ -39,7 +41,8 @@ NSString *nextObject; NSMenuItem *tempItem; NSEnumerator *itemEnum; - ITKeyCombo *keyCombo; + ITHotKey *hotKey; + NSArray *hotKeys = [[ITHotKeyCenter sharedCenter] allHotKeys]; //Get the information _currentPlaylist = [currentRemote currentPlaylistIndex]; @@ -72,11 +75,15 @@ [tempItem setTag:MTMenuPlayPauseItem]; [tempItem setTarget:self]; - /*if ( (keyCombo = [[ITHotKeyCenter sharedCenter] keyComboForName:@"PlayPause"]) ) { - [self setKeyEquivalentForCode:[keyCombo keyCode] - andModifiers:[keyCombo modifiers] - onItem:tempItem]; - }*/ // FIX ME! + itemEnum = [hotKeys objectEnumerator]; + while ( (hotKey = [itemEnum nextObject]) ) { + if ([[hotKey name] isEqualToString:@"PlayPause"]) { + ITKeyCombo *combo = [hotKey keyCombo]; + [self setKeyEquivalentForCode:[combo keyCode] + andModifiers:[combo modifiers] + onItem:tempItem]; + } + } switch ([currentRemote playerPlayingState]) { case ITMTRemotePlayerPlaying: @@ -94,11 +101,15 @@ action:@selector(performMainMenuAction:) keyEquivalent:@""]; - /*if ( (keyCombo = [[ITHotKeyCenter sharedCenter] keyComboForName:@"NextTrack"]) ) { - [self setKeyEquivalentForCode:[keyCombo keyCode] - andModifiers:[keyCombo modifiers] - onItem:tempItem]; - }*/ // FIX ME! + itemEnum = [hotKeys objectEnumerator]; + while ( (hotKey = [itemEnum nextObject]) ) { + if ([[hotKey name] isEqualToString:@"NextTrack"]) { + ITKeyCombo *combo = [hotKey keyCombo]; + [self setKeyEquivalentForCode:[combo keyCode] + andModifiers:[combo modifiers] + onItem:tempItem]; + } + } if (_currentPlaylist) { [tempItem setTag:MTMenuNextTrackItem]; @@ -109,11 +120,15 @@ action:@selector(performMainMenuAction:) keyEquivalent:@""]; - /*if ( (keyCombo = [[ITHotKeyCenter sharedCenter] keyComboForName:@"PrevTrack"]) ) { - [self setKeyEquivalentForCode:[keyCombo keyCode] - andModifiers:[keyCombo modifiers] - onItem:tempItem]; - }*/ // FIX ME! + itemEnum = [hotKeys objectEnumerator]; + while ( (hotKey = [itemEnum nextObject]) ) { + if ([[hotKey name] isEqualToString:@"PrevTrack"]) { + ITKeyCombo *combo = [hotKey keyCombo]; + [self setKeyEquivalentForCode:[combo keyCode] + andModifiers:[combo modifiers] + onItem:tempItem]; + } + } if (_currentPlaylist) { [tempItem setTag:MTMenuPreviousTrackItem]; @@ -142,11 +157,15 @@ action:@selector(performMainMenuAction:) keyEquivalent:@""]; - /*if ( (keyCombo = [[ITHotKeyCenter sharedCenter] keyComboForName:@"ShowPlayer"]) ) { - [self setKeyEquivalentForCode:[keyCombo keyCode] - andModifiers:[keyCombo modifiers] - onItem:tempItem]; - }*/ // FIX ME! + itemEnum = [hotKeys objectEnumerator]; + while ( (hotKey = [itemEnum nextObject]) ) { + if ([[hotKey name] isEqualToString:@"ShowPlayer"]) { + ITKeyCombo *combo = [hotKey keyCombo]; + [self setKeyEquivalentForCode:[combo keyCode] + andModifiers:[combo modifiers] + onItem:tempItem]; + } + } [tempItem setTarget:self]; [tempItem setTag:MTMenuShowPlayerItem]; @@ -209,6 +228,34 @@ action:nil keyEquivalent:@""]; } + + if ([defaults boolForKey:@"showTrackRating"]) { + NSString *string = nil; + switch ((int)([currentRemote currentSongRating] * 5)) { + case 0: + string = [NSString stringWithUTF8String:"☆☆☆☆☆"]; + break; + case 1: + string = [NSString stringWithUTF8String:"★☆☆☆☆"]; + break; + case 2: + string = [NSString stringWithUTF8String:"★★☆☆☆"]; + break; + case 3: + string = [NSString stringWithUTF8String:"★★★☆☆"]; + break; + case 4: + string = [NSString stringWithUTF8String:"★★★★☆"]; + break; + case 5: + string = [NSString stringWithUTF8String:"★★★★★"]; + break; + } + [menu addItemWithTitle: + [@" " stringByAppendingString:string] + action:nil + keyEquivalent:@""]; + } } else { [menu addItemWithTitle:NSLocalizedString(@"noSong", @"No Song") action:NULL keyEquivalent:@""]; } @@ -392,39 +439,39 @@ switch ( [sender tag] ) { case MTMenuPlayPauseItem: - NSLog(@"MenuController: Play/Pause"); + ITDebugLog(@"MenuController: Play/Pause"); [[MainController sharedController] playPause]; break; case MTMenuFastForwardItem: - NSLog(@"MenuController: Fast Forward"); + ITDebugLog(@"MenuController: Fast Forward"); [[MainController sharedController] fastForward]; break; case MTMenuRewindItem: - NSLog(@"MenuController: Rewind"); + ITDebugLog(@"MenuController: Rewind"); [[MainController sharedController] rewind]; break; case MTMenuPreviousTrackItem: - NSLog(@"MenuController: Previous Track"); + ITDebugLog(@"MenuController: Previous Track"); [[MainController sharedController] prevSong]; break; case MTMenuNextTrackItem: - NSLog(@"MenuController: Next Track"); + ITDebugLog(@"MenuController: Next Track"); [[MainController sharedController] nextSong]; break; case MTMenuShowPlayerItem: - NSLog(@"MainController: Show Main Interface"); + ITDebugLog(@"MainController: Show Main Interface"); [[MainController sharedController] showPlayer]; break; case MTMenuPreferencesItem: - NSLog(@"MenuController: Preferences..."); + ITDebugLog(@"MenuController: Preferences..."); [[MainController sharedController] showPreferences]; break; case MTMenuQuitItem: - NSLog(@"MenuController: Quit"); + ITDebugLog(@"MenuController: Quit"); [[MainController sharedController] quitMenuTunes]; break; default: - NSLog(@"MenuController: Unimplemented Menu Item OR Child-bearing Menu Item"); + ITDebugLog(@"MenuController: Unimplemented Menu Item OR Child-bearing Menu Item"); break; } } @@ -520,7 +567,7 @@ [[NSString stringWithString:@"Space"] getCharacters:&buffer]; charcode = buffer; /*MenuRef menuRef = _NSGetCarbonMenu([item menu]); - NSLog(@"%@", menuRef); + ITDebugLog(@"%@", menuRef); SetMenuItemCommandKey(menuRef, 0, NO, 49); SetMenuItemModifiers(menuRef, 0, kMenuNoCommandModifier); SetMenuItemKeyGlyph(menuRef, 0, kMenuBlankGlyph);