diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2023-06-02 13:42:02 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2023-06-03 14:02:45 +0200 |
commit | 0ab091c92f1d214ebee01e9e26725e15497bdd53 (patch) | |
tree | e8263993b547e28447e8e798141843cd6c676922 | |
parent | 8983225d3c20967d23b23d3071988a66df4e29f5 (diff) |
macOS: Disable minimize button for Qt::Dialog windows by default
Regression after 4c78ef80ca7573cd2eb054cdf1667837b43e6c58, where
we moved the window titlebar button logic from QCocoaWindow's
windowStyleMask function to updateTitleBarButtons.
Fixes: QTBUG-114064
Pick-to: 6.5
Change-Id: Idb0870571e88fa2962af36decd9bc7b53c35664d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 205dfbaf9f..fc896d65f8 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -553,10 +553,17 @@ void QCocoaWindow::updateTitleBarButtons(Qt::WindowFlags windowFlags) bool hideButtons = true; for (const auto &[button, buttonHint] : buttons) { + // Set up Qt defaults based on window type bool enabled = true; + if (button == NSWindowMiniaturizeButton) + enabled = window()->type() != Qt::Dialog; + + // Let users override via CustomizeWindowHint if (windowFlags & Qt::CustomizeWindowHint) enabled = windowFlags & buttonHint; + // Then do some final sanitizations + if (button == NSWindowZoomButton && isFixedSize()) enabled = false; |