aboutsummaryrefslogtreecommitdiffstats
path: root/src/controls/qquickcontainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickcontainer.cpp')
-rw-r--r--src/controls/qquickcontainer.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/controls/qquickcontainer.cpp b/src/controls/qquickcontainer.cpp
index 456dd6c8..4c31e12e 100644
--- a/src/controls/qquickcontainer.cpp
+++ b/src/controls/qquickcontainer.cpp
@@ -53,6 +53,15 @@ QQuickContainerPrivate::QQuickContainerPrivate() :
{
}
+void QQuickContainerPrivate::resizeContent()
+{
+ Q_Q(QQuickContainer);
+ if (contentItem) {
+ contentItem->setPosition(QPointF(q->leftPadding(), q->topPadding()));
+ contentItem->setSize(QSizeF(q->availableWidth(), q->availableHeight()));
+ }
+}
+
QQuickContainer::QQuickContainer(QQuickItem *parent) :
QQuickControl(*(new QQuickContainerPrivate), parent)
{
@@ -120,11 +129,27 @@ void QQuickContainer::setContentItem(QQuickItem *item)
if (item) {
if (!item->parentItem())
item->setParentItem(this);
+ if (isComponentComplete())
+ d->resizeContent();
}
emit contentItemChanged();
}
}
+void QQuickContainer::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
+{
+ Q_D(QQuickContainer);
+ QQuickControl::geometryChanged(newGeometry, oldGeometry);
+ d->resizeContent();
+}
+
+void QQuickContainer::paddingChange()
+{
+ Q_D(QQuickContainer);
+ QQuickControl::paddingChange();
+ d->resizeContent();
+}
+
void QQuickContainer::contentItemChange(QQuickItem *newItem, QQuickItem *oldItem)
{
Q_UNUSED(newItem);