From 451fcee8a8ec8ae6204e5bd0b26fff5c1292c677 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Tue, 29 May 2018 20:20:19 +0200 Subject: QTableView: update editor geometries directly after scrollbars are adjusted QTableView::doItemsLayout() updated the scroll offset for the vertical header after layouting was done. Since the scroll offset affects the viewport of the editors, the adjustment was done too late. Therefore we update the scroll offset right after the scrollbars are set inside QTableView::updateGeometries() [ChangeLog][QtWidgets][QTableView] Fixed calculating geometries for editors Task-number: QTBUG-48244 Task-number: QTBUG-49548 Change-Id: I3b057764cf99d42d861928a1c73277d34b440f9a Reviewed-by: David Faure --- src/widgets/itemviews/qtableview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/itemviews') diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp index 5ae1994559..9c2b3e5b54 100644 --- a/src/widgets/itemviews/qtableview.cpp +++ b/src/widgets/itemviews/qtableview.cpp @@ -1176,7 +1176,6 @@ void QTableView::doItemsLayout() { Q_D(QTableView); QAbstractItemView::doItemsLayout(); - d->verticalHeader->d_func()->setScrollOffset(verticalScrollBar(), verticalScrollMode()); if (!d->verticalHeader->updatesEnabled()) d->verticalHeader->setUpdatesEnabled(true); } @@ -2223,6 +2222,7 @@ void QTableView::updateGeometries() verticalScrollBar()->setRange(0, verticalLength - vsize.height()); verticalScrollBar()->d_func()->itemviewChangeSingleStep(qMax(vsize.height() / (rowsInViewport + 1), 2)); } + d->verticalHeader->d_func()->setScrollOffset(verticalScrollBar(), verticalScrollMode()); d->geometryRecursionBlock = false; QAbstractItemView::updateGeometries(); -- cgit v1.2.3