On 2014-06-23, at 06:28 PM, Ben Medina <[email protected]> wrote:
> Hello all,
> I'm attempting a fix for this bug:
> https://bugreports.qt-project.org/browse/QTBUG-39403
>
> Our app currently uses 5.2.1, so that's the context. As you can see from my
> post, using the qt_mac_app_fullscreen Boolean seems to no longer work. So I
> attempted to look at the QWindow's visibility property, like this:
>
> QRect QScreen::availableGeometry() const
> {
> Q_D(const QScreen);
> #ifdef Q_OS_MAC
> foreach (QWindow* window, QGuiApplication::allWindows())
> {
> // If we're in fullscreen mode on the Mac, we don't have to account
> for space
> // taken up by the Dock and menu bar, so we can use the full screen
> geometry.
> if (window->visibility() == QWindow::FullScreen)
> return d->geometry;
> }
> #endif
> return d->availableGeometry;
> }
>
> But even when in full-screen mode, I never get QWindow::FullScreen. Does
> anyone know how to detect if the application is in fullscreen mode on the Mac?
>
> Thanks,
> Ben
> _______________________________________________
> Development mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/development
That code is probably from the pre-Lion days when OS X didn't have a native
fullscreen mode and I'm guessing we don't properly set the window's visibility
to FullScreen on Lion+ when the window is actually fullscreen. The way to
detect fullscreen mode for a given window on OS X is:
(([nswindow styleMask] & NSFullScreenWindowMask) == NSFullScreenWindowMask)
You can also find additional documentation here:
https://developer.apple.com/library/mac/documentation/General/Conceptual/MOSXAppProgrammingGuide/FullScreenApp/FullScreenApp.html
--
Jake Petroules - jake.petroules at petroules.com
Chief Technology Officer - Petroules Corporation_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development