From 7b7322c497042b738507108bcd54fa37694392d9 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 14 Dec 2016 13:49:26 +0100 Subject: ListView, GridView: fix missing keyNavigationEnabled property Before this patch, this code: import QtQuick 2.7 ListView { keyNavigationEnabled: true } Would cause this error: "ListView.keyNavigationEnabled" is not available in QtQuick 2.7. This is because ItemView was missing a revision: qmlRegisterUncreatableType( uri, 2, 7, "ItemView", QQuickItemView::tr("ItemView is an abstract base class")); Task-number: QTBUG-57621 Change-Id: Ia00cb7446a0d83278760f3aa361db5a864661bc6 Reviewed-by: Robin Burchell --- .../quick/qquickgridview/data/keyNavigationEnabled.qml | 12 ++++++++++++ tests/auto/quick/qquickgridview/tst_qquickgridview.cpp | 2 +- .../quick/qquicklistview/data/keyNavigationEnabled.qml | 14 ++++++++++++++ tests/auto/quick/qquicklistview/tst_qquicklistview.cpp | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 tests/auto/quick/qquickgridview/data/keyNavigationEnabled.qml create mode 100644 tests/auto/quick/qquicklistview/data/keyNavigationEnabled.qml (limited to 'tests') diff --git a/tests/auto/quick/qquickgridview/data/keyNavigationEnabled.qml b/tests/auto/quick/qquickgridview/data/keyNavigationEnabled.qml new file mode 100644 index 0000000000..868611760e --- /dev/null +++ b/tests/auto/quick/qquickgridview/data/keyNavigationEnabled.qml @@ -0,0 +1,12 @@ +import QtQuick 2.7 + +GridView { + width: 405 + height: 200 + cellWidth: width / 9 + cellHeight: height / 2 + // Ensure that the property is available in QML. + onKeyNavigationEnabledChanged: {} + model: 18 + delegate: Rectangle { objectName: "delegate"; width: 10; height: 10; color: "green" } +} diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp index 07c03a57d7..1acc36c9b0 100644 --- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp +++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp @@ -6568,7 +6568,7 @@ void tst_QQuickGridView::QTBUG_45640() void tst_QQuickGridView::keyNavigationEnabled() { QScopedPointer window(createView()); - window->setSource(testFileUrl("gridview4.qml")); + window->setSource(testFileUrl("keyNavigationEnabled.qml")); window->show(); window->requestActivate(); QVERIFY(QTest::qWaitForWindowActive(window.data())); diff --git a/tests/auto/quick/qquicklistview/data/keyNavigationEnabled.qml b/tests/auto/quick/qquicklistview/data/keyNavigationEnabled.qml new file mode 100644 index 0000000000..943b0aadbd --- /dev/null +++ b/tests/auto/quick/qquicklistview/data/keyNavigationEnabled.qml @@ -0,0 +1,14 @@ +import QtQuick 2.7 + +ListView { + width: 400 + height: 400 + model: 100 + // Ensure that the property is available in QML. + onKeyNavigationEnabledChanged: {} + delegate: Rectangle { + height: 40 + width: 400 + color: index % 2 ? "lightsteelblue" : "lightgray" + } +} diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index 61ba2caaf7..4816d9c341 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -8271,7 +8271,7 @@ void tst_QQuickListView::QTBUG_48044_currentItemNotVisibleAfterTransition() void tst_QQuickListView::keyNavigationEnabled() { QScopedPointer window(createView()); - window->setSource(testFileUrl("simplelistview.qml")); + window->setSource(testFileUrl("keyNavigationEnabled.qml")); window->show(); window->requestActivate(); QVERIFY(QTest::qWaitForWindowActive(window.data())); -- cgit v1.2.3