aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickoverlay.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-09-22 08:44:34 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-09-22 08:55:29 +0200
commitab91c57135f7a86437a5a4341cd32df1d4682480 (patch)
tree713612fe2c27ff43ab4a3d5ed3b363c6141d5fbf /src/quicktemplates2/qquickoverlay.cpp
parentc5a44092c8b73c540862c4a160c31487a8518992 (diff)
parent7193318330bc518255fb7ed008c144578f49b4bd (diff)
Merge remote-tracking branch 'origin/5.7' into 5.8
Diffstat (limited to 'src/quicktemplates2/qquickoverlay.cpp')
-rw-r--r--src/quicktemplates2/qquickoverlay.cpp20
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: