OS X: a dialog should always have an enabled titlebar close button
regardless of modality. Task-number: QTBUG-28385 Task-number: QTCREATORBUG-9264 Change-Id: Iaa608f6e742686d4068547766ec596e37c696a07 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
This commit is contained in:
parent
15188f2599
commit
66e3e1f75b
@ -450,7 +450,6 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
|
||||
{
|
||||
Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask));
|
||||
NSInteger styleMask = NSBorderlessWindowMask;
|
||||
|
||||
if ((type & Qt::Popup) == Qt::Popup) {
|
||||
if (!windowIsPopupType(type) && !(flags & Qt::FramelessWindowHint))
|
||||
styleMask = (NSUtilityWindowMask | NSResizableWindowMask | NSClosableWindowMask |
|
||||
@ -458,14 +457,21 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
|
||||
} else {
|
||||
// Filter flags for supported properties
|
||||
flags &= Qt::WindowType_Mask | Qt::FramelessWindowHint | Qt::WindowTitleHint |
|
||||
Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint;
|
||||
Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint | Qt::CustomizeWindowHint;
|
||||
if (flags == Qt::Window) {
|
||||
styleMask = (NSResizableWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSTitledWindowMask);
|
||||
} else if ((flags & Qt::Dialog) == Qt::Dialog) {
|
||||
if (window()->modality() == Qt::NonModal)
|
||||
if (flags & Qt::CustomizeWindowHint) {
|
||||
styleMask = NSResizableWindowMask;
|
||||
if (flags & Qt::WindowTitleHint)
|
||||
styleMask |= NSTitledWindowMask;
|
||||
if (flags & Qt::WindowCloseButtonHint)
|
||||
styleMask |= NSClosableWindowMask;
|
||||
if (flags & Qt::WindowMinimizeButtonHint)
|
||||
styleMask |= NSMiniaturizableWindowMask;
|
||||
} else {
|
||||
styleMask = NSResizableWindowMask | NSClosableWindowMask | NSTitledWindowMask;
|
||||
else
|
||||
styleMask = NSResizableWindowMask | NSTitledWindowMask;
|
||||
}
|
||||
} else if (!(flags & Qt::FramelessWindowHint)) {
|
||||
if ((flags & Qt::Dialog) || (flags & Qt::WindowMaximizeButtonHint))
|
||||
styleMask |= NSResizableWindowMask;
|
||||
|
Loading…
Reference in New Issue
Block a user