aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/SPDatabaseDocument.m15
1 files changed, 9 insertions, 6 deletions
diff --git a/Source/SPDatabaseDocument.m b/Source/SPDatabaseDocument.m
index bc1acb22..6fa097c1 100644
--- a/Source/SPDatabaseDocument.m
+++ b/Source/SPDatabaseDocument.m
@@ -4468,6 +4468,7 @@ static int64_t SPDatabaseDocumentInstanceCounter = 0;
{
// Coax the main split view into actually checking its constraints
[contentViewSplitter setPosition:[[[contentViewSplitter subviews] objectAtIndex:0] bounds].size.width ofDividerAtIndex:0];
+
// If the task interface is visible, and this tab is frontmost, re-center the task child window
if (_isWorkingLevel && [parentWindowController selectedTableDocument] == self) [self centerTaskWindow];
}
@@ -4476,17 +4477,19 @@ static int64_t SPDatabaseDocumentInstanceCounter = 0;
/**
* Set the parent window
*/
-- (void)setParentWindow:(NSWindow *)aWindow
+- (void)setParentWindow:(NSWindow *)window
{
-#ifndef SP_CODA
+ NSWindow *outlineViewWindow = [(NSView *)[connectionController favoritesOutlineView] window];
+
// If the window is being set for the first time - connection controller is visible - update focus
- if (!parentWindow && !mySQLConnection) {
- [aWindow makeFirstResponder:(NSResponder *)[connectionController favoritesOutlineView]];
+ if (!parentWindow && !mySQLConnection && window == outlineViewWindow) {
+ [window makeFirstResponder:(NSResponder *)[connectionController favoritesOutlineView]];
}
-#endif
- parentWindow = aWindow;
+ parentWindow = window;
+
SPSSHTunnel *currentTunnel = [connectionController valueForKeyPath:@"sshTunnel"];
+
if (currentTunnel) [currentTunnel setParentWindow:parentWindow];
}