summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJochen Seemann <seemann.jochen@gmail.com>2015-12-03 13:07:52 +0100
committerJochen Seemann <seemann.jochen@gmail.com>2016-01-07 13:06:46 +0000
commit9362667e56a328126f758ca31dbb824166f20dd3 (patch)
tree352c16a04daa22bd5e39cd880ee9e6d4d4f101f8
parentd18b3e7c3b3cb1baa20c8fcc53038a91c8fa40af (diff)
UIDelegate: setParentItem for dialogs
Set the visual parent of the dialogs like we already do in showFilePicker(). This is needed when overriding the standard Window-based dialogs with Item-based dialog, e.g. on platforms that only support one window. Change-Id: I99e9397211994d027afea6f7557acf3ebc4ac424 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/webengine/ui_delegates_manager.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 91cec865b..d843c9a76 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -210,7 +210,7 @@ QObject *UIDelegatesManager::addMenu(QObject *parentMenu, const QString &title,
return 0;
QQmlContext *context = qmlContext(m_view);
QObject *menu = menuComponent->beginCreate(context);
- // Useful when not using Qt Quick Controls' Menu
+ // set visual parent for non-Window-based menus
if (QQuickItem* item = qobject_cast<QQuickItem*>(menu))
item->setParentItem(m_view);
@@ -286,6 +286,9 @@ void UIDelegatesManager::showDialog(QSharedPointer<JavaScriptDialogController> d
QQmlContext *context = qmlContext(m_view);
QObject *dialog = dialogComponent->beginCreate(context);
+ // set visual parent for non-Window-based dialogs
+ if (QQuickItem* item = qobject_cast<QQuickItem*>(dialog))
+ item->setParentItem(m_view);
dialog->setParent(m_view);
QQmlProperty textProp(dialog, QStringLiteral("text"));
textProp.write(dialogController->message());
@@ -334,6 +337,9 @@ void UIDelegatesManager::showDialog(QSharedPointer<AuthenticationDialogControlle
QQmlContext *context = qmlContext(m_view);
QObject *authenticationDialog = authenticationDialogComponent->beginCreate(context);
+ // set visual parent for non-Window-based dialogs
+ if (QQuickItem* item = qobject_cast<QQuickItem*>(authenticationDialog))
+ item->setParentItem(m_view);
authenticationDialog->setParent(m_view);
QString introMessage;