From 2a6c654d165c207281d10295ebcc40b3cae864ea Mon Sep 17 00:00:00 2001 From: rowanbeentje Date: Sun, 19 Dec 2010 22:58:58 +0000 Subject: - Fix duplicate/parallel connection attempts when double-clicking on the selected favourite in the connection outline view; this addresses Issue #924. - Correctly restore the interface after an SSH connection attempt fails - Prevent SSH connections from being started twice, eg via return key followed by a double click --- Source/SPConnectionController.m | 7 ++++--- Source/SPConnectionControllerDelegate.m | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/SPConnectionController.m b/Source/SPConnectionController.m index aaff9687..4e8338aa 100644 --- a/Source/SPConnectionController.m +++ b/Source/SPConnectionController.m @@ -248,6 +248,9 @@ isConnecting = YES; cancellingConnection = NO; + // Disable the favorites outline view to prevent further connections attempts + [favoritesTable setEnabled:NO]; + [addToFavoritesButton setHidden:YES]; [addToFavoritesButton display]; [helpButton setHidden:YES]; @@ -387,6 +390,7 @@ if (newState == PROXY_STATE_IDLE) { [tableDocument setTitlebarStatus:NSLocalizedString(@"SSH Disconnected", @"SSH disconnected titlebar marker")]; [self failConnectionWithTitle:NSLocalizedString(@"SSH connection failed!", @"SSH connection failed title") errorMessage:[theTunnel lastError] detail:[sshTunnel debugMessages]]; + [self _restoreConnectionInterface]; } else if (newState == PROXY_STATE_CONNECTED) { [tableDocument setTitlebarStatus:NSLocalizedString(@"SSH Connected", @"SSH connected titlebar marker")]; [self initiateMySQLConnection]; @@ -400,9 +404,6 @@ */ - (void)initiateMySQLConnection { - // Disable the favorites table view to prevent further connections attempts - [favoritesTable setEnabled:NO]; - if (sshTunnel) [progressIndicatorText setStringValue:NSLocalizedString(@"MySQL connecting...", @"MySQL connecting very short status message")]; else diff --git a/Source/SPConnectionControllerDelegate.m b/Source/SPConnectionControllerDelegate.m index a2653c5a..6bb0ee47 100644 --- a/Source/SPConnectionControllerDelegate.m +++ b/Source/SPConnectionControllerDelegate.m @@ -218,7 +218,7 @@ */ - (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableColumn *)tableColumn item:(id)item { - [self initiateConnection:self]; + if (!isConnecting) [self initiateConnection:self]; return NO; } @end -- cgit v1.2.3