diff options
author | Jochen Seemann <seemann.jochen@gmail.com> | 2015-12-03 13:07:52 +0100 |
---|---|---|
committer | Jochen Seemann <seemann.jochen@gmail.com> | 2016-01-07 13:06:46 +0000 |
commit | 9362667e56a328126f758ca31dbb824166f20dd3 (patch) | |
tree | 352c16a04daa22bd5e39cd880ee9e6d4d4f101f8 | |
parent | d18b3e7c3b3cb1baa20c8fcc53038a91c8fa40af (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.cpp | 8 |
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; |