From 90beb4a5e37b887caad1e767046a42dad0af1ab3 Mon Sep 17 00:00:00 2001 From: Elvis Angelaccio Date: Sun, 20 Nov 2016 12:21:29 +0100 Subject: Fix slow scrolling in dock panels Commit f688bcd1f1 fixed slow scrolling with xf86-input-libinput on DolphinView. However the commit also exposed a bug in the Dolphin scrolling algorithm, which was previously hidden. This resulted in slow scrolling in dock panels (Places and Folders), with both xf86-input-evdev and xf86-input-libinput drivers, as well as libinput on Wayland. KItemListContainer::updateScrollOffsetScrollBar() relied on the view's itemSize() method to compute the scrollbar's singleStep, but this QSize was invalid for the dock panels' views. We use a new itemSizeHint() method instead, which is always valid and also adapts to the current icon size set in the view. BUG: 365968 FIXED-IN: 16.12.0 REVIEW: 129409 --- src/kitemviews/kitemlistview.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/kitemviews/kitemlistview.h') diff --git a/src/kitemviews/kitemlistview.h b/src/kitemviews/kitemlistview.h index 9adf9f86f..c93297c47 100644 --- a/src/kitemviews/kitemlistview.h +++ b/src/kitemviews/kitemlistview.h @@ -154,10 +154,15 @@ public: /** * @return The basic size of all items. The size of an item may be larger than - * the basic size (see KItemListView::itemSizeHint() and KItemListView::itemRect()). + * the basic size (see KItemListView::itemRect()). */ QSizeF itemSize() const; + /** + * @return The size hint of all items. It is provided by the KItemListSizeHintResolver. + */ + QSizeF itemSizeHint() const; + const KItemListStyleOption& styleOption() const; virtual void setGeometry(const QRectF& rect) Q_DECL_OVERRIDE; -- cgit v1.3