aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickstackview_p.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-05-27 09:51:35 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-06-06 18:16:46 +0000
commit3ec6f508aa485b1162d7d8f7bc57401b43ded470 (patch)
tree924fe6c0da4951dd92459e2becfc8da9c4d66110 /src/quicktemplates2/qquickstackview_p.cpp
parent51c181776f2c389d6b12d78514008d3208841192 (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.cpp24
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)