aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/TableDocument.m17
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