Added stuff for current song rating. Right now in the submenu there are
[MenuTunes.git] / PreferencesController.m
index b4cba9e..8acaab7 100755 (executable)
@@ -13,7 +13,7 @@
         
         mt = [tunes retain];
         [mt registerDefaultsIfNeeded];
-        
+
         //Load the nib
         [NSBundle loadNibNamed:@"Preferences" owner:self];
         
@@ -32,7 +32,7 @@
         [allTableView registerForDraggedTypes:[NSArray arrayWithObjects:@"MenuTableViewPboardType", @"AllTableViewPboardType", nil]];
         
         //Set the list of items you can have.
-        availableItems = [[NSMutableArray alloc] initWithObjects:@"Current Track Info",  @"Upcoming Songs", @"Playlists", @"EQ Presets", @"Play/Pause", @"Next Track", @"Previous Track", @"Fast Forward", @"Rewind", @"<separator>", nil];
+        availableItems = [[NSMutableArray alloc] initWithObjects:@"Current Track Info",  @"Upcoming Songs", @"Playlists", @"EQ Presets", @"Song Rating", @"Play/Pause", @"Next Track", @"Previous Track", @"Fast Forward", @"Rewind", @"<separator>", nil];
         
         //Get our preferred menu
         myItems = [[[NSUserDefaults standardUserDefaults] arrayForKey:@"menu"] mutableCopy];
@@ -47,7 +47,7 @@
         }
         
         //Items that show should a submenu image
-        submenuItems = [[NSArray alloc] initWithObjects:@"Upcoming Songs", @"Playlists", @"EQ Presets", nil];
+        submenuItems = [[NSArray alloc] initWithObjects:@"Upcoming Songs", @"Playlists", @"EQ Presets", @"Song Rating", nil];
         
         //Fill in the number of songs in advance to show field
         [songsInAdvance setIntValue:[defaults integerForKey:@"SongsInAdvance"]];
 
 - (IBAction)apply:(id)sender
 {
-    ProcessSerialNumber psn;
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
     [defaults setObject:myItems forKey:@"menu"];
     
         [defaults setInteger:5 forKey:@"SongsInAdvance"];
     }
     
-    psn = [mt iTunesPSN];
-    if (!((psn.highLongOfPSN == kNoProcess) && (psn.lowLongOfPSN == 0))) {
-        [mt rebuildMenu];
+    {
+        NSArray *apps = [[NSWorkspace sharedWorkspace] launchedApplications];
+        int i;
+        
+        for (i = 0; i < [apps count]; i++) {
+            if ([[[apps objectAtIndex:i] objectForKey:@"NSApplicationName"]
+                    isEqualToString:@"iTunes"]) {
+                [mt rebuildMenu];
+            }
+        }
     }
     [mt clearHotKeys];
 }
 
 - (IBAction)okHotKey:(id)sender
 {
-    NSString *string;
-    if (([combo modifiers] <= 0) && ([combo keyCode] >= 0)) {
-        [window setLevel:NSNormalWindowLevel];
-        NSRunAlertPanel(@"Bad Key Combo", @"Please enter a valid key combo. A valid combo must have a modifier key in it. (Command, option, shift, control).", @"OK", nil, nil, nil);
-        [window setLevel:NSStatusWindowLevel];
-        return;
-    }
-    
-    string = [combo userDisplayRep];
+    NSString *string = [combo userDisplayRep];
     
     if (string == nil) {
         string = @"None";