aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicklistview
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2019-01-11 15:33:58 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2019-01-17 14:53:31 +0000
commit6536076b1f1368d3c21b286a065915663d8a1946 (patch)
treee3549ee3293d61c901fc29807172ab30840e5087 /tests/auto/quick/qquicklistview
parent77e275a6f88956a95922b4c746e4235c5a62c47c (diff)
Add itemAtIndex to quick views
This patch adds itemAtIndex method to ItemView-derived views and to PathView. [ChangeLog][QtQuick][QQuickItemView] Added itemAtIndex() to GridView, ListView and PathView to fetch a visible delegate by index. Change-Id: Id8475d06c1481036984fe5109bb52cf2729b1c21 Fixes: QTBUG-72961 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'tests/auto/quick/qquicklistview')
-rw-r--r--tests/auto/quick/qquicklistview/data/listview-itematindex.qml15
-rw-r--r--tests/auto/quick/qquicklistview/qquicklistview.pro1
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp24
3 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicklistview/data/listview-itematindex.qml b/tests/auto/quick/qquicklistview/data/listview-itematindex.qml
new file mode 100644
index 0000000000..fba8b11933
--- /dev/null
+++ b/tests/auto/quick/qquicklistview/data/listview-itematindex.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+ListView {
+ width: 400
+ height: 400
+ focus: true
+ model: 3
+
+ delegate: Text {
+ width: parent.width
+ height: 10
+ property int idx: index
+ text: index
+ }
+}
diff --git a/tests/auto/quick/qquicklistview/qquicklistview.pro b/tests/auto/quick/qquicklistview/qquicklistview.pro
index b1031e3bb7..fd96c269a2 100644
--- a/tests/auto/quick/qquicklistview/qquicklistview.pro
+++ b/tests/auto/quick/qquicklistview/qquicklistview.pro
@@ -16,6 +16,7 @@ include (../../shared/util.pri)
include (../shared/util.pri)
TESTDATA = data/*
+DISTFILES += data/*
QT += core-private gui-private qml-private quick-private testlib qmltest
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 03422c5b14..d96590bdae 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -166,6 +166,7 @@ private slots:
void QTBUG_16037();
void indexAt_itemAt_data();
void indexAt_itemAt();
+ void itemAtIndex();
void incrementalModel();
void onAdd();
void onAdd_data();
@@ -4782,6 +4783,29 @@ void tst_QQuickListView::indexAt_itemAt()
delete testObject;
}
+void tst_QQuickListView::itemAtIndex()
+{
+ QScopedPointer<QQuickView> window(createView());
+ window->setSource(testFileUrl("listview-itematindex.qml"));
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
+
+ QQuickListView *listview = qobject_cast<QQuickListView*>(window->rootObject());
+ QVERIFY(listview != nullptr);
+
+ QCOMPARE(listview->itemAtIndex(-1), nullptr);
+ QCOMPARE(listview->itemAtIndex(3), nullptr);
+ QQuickItem *item = listview->itemAtIndex(0);
+ QVERIFY(item);
+ QCOMPARE(item->property("idx"), 0);
+ item = listview->itemAtIndex(1);
+ QVERIFY(item);
+ QCOMPARE(item->property("idx"), 1);
+ item = listview->itemAtIndex(2);
+ QVERIFY(item);
+ QCOMPARE(item->property("idx"), 2);
+}
+
void tst_QQuickListView::incrementalModel()
{
QScopedPointer<QQuickView> window(createView());