From 14dd934c3203b614e43be9fa5b17761d43092351 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 3 Sep 2016 15:39:04 +0200 Subject: Use QQuickOverlay with plain QQuickWindow Get rid of the ugly and broken event filter approach that was used with QQuickWindow. Create an instance of QQuickOverlay so that the same overlay code path is used for both QQuickApplicationWindow and plain QQuickWindow. Task-number: QTBUG-55729 Change-Id: I6e26b19cd94a9580418912803f50c30b9dcaeedb Reviewed-by: Mitch Curtis --- src/quicktemplates2/qquickpopup.cpp | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) (limited to 'src/quicktemplates2/qquickpopup.cpp') diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp index b4022247..fa5864df 100644 --- a/src/quicktemplates2/qquickpopup.cpp +++ b/src/quicktemplates2/qquickpopup.cpp @@ -188,15 +188,7 @@ void QQuickPopupPrivate::prepareEnterTransition(bool notify) return; } - QQuickApplicationWindow *applicationWindow = qobject_cast(window); - if (!applicationWindow) { - window->installEventFilter(q); - popupItem->setZ(1000001); // DefaultWindowDecoration+1 - popupItem->setParentItem(window->contentItem()); - } else { - popupItem->setParentItem(applicationWindow->overlay()); - } - + popupItem->setParentItem(QQuickOverlay::overlay(window)); if (notify) emit q->aboutToShow(); visible = notify; @@ -208,8 +200,6 @@ void QQuickPopupPrivate::prepareEnterTransition(bool notify) void QQuickPopupPrivate::prepareExitTransition() { Q_Q(QQuickPopup); - if (window && !qobject_cast(window)) - window->removeEventFilter(q); if (focus) { // The setFocus(false) call below removes any active focus before we're // able to check it in finalizeExitTransition. @@ -1837,13 +1827,6 @@ bool QQuickPopup::isComponentComplete() const return d->complete; } -bool QQuickPopup::eventFilter(QObject *object, QEvent *event) -{ - if (QQuickWindow *window = qobject_cast(object)) - return overlayEvent(window->contentItem(), event); - return false; -} - bool QQuickPopup::childMouseEventFilter(QQuickItem *child, QEvent *event) { Q_UNUSED(child); -- cgit v1.2.3