Adding some modifications for better synced status windows... Seems like
[MenuTunes.git] / MenuController.m
index 7c0f307..b862318 100755 (executable)
@@ -8,7 +8,9 @@
 
 #import "MenuController.h"
 #import "MainController.h"
+#import <ITFoundation/ITDebug.h>
 #import <ITKit/ITHotKeyCenter.h>
+#import <ITKit/ITHotKey.h>
 #import <ITKit/ITKeyCombo.h>
 
 @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];
             [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:
                     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];
                     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];
                     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];
     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);