+
+ [defaults synchronize];
+ loginwindow = [[defaults persistentDomainForName:@"loginwindow"] mutableCopy];
+ loginarray = [loginwindow objectForKey:@"AutoLaunchedApplicationDictionary"];
+
+ for (i = 0; i < [loginarray count]; i++) {
+ NSDictionary *tempDict = [loginarray objectAtIndex:i];
+ if ([[[tempDict objectForKey:@"Path"] lastPathComponent] isEqualToString:[[[NSBundle mainBundle] bundlePath] lastPathComponent]]) {
+ found = YES;
+ }
+ }
+
+ if (!found) {
+ if (NSRunInformationalAlertPanel(@"Auto-launch MenuTunes", @"Would you like MenuTunes to automatically launch at login?", @"Yes", @"No", nil) == NSOKButton) {
+ AEDesc scriptDesc, resultDesc;
+ NSString *script = [NSString stringWithFormat:@"tell application \"System Events\"\nmake new login item at end of login items with properties {path:\"%@\", kind:\"APPLICATION\"}\nend tell", [[NSBundle mainBundle] bundlePath]];
+
+ AECreateDesc(typeChar, [script cString], [script cStringLength],
+ &scriptDesc);
+
+ OSADoScript(asComponent, &scriptDesc, kOSANullScript, typeChar, kOSAModeCanInteract, &resultDesc);
+
+ AEDisposeDesc(&scriptDesc);
+ AEDisposeDesc(&resultDesc);
+ }
+ }
+ }
+
+ if (![defaults integerForKey:@"SongsInAdvance"])
+ {
+ [defaults setInteger:5 forKey:@"SongsInAdvance"];
+ }
+
+ if (![defaults objectForKey:@"showName"]) {
+ [defaults setBool:YES forKey:@"showName"];
+ }
+
+ if (![defaults objectForKey:@"showArtist"]) {
+ [defaults setBool:YES forKey:@"showArtist"];
+ }
+
+ if (![defaults objectForKey:@"showAlbum"]) {
+ [defaults setBool:NO forKey:@"showAlbum"];
+ }
+
+ if (![defaults objectForKey:@"showTime"]) {
+ [defaults setBool:NO forKey:@"showTime"];