X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/35f6b7135a40f5d95777b74f84bc90db2a33ad2b..7eff668a73d0965a793c7956d9553f539ca30f65:/PreferencesController.m diff --git a/PreferencesController.m b/PreferencesController.m index 4f43e26..ea1831f 100755 --- a/PreferencesController.m +++ b/PreferencesController.m @@ -1,5 +1,5 @@ #import "PreferencesController.h" -#import "NewMainController.h" +#import "MainController.h" #import "HotKeyCenter.h" #import @@ -145,6 +145,7 @@ static PreferencesController *prefs = nil; - (IBAction)changeHotKey:(id)sender { + [controller clearHotKeys]; switch ([sender tag]) { case 4010: @@ -160,8 +161,8 @@ static PreferencesController *prefs = nil; [self setCurrentHotKey:@"PrevTrack"]; break; case 4035: - [self setKeyCombo:[hotKeysDictionary objectForKey:@"ToggleVisualizer"]]; - [self setCurrentHotKey:@"ToggleVisualizer"]; + [self setKeyCombo:[hotKeysDictionary objectForKey:@"ShowPlayer"]]; + [self setCurrentHotKey:@"ShowPlayer"]; break; case 4040: [self setKeyCombo:[hotKeysDictionary objectForKey:@"ToggleLoop"]]; @@ -207,21 +208,22 @@ static PreferencesController *prefs = nil; id anItem; [df setObject:[NSArray arrayWithObjects: - @"Play/Pause", - @"Next Track", - @"Previous Track", - @"Fast Forward", - @"Rewind", - @"Show Player", - @"", - @"Upcoming Songs", - @"Playlists", - @"Song Rating", - @"", - @"Preferences", - @"Quit", - @"", - @"Current Track Info", + @"playPause", + @"prevTrack", + @"nextTrack", + @"fastForward", + @"rewind", + @"showPlayer", + @"separator", + @"songRating", + @"eqPresets", + @"playlists", + @"upcomingSongs", + @"separator", + @"preferences", + @"quit", + @"separator", + @"trackInfo", nil] forKey:@"menu"]; [df setInteger:5 forKey:@"SongsInAdvance"]; @@ -247,7 +249,7 @@ static PreferencesController *prefs = nil; // This is teh sux // We must fix it so it is no longer suxy if (!found) { - if (NSRunInformationalAlertPanel(@"Auto-launch MenuTunes", @"Would you like MenuTunes to automatically launch at login?", @"Yes", @"No", nil) == NSOKButton) { + if (NSRunInformationalAlertPanel(NSLocalizedString(@"autolaunch", @"Auto-launch MenuTunes"), NSLocalizedString(@"autolaunch_msg", @"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]]; ComponentInstance asComponent = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype); @@ -292,7 +294,7 @@ static PreferencesController *prefs = nil; if (![combo isEqual:[KeyCombo clearKeyCombo]] && [combo isEqual:[hotKeysDictionary objectForKey:enumKey]]) { [window setLevel:NSNormalWindowLevel]; - if ( NSRunAlertPanel(@"Duplicate Key Combo", @"The specified key combo is already in use...", @"Replace", @"Cancel", nil) ) { + if ( NSRunAlertPanel(NSLocalizedString(@"duplicateCombo", @"Duplicate Key Combo") , NSLocalizedString(@"duplicateCombo_msg", @"The specified key combo is already in use..."), NSLocalizedString(@"replace", @"Replace"), NSLocalizedString(@"cancel", @"Cancel"), nil) ) { [hotKeysDictionary setObject:[KeyCombo clearKeyCombo] forKey:currentHotKey]; if ([enumKey isEqualToString:@"PlayPause"]) { [playPauseButton setTitle:@""]; @@ -300,8 +302,8 @@ static PreferencesController *prefs = nil; [nextTrackButton setTitle:@""]; } else if ([enumKey isEqualToString:@"PrevTrack"]) { [previousTrackButton setTitle:@""]; - } else if ([enumKey isEqualToString:@"ToggleVisualizer"]) { - [visualizerButton setTitle:@""]; + } else if ([enumKey isEqualToString:@"ShowPlayer"]) { + [showPlayerButton setTitle:@""]; } else if ([enumKey isEqualToString:@"TrackInfo"]) { [trackInfoButton setTitle:@""]; } else if ([enumKey isEqualToString:@"UpcomingSongs"]) { @@ -333,41 +335,42 @@ static PreferencesController *prefs = nil; if ([currentHotKey isEqualToString:@"PlayPause"]) { [playPauseButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"PlayPause" combo:combo target:[MainController sharedController] action:@selector(playPause)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"PlayPause" combo:combo target:[MainController sharedController] action:@selector(playPause)]; } else if ([currentHotKey isEqualToString:@"NextTrack"]) { [nextTrackButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"NextTrack" combo:combo target:[MainController sharedController] action:@selector(nextSong)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"NextTrack" combo:combo target:[MainController sharedController] action:@selector(nextSong)]; } else if ([currentHotKey isEqualToString:@"PrevTrack"]) { [previousTrackButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"PrevTrack" combo:combo target:[MainController sharedController] action:@selector(prevSong)]; - } else if ([currentHotKey isEqualToString:@"ToggleVisualizer"]) { - [visualizerButton setTitle:string]; - //[[HotKeyCenter sharedCenter] addHotKey:@"ToggleVisualizer" combo:combo target:[MainController sharedController] selector:@selector(NULL)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"PrevTrack" combo:combo target:[MainController sharedController] action:@selector(prevSong)]; + } else if ([currentHotKey isEqualToString:@"ShowPlayer"]) { + [showPlayerButton setTitle:string]; + //[[HotKeyCenter sharedCenter] addHotKey:@"ShowPlayer" combo:combo target:[MainController sharedController] action:@selector(showPlayer)]; } else if ([currentHotKey isEqualToString:@"TrackInfo"]) { [trackInfoButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo" combo:combo target:[MainController sharedController] action:@selector(showCurrentTrackInfo)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"TrackInfo" combo:combo target:[MainController sharedController] action:@selector(showCurrentTrackInfo)]; } else if ([currentHotKey isEqualToString:@"UpcomingSongs"]) { [upcomingSongsButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"UpcomingSongs" combo:combo target:[MainController sharedController] action:@selector(showUpcomingSongs)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"UpcomingSongs" combo:combo target:[MainController sharedController] action:@selector(showUpcomingSongs)]; } else if ([currentHotKey isEqualToString:@"IncrementVolume"]) { [volumeIncrementButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"IncrementVolume" combo:combo target:[MainController sharedController] action:@selector(incrementVolume)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"IncrementVolume" combo:combo target:[MainController sharedController] action:@selector(incrementVolume)]; } else if ([currentHotKey isEqualToString:@"DecrementVolume"]) { [volumeDecrementButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"DecrementVolume" combo:combo target:[MainController sharedController] action:@selector(decrementVolume)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"DecrementVolume" combo:combo target:[MainController sharedController] action:@selector(decrementVolume)]; } else if ([currentHotKey isEqualToString:@"IncrementRating"]) { [ratingIncrementButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"IncrementRating" combo:combo target:[MainController sharedController] action:@selector(incrementRating)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"IncrementRating" combo:combo target:[MainController sharedController] action:@selector(incrementRating)]; } else if ([currentHotKey isEqualToString:@"DecrementRating"]) { [ratingDecrementButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"DecrementRating" combo:combo target:[MainController sharedController] action:@selector(decrementRating)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"DecrementRating" combo:combo target:[MainController sharedController] action:@selector(decrementRating)]; } else if ([currentHotKey isEqualToString:@"ToggleShuffle"]) { [toggleShuffleButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"ToggleShuffle" combo:combo target:[MainController sharedController] action:@selector(toggleShuffle)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"ToggleShuffle" combo:combo target:[MainController sharedController] action:@selector(toggleShuffle)]; } else if ([currentHotKey isEqualToString:@"ToggleLoop"]) { [toggleLoopButton setTitle:string]; - [[HotKeyCenter sharedCenter] addHotKey:@"ToggleLoop" combo:combo target:[MainController sharedController] action:@selector(toggleLoop)]; + //[[HotKeyCenter sharedCenter] addHotKey:@"ToggleLoop" combo:combo target:[MainController sharedController] action:@selector(toggleLoop)]; } + [controller setupHotKeys]; [self cancelHotKey:sender]; } @@ -421,8 +424,8 @@ static PreferencesController *prefs = nil; - (void)setupWindow { - if ( ! [NSBundle loadNibNamed:@"Preferences" owner:self] ) { - NSLog( @"Failed to load Preferences.nib" ); + if (![NSBundle loadNibNamed:@"Preferences" owner:self]) { + NSLog(@"MenuTunes: Failed to load Preferences.nib"); NSBeep(); return; } @@ -454,18 +457,18 @@ static PreferencesController *prefs = nil; id anItem; // Set the list of items you can have. availableItems = [[NSMutableArray alloc] initWithObjects: - @"Current Track Info", - @"Upcoming Songs", - @"Playlists", - @"EQ Presets", - @"Song Rating", - @"Play/Pause", - @"Next Track", - @"Previous Track", - @"Fast Forward", - @"Rewind", - @"Show Player", - @"", + @"trackInfo", + @"upcomingSongs", + @"playlists", + @"eqPresets", + @"songRating", + @"playPause", + @"nextTrack", + @"prevTrack", + @"fastForward", + @"rewind", + @"showPlayer", + @"separator", nil]; // Get our preferred menu @@ -474,17 +477,17 @@ static PreferencesController *prefs = nil; // Delete items in the availableItems array that are already part of the menu itemEnum = [myItems objectEnumerator]; while ( (anItem = [itemEnum nextObject]) ) { - if ( ! [anItem isEqualToString:@""] ) { + if (![anItem isEqualToString:@"separator"]) { [availableItems removeObject:anItem]; } } // Items that show should a submenu image submenuItems = [[NSArray alloc] initWithObjects: - @"Upcoming Songs", - @"Playlists", - @"EQ Presets", - @"Song Rating", + @"upcomingSongs", + @"playlists", + @"eqPresets", + @"songRating", nil]; } @@ -499,7 +502,7 @@ static PreferencesController *prefs = nil; [songsInAdvance setIntValue:[df integerForKey:@"SongsInAdvance"]]; // Fill in hot key buttons - if ([df objectForKey:@"PlayPause"]){ + if ([df objectForKey:@"PlayPause"]) { anItem = [df keyComboForKey:@"PlayPause"]; [hotKeysDictionary setObject:anItem forKey:@"PlayPause"]; [playPauseButton setTitle:[anItem userDisplayRep]]; @@ -523,12 +526,12 @@ static PreferencesController *prefs = nil; [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"PrevTrack"]; } - if ([df objectForKey:@"ToggleVisualizer"]) { - anItem = [df keyComboForKey:@"ToggleVisualizer"]; - [hotKeysDictionary setObject:anItem forKey:@"ToggleVisualizer"]; - [visualizerButton setTitle:[anItem userDisplayRep]]; + if ([df objectForKey:@"ShowPlayer"]) { + anItem = [df keyComboForKey:@"ShowPlayer"]; + [hotKeysDictionary setObject:anItem forKey:@"ShowPlayer"]; + [showPlayerButton setTitle:[anItem userDisplayRep]]; } else { - [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"ToggleVisualizer"]; + [hotKeysDictionary setObject:[KeyCombo keyCombo] forKey:@"ShowPlayer"]; } if ([df objectForKey:@"TrackInfo"]) { @@ -627,7 +630,7 @@ static PreferencesController *prefs = nil; if ( flag ) { NSMutableDictionary *loginwindow; NSMutableArray *loginarray; - ComponentInstance temp = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype);; + ComponentInstance temp = OpenDefaultComponent(kOSAComponentType, kAppleScriptSubtype); int i; BOOL skip = NO; @@ -709,9 +712,9 @@ static PreferencesController *prefs = nil; if ([[aTableColumn identifier] isEqualToString:@"name"]) { NSString *object = [myItems objectAtIndex:rowIndex]; if ([object isEqualToString:@"Show Player"]) { - return [NSString stringWithFormat:@"Show %@", [[controller currentRemote] playerSimpleName]]; + return [NSString stringWithFormat:@"%@ %@", NSLocalizedString(@"show", @"Show"), [[controller currentRemote] playerSimpleName]]; } - return object; + return NSLocalizedString(object, @"ERROR"); } else { if ([submenuItems containsObject:[myItems objectAtIndex:rowIndex]]) { @@ -722,7 +725,7 @@ static PreferencesController *prefs = nil; } } else { if ([[aTableColumn identifier] isEqualToString:@"name"]) { - return [availableItems objectAtIndex:rowIndex]; + return NSLocalizedString([availableItems objectAtIndex:rowIndex], @"ERROR"); } else { if ([submenuItems containsObject:[availableItems objectAtIndex:rowIndex]]) { return [NSImage imageNamed:@"submenu"]; @@ -761,17 +764,17 @@ static PreferencesController *prefs = nil; dragData = [pb stringForType:@"MenuTableViewPboardType"]; dragRow = [dragData intValue]; temp = [myItems objectAtIndex:dragRow]; - [myItems removeObjectAtIndex:dragRow]; - if (tableView == menuTableView) { + [myItems insertObject:temp atIndex:row]; if (row > dragRow) { - [myItems insertObject:temp atIndex:row - 1]; + [myItems removeObjectAtIndex:dragRow]; } else { - [myItems insertObject:temp atIndex:row]; + [myItems removeObjectAtIndex:dragRow + 1]; } } else { - if (![temp isEqualToString:@""]) { + if (![temp isEqualToString:@"separator"]) { [availableItems addObject:temp]; + [myItems removeObjectAtIndex:dragRow]; } } } else if ([[pb types] containsObject:@"AllTableViewPboardType"]) { @@ -779,10 +782,11 @@ static PreferencesController *prefs = nil; dragRow = [dragData intValue]; temp = [availableItems objectAtIndex:dragRow]; - if (![temp isEqualToString:@""]) { + [myItems insertObject:temp atIndex:row]; + + if (![temp isEqualToString:@"separator"]) { [availableItems removeObjectAtIndex:dragRow]; } - [myItems insertObject:temp atIndex:row]; } [menuTableView reloadData];