From 33bb49ba251ff2fb111d1cb393476e0ec0a84e34 Mon Sep 17 00:00:00 2001 From: Prasanth Ullattil Date: Tue, 24 Nov 2009 10:49:01 +0100 Subject: Maximizing a window makes it a bit smaller that the minimum size:Cocoa When returning preferred sizes for the frame, we should consider the size for non client area elements like frame, tittlebar etc. Task-number: 6090 Reviewed-by: Denis --- src/gui/kernel/qcocoawindowdelegate_mac.mm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm index 9fb674e..8a22a65 100644 --- a/src/gui/kernel/qcocoawindowdelegate_mac.mm +++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm @@ -324,8 +324,13 @@ static void cleanupCocoaWindowDelegate() NSRect frameToReturn = defaultFrame; QWidget *qwidget = m_windowHash->value(window); QSizeF size = qwidget->maximumSize(); - frameToReturn.size.width = qMin(frameToReturn.size.width, size.width()); - frameToReturn.size.height = qMin(frameToReturn.size.height, size.height()); + NSRect windowFrameRect = [window frame]; + NSRect viewFrameRect = [[window contentView] frame]; + // consider additional size required for titlebar & frame + frameToReturn.size.width = qMin(frameToReturn.size.width, + size.width()+(windowFrameRect.size.width - viewFrameRect.size.width)); + frameToReturn.size.height = qMin(frameToReturn.size.height, + size.height()+(windowFrameRect.size.height - viewFrameRect.size.height)); return frameToReturn; } -- cgit v0.12