diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-09-26 14:10:14 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-09-26 14:13:35 +0200 |
commit | 11b066beb45e7da084c6f792cf9421d48d4b40bf (patch) | |
tree | 0a27017508682b812b9fa533a3cab95aeb3c33c6 /src/quicktemplates2/qquickstackview_p.cpp | |
parent | f1eef22d0d1ddcc2ee48e45e522788eb97f429b0 (diff) | |
parent | d1efdcd2beac4d40d06ac7258b4d84e4376ab9d6 (diff) |
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
examples/quickcontrols2/gallery/gallery.qrc
src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
src/quicktemplates2/qquickstackview_p.cpp
src/quicktemplates2/qquickstackview_p_p.h
tests/auto/controls/data/tst_stackview.qml
Change-Id: If451fe0e5653572d305b4de90a6d5cb878463e8d
Diffstat (limited to 'src/quicktemplates2/qquickstackview_p.cpp')
-rw-r--r-- | src/quicktemplates2/qquickstackview_p.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/quicktemplates2/qquickstackview_p.cpp b/src/quicktemplates2/qquickstackview_p.cpp index 438b4269..ad08df5a 100644 --- a/src/quicktemplates2/qquickstackview_p.cpp +++ b/src/quicktemplates2/qquickstackview_p.cpp @@ -270,8 +270,9 @@ bool QQuickStackElement::prepareTransition(QQuickItemViewTransitioner *transitio return false; } -void QQuickStackElement::startTransition(QQuickItemViewTransitioner *transitioner) +void QQuickStackElement::startTransition(QQuickItemViewTransitioner *transitioner, QQuickStackView::Status status) { + setStatus(status); if (transitioner) QQuickItemViewTransitionableItem::startTransition(transitioner, index); } @@ -432,26 +433,22 @@ void QQuickStackViewPrivate::ensureTransitioner() void QQuickStackViewPrivate::startTransition(const QQuickStackTransition &first, const QQuickStackTransition &second, bool immediate) { - if (first.element) { - first.element->setStatus(first.status); + if (first.element) first.element->transitionNextReposition(transitioner, first.type, first.target); - } - if (second.element) { - second.element->setStatus(second.status); + if (second.element) second.element->transitionNextReposition(transitioner, second.type, second.target); - } if (first.element) { if (immediate || !first.element->item || !first.element->prepareTransition(transitioner, first.viewBounds)) - completeTransition(first.element, transitioner->removeTransition); + completeTransition(first.element, transitioner->removeTransition, first.status); else - first.element->startTransition(transitioner); + first.element->startTransition(transitioner, first.status); } if (second.element) { if (immediate || !second.element->item || !second.element->prepareTransition(transitioner, second.viewBounds)) - completeTransition(second.element, transitioner->removeDisplacedTransition); + completeTransition(second.element, transitioner->removeDisplacedTransition, second.status); else - second.element->startTransition(transitioner); + second.element->startTransition(transitioner, second.status); } if (transitioner) { @@ -460,8 +457,9 @@ void QQuickStackViewPrivate::startTransition(const QQuickStackTransition &first, } } -void QQuickStackViewPrivate::completeTransition(QQuickStackElement *element, QQuickTransition *transition) +void QQuickStackViewPrivate::completeTransition(QQuickStackElement *element, QQuickTransition *transition, QQuickStackView::Status status) { + element->setStatus(status); if (transition) { // TODO: add a proper way to complete a transition QQmlListProperty<QQuickAbstractAnimation> animations = transition->animations(); |