- [df setObject:myItems forKey:@"menu"];
-
- //Set key combos
- [df setKeyCombo:playPauseCombo forKey:@"PlayPause"];
- [df setKeyCombo:nextTrackCombo forKey:@"NextTrack"];
- [df setKeyCombo:prevTrackCombo forKey:@"PrevTrack"];
- [df setKeyCombo:trackInfoCombo forKey:@"TrackInfo"];
- [df setKeyCombo:upcomingSongsCombo forKey:@"UpcomingSongs"];
-
- //Set info checkboxes
- [df setBool:[albumCheckbox state] forKey:@"showAlbum"];
- [df setBool:[nameCheckbox state] forKey:@"showName"];
- [df setBool:[artistCheckbox state] forKey:@"showArtist"];
- [df setBool:[trackTimeCheckbox state] forKey:@"showTime"];
-
- //Here we set whether we will launch at login by modifying loginwindow.plist
- if ([launchAtLoginCheckbox state] == NSOnState) {
- NSMutableDictionary *loginwindow;
- NSMutableArray *loginarray;
- ComponentInstance temp = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype);;
- int i;
- BOOL skip = NO;
-
- [df synchronize];
- loginwindow = [[df 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]]) {
- skip = YES;
- }
+ ITDebugLog(@"Changing general setting of tag %i.", [sender tag]);
+ if ( [sender tag] == 1010) {
+ [self setLaunchesAtLogin:SENDER_STATE];
+ } else if ( [sender tag] == 1020) {
+ [df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"];
+ } else if ( [sender tag] == 1030) {
+ [df setInteger:[sender intValue] forKey:@"SongsInAdvance"];
+
+ } else if ( [sender tag] == 1040) {
+ // This will not be executed. Song info always shows the title of the song.
+ // [df setBool:SENDER_STATE forKey:@"showName"];
+ } else if ( [sender tag] == 1050) {
+ [df setBool:SENDER_STATE forKey:@"showArtist"];
+ } else if ( [sender tag] == 1060) {
+ [df setBool:SENDER_STATE forKey:@"showAlbum"];
+ } else if ( [sender tag] == 1070) {
+ [df setBool:SENDER_STATE forKey:@"showTime"];
+ } else if ( [sender tag] == 1080) {
+ [df setBool:SENDER_STATE forKey:@"showTrackNumber"];
+ } else if ( [sender tag] == 1090) {
+ [df setBool:SENDER_STATE forKey:@"showTrackRating"];
+ }
+ [df synchronize];
+}
+
+- (IBAction)changeStatusWindowSetting:(id)sender
+{
+ StatusWindow *sw = [StatusWindow sharedWindow];
+ ITDebugLog(@"Changing status window setting of tag %i", [sender tag]);
+ if ( [sender tag] == 2010) {
+ [df setInteger:[sender selectedRow] forKey:@"statusWindowVerticalPosition"];
+ [df setInteger:[sender selectedColumn] forKey:@"statusWindowHorizontalPosition"];
+ // update the window's position here
+ } else if ( [sender tag] == 2020) {
+ // update screen selection
+ } else if ( [sender tag] == 2030) {
+ int effectTag = [[sender selectedItem] tag];
+ float time = ([df floatForKey:@"statusWindowAppearanceSpeed"] ? [df floatForKey:@"statusWindowAppearanceSpeed"] : 0.8);
+ [df setInteger:effectTag forKey:@"statusWindowAppearanceEffect"];
+
+ if ( effectTag == 2100 ) {
+ [sw setEntryEffect:[[[ITCutWindowEffect alloc] initWithWindow:sw] autorelease]];
+ } else if ( effectTag == 2101 ) {
+ [sw setEntryEffect:[[[ITDissolveWindowEffect alloc] initWithWindow:sw] autorelease]];
+ } else if ( effectTag == 2102 ) {
+ [sw setEntryEffect:[[[ITSlideVerticallyWindowEffect alloc] initWithWindow:sw] autorelease]];
+ } else if ( effectTag == 2103 ) {
+ [sw setEntryEffect:[[[ITSlideHorizontallyWindowEffect alloc] initWithWindow:sw] autorelease]];
+ } else if ( effectTag == 2104 ) {
+ NSLog(@"dflhgldf");
+ [sw setEntryEffect:[[[ITPivotWindowEffect alloc] initWithWindow:sw] autorelease]];