Lots of rewritten code. Not yet working because the status item doesn't
[MenuTunes.git] / PreferencesController.m
index 3a9ecd3..82b7f82 100755 (executable)
@@ -1,10 +1,10 @@
 #import "PreferencesController.h"
-#import "MenuTunes.h"
+#import "MainController.h"
 #import "HotKeyCenter.h"
 
 @implementation PreferencesController
 
-- (id)initWithMenuTunes:(MenuTunes *)tunes;
+- (id)initWithMenuTunes:(MainController *)tunes;
 {
     if ( (self = [super init]) ) {
         int i;
         NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
         
         mt = [tunes retain];
-        [mt registerDefaultsIfNeeded];
+        [mt registerDefaults];
         
         //Load the nib
         [NSBundle loadNibNamed:@"Preferences" owner:self];
         
-        //Show our window
-        [window setLevel:NSStatusWindowLevel];
-        [window center];
-        [window makeKeyAndOrderFront:nil];
-        
         //Set the table view cells up
         [imgCell setImageScaling:NSScaleNone];
         [[menuTableView tableColumnWithIdentifier:@"submenu"] setDataCell:imgCell];
@@ -32,7 +27,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 +42,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"]];
                 }
             }
         }
+        
+        //Show our window
+        [window setLevel:NSStatusWindowLevel];
+        [window center];
+        [window makeKeyAndOrderFront:nil];
+        [window setDelegate:self];
     }
     return self;
 }
 
 - (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];
 }
 
     [keyComboField setStringValue:string];
 }
 
+//
+//
+
+- (void)windowWillClose:(NSNotification *)note
+{
+    [mt closePreferences];
+}
+
 //
 //
 // Table View Datasource Methods