diff options
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickimage.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 17 | ||||
-rw-r--r-- | src/quick/items/qquickpathview.cpp | 7 | ||||
-rw-r--r-- | src/quick/items/qquickrendercontrol.cpp | 1 |
4 files changed, 20 insertions, 9 deletions
diff --git a/src/quick/items/qquickimage.cpp b/src/quick/items/qquickimage.cpp index 4a0936b4d5..16343774e2 100644 --- a/src/quick/items/qquickimage.cpp +++ b/src/quick/items/qquickimage.cpp @@ -676,13 +676,13 @@ QSGNode *QQuickImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) int xOffset = 0; if (d->hAlign == QQuickImage::AlignHCenter) - xOffset = qCeil((width() - pixWidth) / 2.); + xOffset = (width() - pixWidth) / 2; else if (d->hAlign == QQuickImage::AlignRight) xOffset = qCeil(width() - pixWidth); int yOffset = 0; if (d->vAlign == QQuickImage::AlignVCenter) - yOffset = qCeil((height() - pixHeight) / 2.); + yOffset = (height() - pixHeight) / 2; else if (d->vAlign == QQuickImage::AlignBottom) yOffset = qCeil(height() - pixHeight); diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index bbfbf6244c..b37fb69fae 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -599,6 +599,7 @@ void QQuickItemView::setHighlightRangeMode(HighlightRangeMode mode) d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; if (isComponentComplete()) { d->updateViewport(); + d->moveReason = QQuickItemViewPrivate::Other; d->fixupPosition(); } emit highlightRangeModeChanged(); @@ -621,8 +622,10 @@ void QQuickItemView::setPreferredHighlightBegin(qreal start) d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; if (isComponentComplete()) { d->updateViewport(); - if (!isMoving() && !isFlicking()) + if (!isMoving() && !isFlicking()) { + d->moveReason = QQuickItemViewPrivate::Other; d->fixupPosition(); + } } emit preferredHighlightBeginChanged(); } @@ -636,8 +639,10 @@ void QQuickItemView::resetPreferredHighlightBegin() d->highlightRangeStart = 0; if (isComponentComplete()) { d->updateViewport(); - if (!isMoving() && !isFlicking()) + if (!isMoving() && !isFlicking()) { + d->moveReason = QQuickItemViewPrivate::Other; d->fixupPosition(); + } } emit preferredHighlightBeginChanged(); } @@ -658,8 +663,10 @@ void QQuickItemView::setPreferredHighlightEnd(qreal end) d->haveHighlightRange = d->highlightRange != NoHighlightRange && d->highlightRangeStart <= d->highlightRangeEnd; if (isComponentComplete()) { d->updateViewport(); - if (!isMoving() && !isFlicking()) + if (!isMoving() && !isFlicking()) { + d->moveReason = QQuickItemViewPrivate::Other; d->fixupPosition(); + } } emit preferredHighlightEndChanged(); } @@ -673,8 +680,10 @@ void QQuickItemView::resetPreferredHighlightEnd() d->highlightRangeEnd = 0; if (isComponentComplete()) { d->updateViewport(); - if (!isMoving() && !isFlicking()) + if (!isMoving() && !isFlicking()) { + d->moveReason = QQuickItemViewPrivate::Other; d->fixupPosition(); + } } emit preferredHighlightEndChanged(); } diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp index e4480b335a..8abb3f29cd 100644 --- a/src/quick/items/qquickpathview.cpp +++ b/src/quick/items/qquickpathview.cpp @@ -1680,11 +1680,12 @@ void QQuickPathViewPrivate::handleMousePressEvent(QMouseEvent *event) return; } - - if (tl.isActive() && flicking && flickDuration && qreal(tl.time())/flickDuration < 0.8) + if (tl.isActive() && flicking && flickDuration && qreal(tl.time()) / flickDuration < 0.8) { stealMouse = true; // If we've been flicked then steal the click. - else + q->grabMouse(); // grab it right now too, just to be sure (QTBUG-77173) + } else { stealMouse = false; + } q->setKeepMouseGrab(stealMouse); timer.start(); diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp index f6d4e7ed49..76bcae1003 100644 --- a/src/quick/items/qquickrendercontrol.cpp +++ b/src/quick/items/qquickrendercontrol.cpp @@ -265,6 +265,7 @@ void QQuickRenderControl::polishItems() if (!d->window) return; cd->polishItems(); + emit d->window->afterAnimating(); } /*! |