- [menuController rebuildSubmenus];
-
- if ( [df boolForKey:@"showSongInfoOnChange"] ) {
- [self performSelector:@selector(showCurrentTrackInfo) withObject:nil afterDelay:0.0];
- }
-
- [self setLatestSongIdentifier:[[self currentRemote] playerStateUniqueIdentifier]];
-
- //Create the tooltip for the status item
- if ( [df boolForKey:@"showToolTip"] ) {
- NSString *artist = [[self currentRemote] currentSongArtist];
- NSString *title = [[self currentRemote] currentSongTitle];
- NSString *toolTip;
- ITDebugLog(@"Creating status item tooltip.");
- if (artist) {
- toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title];
- } else if (title) {
- toolTip = title;
- } else {
- toolTip = @"No Song Playing";
- }
- [statusItem setToolTip:toolTip];
- } else {
- [statusItem setToolTip:nil];
- }
+
+ if ([menuController rebuildSubmenus]) {
+ if ( [df boolForKey:@"showSongInfoOnChange"] ) {
+ [self performSelector:@selector(showCurrentTrackInfo) withObject:nil afterDelay:0.0];
+ }
+ [self setLatestSongIdentifier:identifier];
+ //Create the tooltip for the status item
+ if ( [df boolForKey:@"showToolTip"] ) {
+ NSString *artist = [[self currentRemote] currentSongArtist];
+ NSString *title = [[self currentRemote] currentSongTitle];
+ ITDebugLog(@"Creating status item tooltip.");
+ if (artist) {
+ _toolTip = [NSString stringWithFormat:@"%@ - %@", artist, title];
+ } else if (title) {
+ _toolTip = title;
+ } else {
+ _toolTip = @"No Song Playing";
+ }
+ [statusItem setToolTip:_toolTip];
+ } else {
+ [statusItem setToolTip:nil];
+ }
+ }