From 58326f2bc3bceafc0054e790832e0a77db340606 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Fri, 26 Aug 2016 12:46:42 +0200 Subject: StackView: add removed() attached signal This provides an opportunity for users to destroy items that StackView doesn't, like objects that are pushed as Items. [ChangeLog][Controls][StackView] Added StackView.removed() attached signal to provide a way to delete items that StackView won't. Task-number: QTBUG-55405 Change-Id: I59096efaf1a95d36451fbf1f46b8f68ee96c20de Reviewed-by: J-P Nurmi --- src/quicktemplates2/qquickstackview_p.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/quicktemplates2/qquickstackview_p.cpp') diff --git a/src/quicktemplates2/qquickstackview_p.cpp b/src/quicktemplates2/qquickstackview_p.cpp index 0f5674c2..438b4269 100644 --- a/src/quicktemplates2/qquickstackview_p.cpp +++ b/src/quicktemplates2/qquickstackview_p.cpp @@ -85,6 +85,7 @@ QQuickStackElement::~QQuickStackElement() if (ownComponent) delete component; + QQuickStackAttached *attached = attachedStackObject(this); if (item) { if (ownItem) { item->setParentItem(nullptr); @@ -99,13 +100,15 @@ QQuickStackElement::~QQuickStackElement() if (item->parentItem() != originalParent) { item->setParentItem(originalParent); } else { - QQuickStackAttached *attached = attachedStackObject(this); if (attached) QQuickStackAttachedPrivate::get(attached)->itemParentChanged(item, nullptr); } } } + if (attached) + emit attached->removed(); + delete context; } -- cgit v1.2.3