From fc271b4273c7ebfe2d08a6a29ec99c2f13ebb8cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= Date: Fri, 9 Nov 2012 15:58:57 +0100 Subject: Regression fix to QHeaderView::setDefaultSectionSize When the sections has been resized we need to calculate new values for the section start-positions. Otherwise we break visualIndexAt and sectionPosition. This fixes a regression introduced in b800d8b94a7861ecf8853621f6556fca186fb5b7 Change-Id: I148dbf44f742208787ed59b70d82b8048d721e90 Reviewed-by: Stephen Kelly --- tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/auto/widgets/itemviews') diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp index 844c66432e..e6181158fe 100644 --- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp +++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp @@ -1637,9 +1637,15 @@ void tst_QHeaderView::defaultSectionSizeTest() { // Setup QTableView qtv; + QHeaderView *hv = qtv.verticalHeader(); + hv->setDefaultSectionSize(99); // Set it to a value different from defaultSize. QStandardItemModel amodel(4, 4); qtv.setModel(&amodel); - QHeaderView *hv = qtv.verticalHeader(); + QCOMPARE(hv->sectionSize(0), 99); + QCOMPARE(hv->visualIndexAt(50), 0); // <= also make sure that indexes are calculated + hv->setDefaultSectionSize(40); // Set it to a value different from defaultSize. + QCOMPARE(hv->visualIndexAt(50), 1); + const int defaultSize = 26; hv->setDefaultSectionSize(defaultSize + 1); // Set it to a value different from defaultSize. -- cgit v1.2.3