More fun times with network prefs.
[MenuTunes.git] / MainController.m
index a9e67e9..5637bae 100755 (executable)
@@ -42,6 +42,7 @@ static MainController *sharedController;
         statusWindowController = [StatusWindowController sharedController];
         menuController = [[MenuController alloc] init];
         df = [[NSUserDefaults standardUserDefaults] retain];
+        [[PreferencesController sharedPrefs] setController:self];
         timerUpdating = NO;
         blinged = NO;
     }
@@ -63,7 +64,7 @@ static MainController *sharedController;
     if ([df boolForKey:@"enableSharing"]) {
         [self setServerStatus:YES];
     } else if ([df boolForKey:@"useSharedPlayer"]) {
-        if (![self connectToServer]) {
+        if ([self connectToServer] == 0) {
             [NSTimer scheduledTimerWithTimeInterval:45 target:self selector:@selector(checkForRemoteServer:) userInfo:nil repeats:YES];
         }
     }
@@ -472,7 +473,6 @@ static MainController *sharedController;
 - (void)showPreferences
 {
     ITDebugLog(@"Show preferences.");
-    [[PreferencesController sharedPrefs] setController:self];
     [[PreferencesController sharedPrefs] showPrefsWindow:self];
 }
 
@@ -943,27 +943,27 @@ static MainController *sharedController;
     }
 }
 
-- (BOOL)connectToServer
+- (int)connectToServer
 {
     int result;
     ITDebugLog(@"Attempting to connect to shared remote.");
     result = [networkController connectToHost:[df stringForKey:@"sharedPlayerHost"]];
     //Connect
     if (result == 1) {
+        [[PreferencesController sharedPrefs] resetRemotePlayerTextFields];
         currentRemote = [[[networkController networkObject] remote] retain];
         [self timerUpdate];
-        //[refreshTimer invalidate];
         ITDebugLog(@"Connection successful.");
-        return YES;
+        return 1;
     } else if (result == 0) {
         ITDebugLog(@"Connection failed.");
         currentRemote = [remoteArray objectAtIndex:0];
-        return NO;
-    } else if (result == -1) {
+        return 0;
+    } else {
+        //Do something about the password being invalid
         ITDebugLog(@"Connection failed.");
         currentRemote = [remoteArray objectAtIndex:0];
-        return NO;
-        //Do something about the password being invalid
+        return -1;
     }
 }
 
@@ -999,6 +999,7 @@ static MainController *sharedController;
     if ([[exception name] isEqualToString:NSPortTimeoutException] && [networkController isConnectedToServer]) {
         NSRunCriticalAlertPanel(@"Remote MenuTunes Disconnected", @"The MenuTunes server you were connected to stopped responding or quit. MenuTunes will revert back to the local player.", @"OK", nil, nil);
         if ([self disconnectFromServer]) {
+            [[PreferencesController sharedPrefs] resetRemotePlayerTextFields];
             [NSTimer scheduledTimerWithTimeInterval:45 target:self selector:@selector(checkForRemoteServer:) userInfo:nil repeats:YES];
         } else {
             ITDebugLog(@"CRITICAL ERROR, DISCONNECTING!");
@@ -1008,7 +1009,7 @@ static MainController *sharedController;
 
 - (void)reconnect
 {
-    if (![self connectToServer]) {
+    if ([self connectToServer] == 0) {
         [NSTimer scheduledTimerWithTimeInterval:45 target:self selector:@selector(checkForRemoteServer:) userInfo:nil repeats:YES];
     }
     [[StatusWindow sharedWindow] setLocked:NO];
@@ -1075,8 +1076,8 @@ static MainController *sharedController;
 
 - (void)applicationWillTerminate:(NSNotification *)note
 {
-    [self clearHotKeys];
     [networkController stopRemoteServerSearch];
+    [self clearHotKeys];
     [[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
 }
 
@@ -1097,5 +1098,4 @@ static MainController *sharedController;
     [super dealloc];
 }
 
-
 @end
\ No newline at end of file