From ef40cad3a974242cc8f9167288a8804239586669 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Thu, 30 Aug 2018 19:47:05 +0200 Subject: QTableView: Fix PageUp not getting to top when first row is hidden When the first row(s) of a QTableView is hidden, PageUp could not reach the first visible row because logicalRow(0) is taken without checking if the row is visible. Task-number: QTBUG-70215 Change-Id: Ic7820352b8988accb685ea7d16908d3fa8bf2847 Reviewed-by: Friedemann Kleint Reviewed-by: Luca Beldi Reviewed-by: Richard Moe Gustavsen Reviewed-by: David Faure --- tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/auto') diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp index e1ec38b4e7..228d03350a 100644 --- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp @@ -1353,6 +1353,11 @@ void tst_QTableView::moveCursorBiggerJump() QCOMPARE(view.indexAt(QPoint(0,0)), model.index(7,0)); QTest::keyClick(&view, Qt::Key_PageUp); QCOMPARE(view.indexAt(QPoint(0,0)), model.index(0,0)); + + QTest::keyClick(&view, Qt::Key_PageDown); + view.verticalHeader()->hideSection(0); + QTest::keyClick(&view, Qt::Key_PageUp); + QTRY_COMPARE(view.currentIndex().row(), view.rowAt(0)); } void tst_QTableView::hideRows_data() -- cgit v1.2.3