Fixed it so that if you double click on the MT icon or call it to open,
[MenuTunes.git] / MainController.m
index 4f5fd13..c2502c5 100755 (executable)
@@ -147,13 +147,13 @@ static MainController *sharedController;
                 withLength:NSSquareStatusItemLength];
     }
     
                 withLength:NSSquareStatusItemLength];
     }
     
-    bling = [[MTBlingController alloc] init];
+    /*bling = [[MTBlingController alloc] init];
     [self blingTime];
     registerTimer = [[NSTimer scheduledTimerWithTimeInterval:10.0
                              target:self
                              selector:@selector(blingTime)
                              userInfo:nil
     [self blingTime];
     registerTimer = [[NSTimer scheduledTimerWithTimeInterval:10.0
                              target:self
                              selector:@selector(blingTime)
                              userInfo:nil
-                             repeats:YES] retain];
+                             repeats:YES] retain];*/
     
     NS_DURING
         if ([[self currentRemote] playerRunningState] == ITMTRemotePlayerRunning) {
     
     NS_DURING
         if ([[self currentRemote] playerRunningState] == ITMTRemotePlayerRunning) {
@@ -174,6 +174,14 @@ static MainController *sharedController;
     [networkController startRemoteServerSearch];
     [NSApp deactivate];
        [self performSelector:@selector(rawr) withObject:nil afterDelay:1.0];
     [networkController startRemoteServerSearch];
     [NSApp deactivate];
        [self performSelector:@selector(rawr) withObject:nil afterDelay:1.0];
+       
+       bling = [[MTBlingController alloc] init];
+    [self blingTime];
+    registerTimer = [[NSTimer scheduledTimerWithTimeInterval:10.0
+                             target:self
+                             selector:@selector(blingTime)
+                             userInfo:nil
+                             repeats:YES] retain];
 }
 
 - (void)rawr
 }
 
 - (void)rawr
@@ -181,13 +189,6 @@ static MainController *sharedController;
        _open = YES;
 }
 
        _open = YES;
 }
 
