diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-05-27 09:51:35 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-06-06 18:16:46 +0000 |
commit | 3ec6f508aa485b1162d7d8f7bc57401b43ded470 (patch) | |
tree | 924fe6c0da4951dd92459e2becfc8da9c4d66110 /src/quicktemplates2/qquickstackview_p.cpp | |
parent | 51c181776f2c389d6b12d78514008d3208841192 (diff) |
StackView: add attached activated() etc. signals
For initializing and cleaning up item-specific resources, these are
much more convenient than a StackView.onStatusChanged handler.
[ChangeLog][StackView] Added attached activated(), deactivated(),
activating(), and deactivating() signals that are convenient for
initializing and cleaning up item-specific resources.
Change-Id: If8df45b31a14cd2491db2c87eeb1c071af4e695f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickstackview_p.cpp')
-rw-r--r-- | src/quicktemplates2/qquickstackview_p.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/quicktemplates2/qquickstackview_p.cpp b/src/quicktemplates2/qquickstackview_p.cpp index 809f7386..5a83f5e5 100644 --- a/src/quicktemplates2/qquickstackview_p.cpp +++ b/src/quicktemplates2/qquickstackview_p.cpp @@ -221,8 +221,28 @@ void QQuickStackElement::setStatus(QQuickStackView::Status value) status = value; QQuickStackAttached *attached = attachedStackObject(this); - if (attached) - emit attached->statusChanged(); + if (!attached) + return; + + switch (value) { + case QQuickStackView::Inactive: + emit attached->deactivated(); + break; + case QQuickStackView::Deactivating: + emit attached->deactivating(); + break; + case QQuickStackView::Activating: + emit attached->activating(); + break; + case QQuickStackView::Active: + emit attached->activated(); + break; + default: + Q_UNREACHABLE(); + break; + } + + emit attached->statusChanged(); } void QQuickStackElement::transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget) |