Make popup windows show on the correct desktop.
authorMorten Johan Sorvig <morten.sorvig@nokia.com>
Fri, 25 May 2012 05:44:22 +0000 (07:44 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 29 May 2012 23:54:45 +0000 (01:54 +0200)
Set NSWindowCollectionBehaviorFullScreenAuxiliary
for Qt::Popup windows. This will make them show
on the same desktop as their parent full-screen
window.

Change-Id: Ice1bd50976ef0cd66b01a683a43e08e782573153
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
src/plugins/platforms/cocoa/qcocoawindow.mm

index 880292b..1a8e08e 100644 (file)
@@ -460,6 +460,13 @@ NSWindow * QCocoaWindow::createNSWindow()
                                          defer:NO]; // Deferring window creation breaks OpenGL (the GL context is set up
                                                     // before the window is shown and needs a proper window.).
         [window setHasShadow:YES];
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
+        if (QSysInfo::QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7) {
+            // Make popup winows show on the same desktop as the parent full-screen window.
+            [window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary];
+        }
+#endif
         window->m_cocoaPlatformWindow = this;
         createdWindow = window;
     } else {