aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates
diff options
context:
space:
mode:
authorJochen Seemann <seemann.jochen@gmail.com>2016-02-02 22:23:38 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-02-17 08:14:25 +0000
commit67169ffa7dbf9e83e0fea35930457dc7792ef05d (patch)
tree5e2df3e0ded1bdb72fa36f8e004e2de99056f49a /src/templates
parentf56ec245eab24d56800a24f5bc06de1de4f87293 (diff)
clear parentItem of old header and footer items
This patch completes the support in QQuickApplicationWindow and QQuickPage to dynamically change the header and footer item. Change-Id: Id230db135ca2957d94aa126e9d58ac486c88557c Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates')
-rw-r--r--src/templates/qquickapplicationwindow.cpp8
-rw-r--r--src/templates/qquickpage.cpp8
2 files changed, 12 insertions, 4 deletions
diff --git a/src/templates/qquickapplicationwindow.cpp b/src/templates/qquickapplicationwindow.cpp
index b7a71a9f..92d080f3 100644
--- a/src/templates/qquickapplicationwindow.cpp
+++ b/src/templates/qquickapplicationwindow.cpp
@@ -242,8 +242,10 @@ void QQuickApplicationWindow::setHeader(QQuickItem *header)
{
Q_D(QQuickApplicationWindow);
if (d->header != header) {
- if (d->header)
+ if (d->header) {
QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
+ d->header->setParentItem(Q_NULLPTR);
+ }
d->header = header;
if (header) {
header->setParentItem(contentItem());
@@ -276,8 +278,10 @@ void QQuickApplicationWindow::setFooter(QQuickItem *footer)
{
Q_D(QQuickApplicationWindow);
if (d->footer != footer) {
- if (d->footer)
+ if (d->footer) {
QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
+ d->footer->setParentItem(Q_NULLPTR);
+ }
d->footer = footer;
if (footer) {
footer->setParentItem(contentItem());
diff --git a/src/templates/qquickpage.cpp b/src/templates/qquickpage.cpp
index 8302dca0..6a65e7c4 100644
--- a/src/templates/qquickpage.cpp
+++ b/src/templates/qquickpage.cpp
@@ -160,8 +160,10 @@ void QQuickPage::setHeader(QQuickItem *header)
{
Q_D(QQuickPage);
if (d->header != header) {
- if (d->header)
+ if (d->header) {
QQuickItemPrivate::get(d->header)->removeItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
+ d->header->setParentItem(Q_NULLPTR);
+ }
d->header = header;
if (header) {
header->setParentItem(this);
@@ -194,8 +196,10 @@ void QQuickPage::setFooter(QQuickItem *footer)
{
Q_D(QQuickPage);
if (d->footer != footer) {
- if (d->footer)
+ if (d->footer) {
QQuickItemPrivate::get(d->footer)->removeItemChangeListener(d, QQuickItemPrivate::ImplicitWidth | QQuickItemPrivate::ImplicitHeight);
+ d->footer->setParentItem(Q_NULLPTR);
+ }
d->footer = footer;
if (footer) {
footer->setParentItem(this);