diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-10-29 08:44:40 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@digia.com> | 2014-10-29 10:33:44 +0100 |
commit | 3d5fb54eda2330d76c11a10c39fc70541eddf4a5 (patch) | |
tree | cd342d6c1d15e3f18b78ddc5a684484c90436925 /src/plugins/platforms/cocoa | |
parent | 933fab137dcaa8bff2a65ca67918f2765875d2cf (diff) |
Cocoa: Handle Qt::WA_MacAlwaysShowToolWindow
Forward the flag to QWindow by setting the _q_macAlwaysShowToolWindowproperty
on the window in QWidgetPrivate::create_sys(). Test
for the property when creating the window.
Task-number: QTBUG-29816
Done-with: Morten Sørvig
Change-Id: Id810dda98d02deb0902192cce1783d8b16b04d04
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoawindow.mm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index ad6390788a..f536e20b39 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -1400,7 +1400,11 @@ QCocoaNSWindow * QCocoaWindow::createNSWindow() if ((type & Qt::Popup) == Qt::Popup) [window setHasShadow:YES]; - [window setHidesOnDeactivate:(type & Qt::Tool) == Qt::Tool]; + // Qt::Tool windows hide on app deactivation, unless Qt::WA_MacAlwaysShowToolWindow is set. + QVariant showWithoutActivating = QPlatformWindow::window()->property("_q_macAlwaysShowToolWindow"); + bool shouldHideOnDeactivate = ((type & Qt::Tool) == Qt::Tool) && + !(showWithoutActivating.isValid() && showWithoutActivating.toBool()); + [window setHidesOnDeactivate: shouldHideOnDeactivate]; // Make popup windows show on the same desktop as the parent full-screen window. [window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary]; |