diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-07-27 18:11:21 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-28 05:05:16 +0200 |
commit | 3b3a997cfaf24d18202ebda263d04629956738e8 (patch) | |
tree | 3dd2e433b1d2d94adcc54c4ae0eafe9217c1c48a /tests | |
parent | a8d3802938df60a74990c2c915446061b047057d (diff) |
A change in ListView's header height can cause it to overlap the items
If there are no visibleItems the header has no choice but to
set visiblePos to a value after itself.
Change-Id: I7748db46272989e421eeca88577b6fcf79814b5b
Fixes: QTBUG-19844
Reviewed-on: http://codereview.qt.nokia.com/2254
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp index 0742673373..5bfa08e943 100644 --- a/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -1950,6 +1950,38 @@ void tst_QDeclarative1ListView::header() delete canvas; } + { + // QTBUG-19844 + QDeclarativeView *canvas = createView(); + + TestModel model; + + QDeclarativeContext *ctxt = canvas->rootContext(); + ctxt->setContextProperty("testModel", &model); + + canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml")); + qApp->processEvents(); + + QDeclarative1ListView *listview = findItem<QDeclarative1ListView>(canvas->rootObject(), "list"); + QTRY_VERIFY(listview != 0); + + QDeclarativeItem *contentItem = listview->contentItem(); + QTRY_VERIFY(contentItem != 0); + + QDeclarative1Text *header = findItem<QDeclarative1Text>(contentItem, "header"); + QVERIFY(header); + + header->setHeight(500); + + model.addItem("Item 0", ""); + + header->setHeight(40); + QDeclarativeItem *item = findItem<QDeclarativeItem>(contentItem, "wrapper", 0); + QVERIFY(item); + QTRY_VERIFY(header->y() + header->height() == item->y()); + + delete canvas; + } } void tst_QDeclarative1ListView::footer() |