//
#import "MenuController.h"
-#import "NewMainController.h"
-#import "HotKeyCenter.h"
-#import "KeyCombo.h"
+#import "MainController.h"
+#import <ITFoundation/ITDebug.h>
+#import <ITKit/ITHotKeyCenter.h>
+#import <ITKit/ITHotKey.h>
+#import <ITKit/ITKeyCombo.h>
@interface MenuController (SubmenuMethods)
- (NSMenu *)ratingMenu;
NSString *nextObject;
NSMenuItem *tempItem;
NSEnumerator *itemEnum;
- KeyCombo *keyCombo;
+ ITHotKey *hotKey;
+ NSArray *hotKeys = [[ITHotKeyCenter sharedCenter] allHotKeys];
//Get the information
_currentPlaylist = [currentRemote currentPlaylistIndex];
[tempItem setTag:MTMenuPlayPauseItem];
[tempItem setTarget:self];
- if ( (keyCombo = [[HotKeyCenter sharedCenter] keyComboForName:@"PlayPause"]) ) {
- [self setKeyEquivalentForCode:[keyCombo keyCode]
- andModifiers:[keyCombo modifiers]
- onItem:tempItem];
+ 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]) {
action:@selector(performMainMenuAction:)
keyEquivalent:@""];
- if ( (keyCombo = [[HotKeyCenter sharedCenter] keyComboForName:@"NextTrack"]) ) {
- [self setKeyEquivalentForCode:[keyCombo keyCode]
- andModifiers:[keyCombo modifiers]
- onItem:tempItem];
+ 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) {
action:@selector(performMainMenuAction:)
keyEquivalent:@""];
- if ( (keyCombo = [[HotKeyCenter sharedCenter] keyComboForName:@"PrevTrack"]) ) {
- [self setKeyEquivalentForCode:[keyCombo keyCode]
- andModifiers:[keyCombo modifiers]
- onItem:tempItem];
+ 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) {
action:@selector(performMainMenuAction:)
keyEquivalent:@""];
- if ( (keyCombo = [[HotKeyCenter sharedCenter] keyComboForName:@"ShowPlayer"]) ) {
- [self setKeyEquivalentForCode:[keyCombo keyCode]
- andModifiers:[keyCombo modifiers]
- onItem:tempItem];
+ 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];
}
if ([defaults boolForKey:@"showAlbum"]) {
- [menu addItemWithTitle:[NSString stringWithFormat:@" %@", [currentRemote currentSongAlbum]]
- action:nil
- keyEquivalent:@""];
+ NSString *curAlbum = [currentRemote currentSongAlbum];
+ if ([curAlbum length]) {
+ [menu addItemWithTitle:[NSString stringWithFormat:@" %@", curAlbum]
+ action:nil
+ keyEquivalent:@""];
+ }
}
if ([defaults boolForKey:@"showArtist"]) {
- [menu addItemWithTitle:[NSString stringWithFormat:@" %@", [currentRemote currentSongArtist]]
- action:nil
- keyEquivalent:@""];
+ NSString *curArtist = [currentRemote currentSongArtist];
+ if ([curArtist length]) {
+ [menu addItemWithTitle:[NSString stringWithFormat:@" %@", curArtist]
+ action:nil
+ keyEquivalent:@""];
+ }
}
if ([defaults boolForKey:@"showTrackNumber"]) {
action:nil
keyEquivalent:@""];
}
+
+ if ([defaults boolForKey:@"showTrackRating"]) {
+ NSString *string;
+ 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:@""];
}
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;
}
}
[[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);