diff options
author | Bibiko <bibiko@eva.mpg.de> | 2009-08-21 19:10:39 +0000 |
---|---|---|
committer | Bibiko <bibiko@eva.mpg.de> | 2009-08-21 19:10:39 +0000 |
commit | a946912ea562fe7eb02ec51b77420e63db3a38da (patch) | |
tree | 5d4d6bec7626196c376cc190b426ebea020d28ab /Source/TableDocument.m | |
parent | 2b4af74516353df1a8e4db256a2b3e58f319ed94 (diff) | |
download | sequelpro-a946912ea562fe7eb02ec51b77420e63db3a38da.tar.gz sequelpro-a946912ea562fe7eb02ec51b77420e63db3a38da.tar.bz2 sequelpro-a946912ea562fe7eb02ec51b77420e63db3a38da.zip |
• an attempt to improve the cascading of new connection windows for large windows
Diffstat (limited to 'Source/TableDocument.m')
-rw-r--r-- | Source/TableDocument.m | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/TableDocument.m b/Source/TableDocument.m index 52d3fe2c..86763614 100644 --- a/Source/TableDocument.m +++ b/Source/TableDocument.m @@ -102,6 +102,23 @@ NSPoint topLeftPoint = previousFrame.origin; topLeftPoint.y += previousFrame.size.height; [tableWindow setFrameTopLeftPoint:[tableWindow cascadeTopLeftFromPoint:topLeftPoint]]; + + // iTry to check if new frame fits into the screen + NSRect screenFrame = [[NSScreen mainScreen] frame]; + NSScreen* candidate; + for(candidate in [NSScreen screens]) + if(NSMinX([candidate frame]) < topLeftPoint.x && NSMinX([candidate frame]) > NSMinX(screenFrame)) + screenFrame = [candidate frame]; + + previousFrame = [tableWindow frame]; + topLeftPoint = previousFrame.origin; + if(topLeftPoint.x + previousFrame.size.width > screenFrame.size.width-1) { + previousFrame.size.width -= 50; + previousFrame.size.height -= 50; + previousFrame.origin.y += 50; + [tableWindow setFrame:previousFrame display:YES]; + } + } // Set up the toolbar |