-- (void)applicationWillBecomeActive:(NSNotification *)note
-{
-       if (_open) {
-               [[MainController sharedController] showPreferences];
-       }
-}
-
 - (ITMTRemote *)loadRemote
 {
     NSString *folderPath = [[NSBundle mainBundle] builtInPlugInsPath];
 - (ITMTRemote *)loadRemote
 {
     NSString *folderPath = [[NSBundle mainBundle] builtInPlugInsPath];
@@ -288,7 +289,7 @@ static MainController *sharedController;
         if ( ([now timeIntervalSinceDate:[self getBlingTime]] >= 604800) && (blinged != YES) ) {
             blinged = YES;
             [statusItem setEnabled:NO];
         if ( ([now timeIntervalSinceDate:[self getBlingTime]] >= 604800) && (blinged != YES) ) {
             blinged = YES;
             [statusItem setEnabled:NO];
-            [self clearHotKeys];
+                       [[ITHotKeyCenter sharedCenter] setEnabled:NO];
             if ([refreshTimer isValid]) {
                 [refreshTimer invalidate];
                                [refreshTimer release];
             if ([refreshTimer isValid]) {
                 [refreshTimer invalidate];
                                [refreshTimer release];
@@ -299,7 +300,7 @@ static MainController *sharedController;
     } else {
         if (blinged) {
             [statusItem setEnabled:YES];
     } else {
         if (blinged) {
             [statusItem setEnabled:YES];
-            [self setupHotKeys];
+            [[ITHotKeyCenter sharedCenter] setEnabled:YES];
             if (![refreshTimer isValid]) {
                 [refreshTimer release];
                 refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:([networkController isConnectedToServer] ? 10.0 : 0.5)
             if (![refreshTimer isValid]) {
                 [refreshTimer release];
                 refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:([networkController isConnectedToServer] ? 10.0 : 0.5)
@@ -380,14 +381,12 @@ static MainController *sharedController;
        if (refreshTimer && identifier == nil) {
                if ([statusItem isEnabled]) {
                        [statusItem setToolTip:@"iTunes not responding."];
        if (refreshTimer && identifier == nil) {
                if ([statusItem isEnabled]) {
                        [statusItem setToolTip:@"iTunes not responding."];
-                       [[ITHotKeyCenter sharedCenter] setEnabled:NO];
                }
                [statusItem setEnabled:NO];
                return;
        } else if (![statusItem isEnabled]) {
                [statusItem setEnabled:YES];
                [statusItem setToolTip:_toolTip];
                }
                [statusItem setEnabled:NO];
                return;
        } else if (![statusItem isEnabled]) {
                [statusItem setEnabled:YES];
                [statusItem setToolTip:_toolTip];
-               [[ITHotKeyCenter sharedCenter] setEnabled:YES];
                return;
        }
        
                return;
        }
        
@@ -430,7 +429,7 @@ static MainController *sharedController;
                                        } else if (title) {
                                                _toolTip = title;
                                        } else {
                                        } else if (title) {
                                                _toolTip = title;
                                        } else {
-                                               _toolTip = @"No Song Playing";
+                                               _toolTip = NSLocalizedString(@"noSongPlaying", @"No song is playing.");
                                        }
                                        [statusItem setToolTip:_toolTip];
                                } else {
                                        }
                                        [statusItem setToolTip:_toolTip];
                                } else {
@@ -456,20 +455,18 @@ static MainController *sharedController;
        if (([[self currentRemote] playerStateUniqueIdentifier] == nil) && playerRunningState == ITMTRemotePlayerRunning) {
                if (refreshTimer) {
                        if ([statusItem isEnabled]) {
        if (([[self currentRemote] playerStateUniqueIdentifier] == nil) && playerRunningState == ITMTRemotePlayerRunning) {
                if (refreshTimer) {
                        if ([statusItem isEnabled]) {
-                               [statusItem setToolTip:@"iTunes not responding."];
-                               [[ITHotKeyCenter sharedCenter] setEnabled:NO];
+                               [statusItem setToolTip:NSLocalizedString(@"iTunesNotResponding", @"iTunes is not responding.")];
                        }
                        [statusItem setEnabled:NO];
                } else {
                        NSMenu *menu = [[NSMenu alloc] init];
                        }
                        [statusItem setEnabled:NO];
                } else {
                        NSMenu *menu = [[NSMenu alloc] init];
-                       [menu addItemWithTitle:@"iTunes Not Responding" action:nil keyEquivalent:@""];
+                       [menu addItemWithTitle:NSLocalizedString(@"iTunesNotResponding", @"iTunes is not responding.") action:nil keyEquivalent:@""];
                        [statusItem setMenu:[menu autorelease]];
                }
                return;
        } else if (![statusItem isEnabled]) {
                [statusItem setEnabled:YES];
                [statusItem setToolTip:_toolTip];
                        [statusItem setMenu:[menu autorelease]];
                }
                return;
        } else if (![statusItem isEnabled]) {
                [statusItem setEnabled:YES];
                [statusItem setToolTip:_toolTip];
-               [[ITHotKeyCenter sharedCenter] setEnabled:YES];
                return;
        }
        
                return;
        }
        
@@ -546,7 +543,7 @@ static MainController *sharedController;
                                } else if (title) {
                                        _toolTip = title;
                                } else {
                                } else if (title) {
                                        _toolTip = title;
                                } else {
-                                       _toolTip = @"No Song Playing";
+                                       _toolTip = NSLocalizedString(@"noSongPlaying", @"No song is playing.");;
                                }
                                [statusItem setToolTip:_toolTip];
                        } else {
                                }
                                [statusItem setToolTip:_toolTip];
                        } else {
@@ -1516,7 +1513,7 @@ static MainController *sharedController;
             [refreshTimer invalidate];
             [refreshTimer release];
             refreshTimer = nil;
             [refreshTimer invalidate];
             [refreshTimer release];
             refreshTimer = nil;
-                       [[NSNotificationCenter defaultCenter] removeObserver:self];
+                       [[NSNotificationCenter defaultCenter] removeObserver:self name:@"ITMTTrackChanged" object:nil];
                        [statusItem setEnabled:YES];
                        [statusItem setToolTip:@"iTunes not running."];
             [self clearHotKeys];
                        [statusItem setEnabled:YES];
                        [statusItem setToolTip:@"iTunes not running."];
             [self clearHotKeys];
@@ -1552,6 +1549,12 @@ static MainController *sharedController;
     [[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
 }
 
     [[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
 }
 
+- (void)applicationDidBecomeActive:(NSNotification *)note
+{
+       if (_open && !blinged && ![NSApp mainWindow] && ([[StatusWindow sharedWindow] exitMode] == ITTransientStatusWindowExitAfterDelay)) {
+               [[MainController sharedController] showPreferences];
+       }
+}
 
 /*************************************************************************/
 #pragma mark -
 
 /*************************************************************************/
 #pragma mark -