From 2c356967e9652ae92e46a9b5f96ac15a92db7691 Mon Sep 17 00:00:00 2001 From: Matthew Judy Date: Fri, 11 Apr 2003 11:45:44 +0000 Subject: [PATCH] Making prefs work. Not sure if hotkeys are saving and updating, though --- English.lproj/Preferences.nib/classes.nib | 18 +- English.lproj/Preferences.nib/info.nib | 2 +- .../Preferences.nib/keyedobjects.nib | Bin 33896 -> 34888 bytes PreferencesController.h | 6 +- PreferencesController.m | 171 +++++++----------- 5 files changed, 80 insertions(+), 117 deletions(-) diff --git a/English.lproj/Preferences.nib/classes.nib b/English.lproj/Preferences.nib/classes.nib index 10e4f8f..7401e28 100755 --- a/English.lproj/Preferences.nib/classes.nib +++ b/English.lproj/Preferences.nib/classes.nib @@ -4,17 +4,13 @@ {CLASS = KeyBroadcaster; LANGUAGE = ObjC; SUPERCLASS = NSButton; }, { ACTIONS = { - apply = id; - cancel = id; cancelHotKey = id; + changeGeneralSetting = id; + changeHotKey = id; + changeStatusWindowSetting = id; clearHotKey = id; okHotKey = id; - save = id; - setCurrentTrackInfo = id; - setNextTrack = id; - setPlayPause = id; - setPreviousTrack = id; - setUpcomingSongs = id; + showPrefsWindow = id; }; CLASS = PreferencesController; LANGUAGE = ObjC; @@ -30,10 +26,16 @@ nextTrackButton = NSButton; playPauseButton = NSButton; previousTrackButton = NSButton; + ratingDecrementButton = NSButton; + ratingIncrementButton = NSButton; songsInAdvance = NSTextField; + toggleLoopButton = NSButton; + toggleShuffleButton = NSButton; trackInfoButton = NSButton; trackTimeCheckbox = NSButton; upcomingSongsButton = NSButton; + volumeDecrementButton = NSButton; + volumeIncrementButton = NSButton; window = NSWindow; }; SUPERCLASS = NSObject; diff --git a/English.lproj/Preferences.nib/info.nib b/English.lproj/Preferences.nib/info.nib index 4a5a843..ec58137 100755 --- a/English.lproj/Preferences.nib/info.nib +++ b/English.lproj/Preferences.nib/info.nib @@ -3,7 +3,7 @@ IBDocumentLocation - 371 7 356 240 0 0 1056 770 + 4 3 356 240 0 0 1056 770 IBFramework Version 286.0 IBGroupedObjects diff --git a/English.lproj/Preferences.nib/keyedobjects.nib b/English.lproj/Preferences.nib/keyedobjects.nib index 654a4426ae3684bcdee44a1e6b05387a75b72e3e..bb273f6cb2ca1444b185f3992921731a6341824a 100755 GIT binary patch literal 34888 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 Ns>Un-%l|vS`X3DY8B72G diff --git a/PreferencesController.h b/PreferencesController.h index 35252ae..f4f2af4 100755 --- a/PreferencesController.h +++ b/PreferencesController.h @@ -69,12 +69,16 @@ - (void)setController:(id)object; - (IBAction)showPrefsWindow:(id)sender; + +- (IBAction)changeGeneralSetting:(id)sender; +- (IBAction)changeStatusWindowSetting:(id)sender; +- (IBAction)changeHotKey:(id)sender; + - (void)registerDefaults; - (IBAction)cancelHotKey:(id)sender; - (IBAction)clearHotKey:(id)sender; - (IBAction)okHotKey:(id)sender; -- (IBAction)setNewHotKey:(id)sender; - (void)setHotKey:(NSString *)key; - (void)setKeyCombo:(KeyCombo *)newCombo; diff --git a/PreferencesController.m b/PreferencesController.m index 101b8c7..ba70e0d 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -94,92 +94,99 @@ static PreferencesController *prefs = nil; - (IBAction)changeGeneralSetting:(id)sender { - if ( [sender tag] == 101) { + if ( [sender tag] == 1010) { [self setLaunchesAtLogin:SENDER_STATE]; - } else if ( [sender tag] == 102) { + } else if ( [sender tag] == 1020) { [df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"]; - } else if ( [sender tag] == 103) { + } else if ( [sender tag] == 1030) { [df setInteger:[sender intValue] forKey:@"SongsInAdvance"]; - } else if ( [sender tag] == 104) { + } else if ( [sender tag] == 1040) { [df setBool:SENDER_STATE forKey:@"showAlbum"]; - } else if ( [sender tag] == 105) { + } else if ( [sender tag] == 1050) { [df setBool:SENDER_STATE forKey:@"showName"]; - } else if ( [sender tag] == 106) { + } else if ( [sender tag] == 1060) { [df setBool:SENDER_STATE forKey:@"showArtist"]; - } else if ( [sender tag] == 107) { + } else if ( [sender tag] == 1070) { [df setBool:SENDER_STATE forKey:@"showTime"]; - } else if ( [sender tag] == 108) { + } else if ( [sender tag] == 1080) { [df setBool:SENDER_STATE forKey:@"showTrackNumber"]; - } else if ( [sender tag] == 109) { + } else if ( [sender tag] == 1090) { [df setBool:SENDER_STATE forKey:@"showTrackRating"]; } } - (IBAction)changeStatusWindowSetting:(id)sender { - if ( [sender tag] == 201) { + 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] == 202) { + } else if ( [sender tag] == 2020) { // update screen selection - } else if ( [sender tag] == 203) { + } else if ( [sender tag] == 2030) { // Update appearance effect - } else if ( [sender tag] == 204) { + } else if ( [sender tag] == 2040) { // Update Vanish Effect - } else if ( [sender tag] == 205) { + } else if ( [sender tag] == 2050) { // Update appearance speed - } else if ( [sender tag] == 206) { + } else if ( [sender tag] == 2060) { // Update vanish speed - } else if ( [sender tag] == 207) { + } else if ( [sender tag] == 2070) { // Update vanish delay - } else if ( [sender tag] == 208) { + } else if ( [sender tag] == 2080) { // Update "Song Info window when song changes" setting. } } -- (IBAction)apply:(id)sender +- (IBAction)changeHotKey:(id)sender { - //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"]; - [df setKeyCombo:volumeIncrementCombo forKey:@"IncrementVolume"]; - [df setKeyCombo:volumeDecrementCombo forKey:@"DecrementVolume"]; - [df setKeyCombo:ratingIncrementCombo forKey:@"IncrementRating"]; - [df setKeyCombo:ratingDecrementCombo forKey:@"DecrementRating"]; - [df setKeyCombo:toggleLoopCombo forKey:@"ToggleLoop"]; - [df setKeyCombo:toggleShuffleCombo forKey:@"ToggleShuffle"]; - - //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 - - //Set songs in advance - if ([songsInAdvance intValue]) { - [df setInteger:[songsInAdvance intValue] forKey:@"SongsInAdvance"]; - } else { - [df setInteger:5 forKey:@"SongsInAdvance"]; + switch ([sender tag]) + { + case 4010: + [self setKeyCombo:playPauseCombo]; + [self setHotKey:@"PlayPause"]; + break; + case 4020: + [self setKeyCombo:nextTrackCombo]; + [self setHotKey:@"NextTrack"]; + break; + case 4030: + [self setKeyCombo:prevTrackCombo]; + [self setHotKey:@"PrevTrack"]; + break; + case 4040: + [self setKeyCombo:toggleLoopCombo]; + [self setHotKey:@"ToggleLoop"]; + break; + case 4050: + [self setKeyCombo:toggleShuffleCombo]; + [self setHotKey:@"ToggleShuffle"]; + break; + case 4060: + [self setKeyCombo:trackInfoCombo]; + [self setHotKey:@"TrackInfo"]; + break; + case 4070: + [self setKeyCombo:upcomingSongsCombo]; + [self setHotKey:@"UpcomingSongs"]; + break; + case 4080: + [self setKeyCombo:volumeIncrementCombo]; + [self setHotKey:@"IncrementVolume"]; + break; + case 4090: + [self setKeyCombo:volumeDecrementCombo]; + [self setHotKey:@"DecrementVolume"]; + break; + case 4100: + [self setKeyCombo:ratingIncrementCombo]; + [self setHotKey:@"IncrementRating"]; + break; + case 4110: + [self setKeyCombo:ratingDecrementCombo]; + [self setHotKey:@"DecrementRating"]; + break; } - - /*{ - NSArray *apps = [[NSWorkspace sharedWorkspace] launchedApplications]; - int i; - - for (i = 0; i < [apps count]; i++) { - if ([[[apps objectAtIndex:i] objectForKey:@"NSApplicationName"] - isEqualToString:@"iTunes"]) { - [controller rebuildMenu]; - } - } - }*/ - [controller clearHotKeys]; } - (void)registerDefaults @@ -438,56 +445,6 @@ static PreferencesController *prefs = nil; [self cancelHotKey:sender]; } -- (IBAction)setNewHotKey:(id)sender -{ - switch ([sender tag]) - { - case 401: - [self setKeyCombo:playPauseCombo]; - [self setHotKey:@"PlayPause"]; - break; - case 402: - [self setKeyCombo:nextTrackCombo]; - [self setHotKey:@"NextTrack"]; - break; - case 403: - [self setKeyCombo:prevTrackCombo]; - [self setHotKey:@"PrevTrack"]; - break; - case 404: - [self setKeyCombo:toggleLoopCombo]; - [self setHotKey:@"ToggleLoop"]; - break; - case 405: - [self setKeyCombo:toggleShuffleCombo]; - [self setHotKey:@"ToggleShuffle"]; - break; - case 406: - [self setKeyCombo:trackInfoCombo]; - [self setHotKey:@"TrackInfo"]; - break; - case 407: - [self setKeyCombo:upcomingSongsCombo]; - [self setHotKey:@"UpcomingSongs"]; - break; - case 408: - [self setKeyCombo:volumeIncrementCombo]; - [self setHotKey:@"IncrementVolume"]; - break; - case 409: - [self setKeyCombo:volumeDecrementCombo]; - [self setHotKey:@"DecrementVolume"]; - break; - case 410: - [self setKeyCombo:ratingIncrementCombo]; - [self setHotKey:@"IncrementRating"]; - break; - case 411: - [self setKeyCombo:ratingDecrementCombo]; - [self setHotKey:@"DecrementRating"]; - break; - } -} /*************************************************************************/ -- 2.20.1