summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Rossi <pierre.rossi@digia.com>2012-11-19 21:15:19 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-23 00:47:48 +0100
commitb77749e9973da2199029f1271e55d8b42c0e7d2e (patch)
tree760c8de0925d5ba42a320d61072c84ae4ed137ab
parente73ac39c996a3b17b3e42f3f30ae2c3b882a5235 (diff)
Account for the item spacing when using QListView::scrollTo()
Somehow this bug managed to stay hidden until the introduction of QFusionStyle. Task-number: QTBUG-27675 Change-Id: I86b049b869e9f2951426dc67a485ad7c60ef1403 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
-rw-r--r--src/widgets/itemviews/qlistview.cpp1
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp5
2 files changed, 1 insertions, 5 deletions
diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp
index 592354836a..63412506cc 100644
--- a/src/widgets/itemviews/qlistview.cpp
+++ b/src/widgets/itemviews/qlistview.cpp
@@ -2546,6 +2546,7 @@ int QListModeViewBase::perItemScrollToValue(int index, int scrollValue, int view
if (index < 0)
return scrollValue;
+ itemExtent += spacing();
QVector<int> visibleFlowPositions;
visibleFlowPositions.reserve(flowPositions.count() - 1);
for (int i = 0; i < flowPositions.count() - 1; i++) { // flowPositions count is +1 larger than actual row count
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index 8b8f7e8949..b4eeaef024 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -2196,11 +2196,6 @@ void tst_QListView::taskQTBUG_21804_hiddenItemsAndScrollingWithKeys()
// create listview
QListView lv;
-#if !defined(QT_NO_STYLE_WINDOWS)
- // The test fails on Fusion style
- // See https://bugreports.qt-project.org/browse/QTBUG-27675
- lv.setStyle(new QWindowsStyle());
-#endif
lv.setFlow(static_cast<QListView::Flow>(flow));
lv.setSpacing(spacing);
lv.setModel(&model);