summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/global/qnamespace.h1
-rw-r--r--src/corelib/global/qnamespace.qdoc9
-rw-r--r--src/plugins/platforms/ios/qioswindow.mm3
3 files changed, 12 insertions, 1 deletions
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 420b8b0430..3a7356d0fe 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -287,6 +287,7 @@ public:
WindowTransparentForInput = 0x00080000,
WindowOverridesSystemGestures = 0x00100000,
WindowDoesNotAcceptFocus = 0x00200000,
+ MaximizeUsingFullscreenGeometryHint = 0x00400000,
CustomizeWindowHint = 0x02000000,
WindowStaysOnBottomHint = 0x04000000,
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index ba3a621751..669bc7a17a 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -2159,6 +2159,15 @@
\value WindowDoesNotAcceptFocus Informs the window system that this window should
not receive the input focus.
+ \value MaximizeUsingFullscreenGeometryHint Informs the window system that when
+ maximizing the window it should use as much of the available screen geometry
+ as possible, including areas that may be covered by system UI such as status
+ bars or application launchers. This may result in the window being placed
+ under these system UIs, but does not guarantee it, depending on whether or
+ not the platform supports it. When the flag is enabled the user is responsible
+ for taking QScreen::availableGeometry() into account, so that any UI elements
+ in the application that require user interaction are not covered by system UI.
+
\value WindowType_Mask A mask for extracting the window type
part of the window flags.
diff --git a/src/plugins/platforms/ios/qioswindow.mm b/src/plugins/platforms/ios/qioswindow.mm
index 95a4c28246..777a3c12c5 100644
--- a/src/plugins/platforms/ios/qioswindow.mm
+++ b/src/plugins/platforms/ios/qioswindow.mm
@@ -244,7 +244,8 @@ void QIOSWindow::setWindowState(Qt::WindowState state)
applyGeometry(m_normalGeometry);
break;
case Qt::WindowMaximized:
- applyGeometry(screen()->availableGeometry());
+ applyGeometry(window()->flags() & Qt::MaximizeUsingFullscreenGeometryHint ?
+ screen()->geometry() : screen()->availableGeometry());
break;
case Qt::WindowFullScreen:
applyGeometry(screen()->geometry());