diff options
author | Liang Qi <liang.qi@qt.io> | 2016-09-22 08:44:34 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-09-22 08:55:29 +0200 |
commit | ab91c57135f7a86437a5a4341cd32df1d4682480 (patch) | |
tree | 713612fe2c27ff43ab4a3d5ed3b363c6141d5fbf /src/quicktemplates2/qquickoverlay.cpp | |
parent | c5a44092c8b73c540862c4a160c31487a8518992 (diff) | |
parent | 7193318330bc518255fb7ed008c144578f49b4bd (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
Diffstat (limited to 'src/quicktemplates2/qquickoverlay.cpp')
-rw-r--r-- | src/quicktemplates2/qquickoverlay.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp index ccae4da6..9bdc9135 100644 --- a/src/quicktemplates2/qquickoverlay.cpp +++ b/src/quicktemplates2/qquickoverlay.cpp @@ -113,7 +113,7 @@ void QQuickOverlayPrivate::createOverlay(QQuickPopup *popup) QQuickPopupPrivate *p = QQuickPopupPrivate::get(popup); if (!p->dimmer) p->dimmer = createDimmer(popup->isModal() ? modal : modeless, popup, q); - resizeOverlay(popup); + p->resizeOverlay(); } void QQuickOverlayPrivate::destroyOverlay(QQuickPopup *popup) @@ -126,16 +126,6 @@ void QQuickOverlayPrivate::destroyOverlay(QQuickPopup *popup) } } -void QQuickOverlayPrivate::resizeOverlay(QQuickPopup *popup) -{ - Q_Q(QQuickOverlay); - QQuickPopupPrivate *p = QQuickPopupPrivate::get(popup); - if (p->dimmer) { - p->dimmer->setWidth(q->width()); - p->dimmer->setHeight(q->height()); - } -} - void QQuickOverlayPrivate::toggleOverlay() { Q_Q(QQuickOverlay); @@ -320,7 +310,7 @@ void QQuickOverlay::geometryChanged(const QRectF &newGeometry, const QRectF &old Q_D(QQuickOverlay); QQuickItem::geometryChanged(newGeometry, oldGeometry); for (QQuickPopup *popup : qAsConst(d->allPopups)) - d->resizeOverlay(popup); + QQuickPopupPrivate::get(popup)->resizeOverlay(); } void QQuickOverlay::mousePressEvent(QMouseEvent *event) @@ -404,7 +394,11 @@ bool QQuickOverlay::childMouseEventFilter(QQuickItem *item, QEvent *event) switch (event->type()) { case QEvent::MouseButtonPress: emit pressed(); - return popup->overlayEvent(item, event); + if (popup->overlayEvent(item, event)) { + d->mouseGrabberPopup = popup; + return true; + } + break; case QEvent::MouseMove: return popup->overlayEvent(item, event); case QEvent::MouseButtonRelease: |