hotKeysArray = [[NSArray alloc] initWithObjects:@"PlayPause",
@"NextTrack",
@"PrevTrack",
+ @"FastForward",
+ @"Rewind",
@"ShowPlayer",
@"TrackInfo",
@"UpcomingSongs",
@"DecrementRating",
@"ToggleShuffle",
@"ToggleLoop",
+ @"PopupMenu",
+ @"SetRating0",
+ @"SetRating1",
+ @"SetRating2",
+ @"SetRating3",
+ @"SetRating4",
+ @"SetRating5",
nil];
hotKeyNamesArray = [[NSArray alloc] initWithObjects:@"Play/Pause",
@"Next Track",
@"Previous Track",
+ @"Fast Forward",
+ @"Rewind",
@"Show Player",
@"Track Info",
@"Upcoming Songs",
@"Decrement Rating",
@"Toggle Shuffle",
@"Toggle Loop",
+ @"Pop-up status menu",
+ [NSString stringWithUTF8String:"Set Rating: ☆☆☆☆☆"],
+ [NSString stringWithUTF8String:"Set Rating: ★☆☆☆☆"],
+ [NSString stringWithUTF8String:"Set Rating: ★★☆☆☆"],
+ [NSString stringWithUTF8String:"Set Rating: ★★★☆☆"],
+ [NSString stringWithUTF8String:"Set Rating: ★★★★☆"],
+ [NSString stringWithUTF8String:"Set Rating: ★★★★★"],
nil];
hotKeysDictionary = [[NSMutableDictionary alloc] init];
controller = nil;
[self setupUI]; // Sets up additional UI
[window setDelegate:self];
[menuTableView reloadData];
+ [hotKeysTableView reloadData];
[hotKeysTableView setDoubleAction:@selector(hotKeysTableViewDoubleClicked:)];
//Change the launch player checkbox to the proper name
{
ITDebugLog(@"Changing general setting of tag %i.", [sender tag]);
if ( [sender tag] == 1010) {
- //ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], SENDER_STATE);
+ ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], SENDER_STATE);
} else if ( [sender tag] == 1020) {
[df setBool:SENDER_STATE forKey:@"LaunchPlayerWithMT"];
} else if ( [sender tag] == 1030) {
[df setInteger:[sender intValue] forKey:@"SongsInAdvance"];
if ([[controller currentRemote] playerRunningState] == ITMTRemotePlayerRunning) {
- [[controller menuController] rebuildSubmenus];
+ [[controller menuController] performSelector:@selector(rebuildSubmenus) withObject:nil afterDelay:0];
}
} else if ( [sender tag] == 1040) {
// This will not be executed. Song info always shows the title of the song.
[df setBool:SENDER_STATE forKey:@"showTime"];
} else if ( [sender tag] == 1080) {
[df setBool:SENDER_STATE forKey:@"showTrackNumber"];
+ } else if ( [sender tag] == 1085) {
+ [df setBool:SENDER_STATE forKey:@"showPlayCount"];
} else if ( [sender tag] == 1090) {
[df setBool:SENDER_STATE forKey:@"showTrackRating"];
} else if ( [sender tag] == 1100) {
[df synchronize];
- /*if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) {
+ if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) {
[[StatusWindowController sharedController] showSetupQueryWindow];
- }*/
+ }
}
- (void)autoLaunchOK
[[StatusWindow sharedWindow] vanish:self];
[[StatusWindow sharedWindow] setIgnoresMouseEvents:YES];
- //ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], YES);
+ ITSetApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath], YES);
}
- (void)autoLaunchCancel
@"trackInfo",
@"upcomingSongs",
@"playlists",
+ @"artists",
@"eqPresets",
@"songRating",
@"playPause",
submenuItems = [[NSArray alloc] initWithObjects:
@"upcomingSongs",
@"playlists",
+ @"artists",
@"eqPresets",
@"songRating",
nil];
[composerCheckbox setState:[df boolForKey:@"showComposer"] ? NSOnState : NSOffState];
[trackTimeCheckbox setState:[df boolForKey:@"showTime"] ? NSOnState : NSOffState];
[trackNumberCheckbox setState:[df boolForKey:@"showTrackNumber"] ? NSOnState : NSOffState];
+ [playCountCheckbox setState:[df boolForKey:@"showPlayCount"] ? NSOnState : NSOffState];
[ratingCheckbox setState:[df boolForKey:@"showTrackRating"] ? NSOnState : NSOffState];
[albumArtworkCheckbox setState:[df boolForKey:@"showAlbumArtwork"] ? NSOnState : NSOffState];
// Set the launch at login checkbox state
ITDebugLog(@"Setting launch at login state.");
- /*if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) {
+ if (ITDoesApplicationLaunchOnLogin([[NSBundle mainBundle] bundlePath])) {
[launchAtLoginCheckbox setState:NSOnState];
- }*/
+ }
// Set the launch player checkbox state
ITDebugLog(@"Setting launch player with MenuTunes state.");
[df setObject:myItems forKey:@"menu"];
[df synchronize];
+ [[controller menuController] performSelector:@selector(rebuildSubmenus) withObject:nil afterDelay:0.0];
+
//If we're connected over a network, refresh the menu immediately
if ([[NetworkController sharedController] isConnectedToServer]) {
[controller timerUpdate];