aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-30 03:02:30 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-30 03:02:30 +0200
commitc4f567462e520e2dbbc293fe772922e8b1d0e236 (patch)
tree0cb105d46ddc01008f7e02cd9492e9e73a599b91
parent200b47519ffc61ebd06cda9a4c452d7b15e37d33 (diff)
parentda06da57002b64cf4bcde0ca708b3275a5f919ae (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
-rw-r--r--src/quicktemplates2/qquicktextarea.cpp10
-rw-r--r--tests/auto/qquickmaterialstyle/data/tst_material.qml35
2 files changed, 42 insertions, 3 deletions
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
index 95dd9f93..95bf5bb1 100644
--- a/src/quicktemplates2/qquicktextarea.cpp
+++ b/src/quicktemplates2/qquicktextarea.cpp
@@ -512,8 +512,11 @@ void QQuickTextAreaPrivate::executeBackground(bool complete)
if (!background || complete)
quickBeginDeferred(q, backgroundName(), background);
- if (complete)
+ if (complete) {
quickCompleteDeferred(q, backgroundName(), background);
+ if (background)
+ QQuickControlPrivate::addImplicitSizeListener(background, this, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
+ }
}
void QQuickTextAreaPrivate::itemImplicitWidthChanged(QQuickItem *item)
@@ -633,9 +636,10 @@ void QQuickTextArea::setBackground(QQuickItem *background)
d->extra.value().hasBackgroundWidth = p->widthValid;
d->extra.value().hasBackgroundHeight = p->heightValid;
}
- if (isComponentComplete())
+ if (isComponentComplete()) {
d->resizeBackground();
- QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
+ QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
+ }
}
if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
diff --git a/tests/auto/qquickmaterialstyle/data/tst_material.qml b/tests/auto/qquickmaterialstyle/data/tst_material.qml
index 9f2456b8..45bc0dab 100644
--- a/tests/auto/qquickmaterialstyle/data/tst_material.qml
+++ b/tests/auto/qquickmaterialstyle/data/tst_material.qml
@@ -715,4 +715,39 @@ TestCase {
control.destroy()
}
+
+ Component {
+ id: testResizeBackground
+ Item {
+ width: 200
+ height: 200
+ property alias textArea: textArea
+ ScrollView {
+ anchors.fill: parent
+ ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
+ TextArea {
+ id: textArea
+ wrapMode : TextEdit.WordWrap
+ readOnly: false
+ selectByMouse: true
+ focus: true
+ text: "test message"
+ }
+ }
+ }
+ }
+
+ function test_resize_background() {
+ var control = testCase.createTemporaryObject(testResizeBackground, testCase)
+ compare(control.textArea.background.height, 1)
+ compare(control.textArea.background.width, control.width)
+ control.width = 400
+ control.height = 400
+ compare(control.textArea.background.height, 1)
+ compare(control.textArea.background.width, control.width)
+ control.width = 200
+ control.height = 200
+ compare(control.textArea.background.height, 1)
+ compare(control.textArea.background.width, control.width)
+ }
}