From 5405490ed4a90734c98f5d2cecc9b2e923fd72aa Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Mon, 2 Feb 2009 18:46:03 -0500 Subject: [PATCH] Check if we are deleting the currently selected server - if so, make sure we call disconnect before returning. --- iPhoto2Ansel/AnselExportController.m | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index cc618e679..fc7bc2036 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -111,17 +111,20 @@ NSString * const TURAnselServerPasswordKey = @"password"; } // Remove the selected server from the saved list. -// TODO: Sanity checks - make sure we don't delete the current server, -// or disconnect first etc... - (IBAction)removeServer: (id)sender { + NSTableColumn *theCol = [serverTable tableColumnWithIdentifier:@"nickname"]; + + // We are deleting the entry for the currently selected server - make sure + // we disconnect. + if ([currentServer objectForKey:TURAnselServerNickKey] == [[theCol dataCell] stringValue]) { + [self disconnect]; + } NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults]; [anselServers removeObjectAtIndex: [serverTable selectedRow]]; [userPrefs setObject:anselServers forKey:TURAnselServersKey]; [userPrefs synchronize]; - NSLog(@"Attempting to reload"); [serverTable reloadData]; - NSLog(@"Reloaded"); [self updateServersPopupMenu]; } @@ -131,11 +134,6 @@ NSString * const TURAnselServerPasswordKey = @"password"; if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 1) { // Server list [self showServerListPanel]; - - // Disconnect from the current server. - // TODO: See which server we deleted and only disconnect if that was the - // one we removed. - [self disconnect]; } else if ([mServersPopUp indexOfSelectedItem] == [mServersPopUp numberOfItems] - 2) { // New Server [self showNewServerSheet]; -- 2.11.0