wok annotate qt4/stuff/fix-scroll-when-last-item-is-removed.patch @ rev 7647

busybox/init: add rootuuid= support
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Dec 14 22:29:55 2010 +0100 (2010-12-14)
parents
children
rev   line source
slaxemulator@6976 1 From 6da6b7099d4e0b49329793e4b90703ec3d868048 Mon Sep 17 00:00:00 2001
slaxemulator@6976 2 From: Frank Reininghaus <frank78ac@googlemail.com>
slaxemulator@6976 3 Date: Wed, 22 Sep 2010 10:19:59 +0200
slaxemulator@6976 4 Subject: [PATCH] QTreeView: do not scroll to top if last item is removed
slaxemulator@6976 5
slaxemulator@6976 6 When the last item is the current item and is removed,
slaxemulator@6976 7 QTreeViewPrivate::updateScrollBars() is called after QTreeViewPrivate's
slaxemulator@6976 8 viewItems member is cleared. This commit makes sure that viewItems is
slaxemulator@6976 9 restored by calling QTreeView::doItemsLayout() in this case, preventing
slaxemulator@6976 10 that the scroll bar range is set to zero temporarily and the view is
slaxemulator@6976 11 scrolled to the top unexpectedly (this was a regression in 4.7.0:
slaxemulator@6976 12 QTBUG-13567).
slaxemulator@6976 13
slaxemulator@6976 14 Merge-request: 2481
slaxemulator@6976 15 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
slaxemulator@6976 16 ---
slaxemulator@6976 17 src/gui/itemviews/qtreeview.cpp | 4 ++++
slaxemulator@6976 18 tests/auto/qtreeview/tst_qtreeview.cpp | 22 ++++++++++++++++++++++
slaxemulator@6976 19 2 files changed, 26 insertions(+), 0 deletions(-)
slaxemulator@6976 20
slaxemulator@6976 21 diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
slaxemulator@6976 22 index b797776..40b51fe 100644
slaxemulator@6976 23 --- a/src/gui/itemviews/qtreeview.cpp
slaxemulator@6976 24 +++ b/src/gui/itemviews/qtreeview.cpp
slaxemulator@6976 25 @@ -3435,6 +3435,10 @@ void QTreeViewPrivate::updateScrollBars()
slaxemulator@6976 26 if (!viewportSize.isValid())
slaxemulator@6976 27 viewportSize = QSize(0, 0);
slaxemulator@6976 28
slaxemulator@6976 29 + if (viewItems.isEmpty()) {
slaxemulator@6976 30 + q->doItemsLayout();
slaxemulator@6976 31 + }
slaxemulator@6976 32 +
slaxemulator@6976 33 int itemsInViewport = 0;
slaxemulator@6976 34 if (uniformRowHeights) {
slaxemulator@6976 35 if (defaultItemHeight <= 0)
slaxemulator@6976 36 --
slaxemulator@6976 37 1.6.1
slaxemulator@6976 38