Revert "QAIV - Fix scollbars with ScrollPerPixel to scroll 1 pixel."

This reverts commit 934f062203.

The patch needs to be modified a bit. Many users considers
not having the old feature as a big regression.

The feature needs to be improved with a variable that is
only set when the user uses setSingleStep.

Task-number: QTBUG-33906

Change-Id: I35e5d3e9d3d7a3ebd01807b03a0e7a424185d483
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This commit is contained in:
Thorbjørn Martsum 2014-01-13 14:29:16 +01:00 committed by The Qt Project
parent 7fab8eb56b
commit 0e69230d02
4 changed files with 9 additions and 9 deletions

View File

@ -1837,18 +1837,18 @@ void QCommonListViewBase::paintDragDrop(QPainter *painter)
} }
#endif #endif
void QCommonListViewBase::updateHorizontalScrollBar(const QSize & /*step*/) void QCommonListViewBase::updateHorizontalScrollBar(const QSize &step)
{ {
horizontalScrollBar()->setSingleStep(step.width() + spacing());
horizontalScrollBar()->setPageStep(viewport()->width()); horizontalScrollBar()->setPageStep(viewport()->width());
horizontalScrollBar()->setRange(0, contentsSize.width() - viewport()->width()); horizontalScrollBar()->setRange(0, contentsSize.width() - viewport()->width());
// we do not want to overwrite (a possible user set) single step
} }
void QCommonListViewBase::updateVerticalScrollBar(const QSize & /*step*/) void QCommonListViewBase::updateVerticalScrollBar(const QSize &step)
{ {
verticalScrollBar()->setSingleStep(step.height() + spacing());
verticalScrollBar()->setPageStep(viewport()->height()); verticalScrollBar()->setPageStep(viewport()->height());
verticalScrollBar()->setRange(0, contentsSize.height() - viewport()->height()); verticalScrollBar()->setRange(0, contentsSize.height() - viewport()->height());
// we do not want to overwrite (a possible user set) single step
} }
void QCommonListViewBase::scrollContentsBy(int dx, int dy, bool /*scrollElasticBand*/) void QCommonListViewBase::scrollContentsBy(int dx, int dy, bool /*scrollElasticBand*/)

View File

@ -2170,7 +2170,7 @@ void QTableView::updateGeometries()
} else { // ScrollPerPixel } else { // ScrollPerPixel
horizontalScrollBar()->setPageStep(vsize.width()); horizontalScrollBar()->setPageStep(vsize.width());
horizontalScrollBar()->setRange(0, horizontalLength - vsize.width()); horizontalScrollBar()->setRange(0, horizontalLength - vsize.width());
// here we do not want to overwrite (a possible user set) single step horizontalScrollBar()->setSingleStep(qMax(vsize.width() / (columnsInViewport + 1), 2));
} }
// vertical scroll bar // vertical scroll bar
@ -2198,7 +2198,7 @@ void QTableView::updateGeometries()
} else { // ScrollPerPixel } else { // ScrollPerPixel
verticalScrollBar()->setPageStep(vsize.height()); verticalScrollBar()->setPageStep(vsize.height());
verticalScrollBar()->setRange(0, verticalLength - vsize.height()); verticalScrollBar()->setRange(0, verticalLength - vsize.height());
// here we do not want to overwrite (a possible user set) single step verticalScrollBar()->setSingleStep(qMax(vsize.height() / (rowsInViewport + 1), 2));
} }
d->geometryRecursionBlock = false; d->geometryRecursionBlock = false;

View File

@ -3685,7 +3685,7 @@ void QTreeViewPrivate::updateScrollBars()
} }
vbar->setRange(0, contentsHeight - viewportSize.height()); vbar->setRange(0, contentsHeight - viewportSize.height());
vbar->setPageStep(viewportSize.height()); vbar->setPageStep(viewportSize.height());
// here we do not want to overwrite (a possible user set) single step vbar->setSingleStep(qMax(viewportSize.height() / (itemsInViewport + 1), 2));
} }
const int columnCount = header->count(); const int columnCount = header->count();
@ -3711,7 +3711,7 @@ void QTreeViewPrivate::updateScrollBars()
viewportSize = maxSize; viewportSize = maxSize;
hbar->setPageStep(viewportSize.width()); hbar->setPageStep(viewportSize.width());
hbar->setRange(0, qMax(horizontalLength - viewportSize.width(), 0)); hbar->setRange(0, qMax(horizontalLength - viewportSize.width(), 0));
// here we do not want to overwrite (a possible user set) single step hbar->setSingleStep(qMax(viewportSize.width() / (columnsInViewport + 1), 2));
} }
} }

View File

@ -3702,7 +3702,7 @@ void tst_QTableView::mouseWheel_data()
<< 10 + qApp->wheelScrollLines() << 10 + qApp->wheelScrollLines(); << 10 + qApp->wheelScrollLines() << 10 + qApp->wheelScrollLines();
QTest::newRow("scroll down per pixel") QTest::newRow("scroll down per pixel")
<< int(QAbstractItemView::ScrollPerPixel) << -120 << int(QAbstractItemView::ScrollPerPixel) << -120
<< 10 + qApp->wheelScrollLines() << 10 + qApp->wheelScrollLines(); << 10 + qApp->wheelScrollLines() * 89 << 10 + qApp->wheelScrollLines() * 28;
} }
void tst_QTableView::mouseWheel() void tst_QTableView::mouseWheel()