winrt: Make dialog and window behave similarly.

Status bar visibility can be controlled from dialog and
dialog size is screen size.

Change-Id: Ia8e932a9e1e1549a17d12532639391335760f9e0
Reviewed-by: Andrew Knight <andrew.knight@intopalo.com>
This commit is contained in:
Samuel Nevala 2015-11-09 12:29:26 +02:00 committed by Oliver Wolff
parent b91389fef0
commit 5956d8715c
2 changed files with 4 additions and 2 deletions

View File

@ -699,7 +699,8 @@ Xaml::IDependencyObject *QWinRTScreen::canvas() const
void QWinRTScreen::setStatusBarVisibility(bool visible, QWindow *window)
{
Q_D(QWinRTScreen);
if (!window || (window->flags() & Qt::WindowType_Mask) != Qt::Window)
const Qt::WindowFlags windowType = window->flags() & Qt::WindowType_Mask;
if (!window || (windowType != Qt::Window && windowType != Qt::Dialog))
return;
QEventDispatcherWinRT::runOnXamlThread([d, visible]() {

View File

@ -207,7 +207,8 @@ void QWinRTWindow::setGeometry(const QRect &rect)
Q_D(QWinRTWindow);
const Qt::WindowFlags windowFlags = window()->flags();
if (window()->isTopLevel() && (windowFlags & Qt::WindowType_Mask) == Qt::Window) {
const Qt::WindowFlags windowType = windowFlags & Qt::WindowType_Mask;
if (window()->isTopLevel() && (windowType == Qt::Window || windowType == Qt::Dialog)) {
QPlatformWindow::setGeometry(windowFlags & Qt::MaximizeUsingFullscreenGeometryHint
? d->screen->geometry() : d->screen->availableGeometry());
QWindowSystemInterface::handleGeometryChange(window(), geometry());