Adding some modifications for better synced status windows... Seems like
[MenuTunes.git] / MenuController.m
index 2ac4826..b862318 100755 (executable)
@@ -7,9 +7,11 @@
 //
 
 #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;
@@ -39,7 +41,8 @@
     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];
     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);