From c1a086da25e746ddf7dbe7f212d3cc61a9174035 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Mon, 29 Jun 2009 19:32:39 +0000 Subject: Fixed issue that the scroll position is reset if the focus of the itemview changes. BUG: 197951 svn path=/trunk/KDE/kdebase/apps/; revision=989236 --- src/dolphinviewautoscroller.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/dolphinviewautoscroller.cpp') diff --git a/src/dolphinviewautoscroller.cpp b/src/dolphinviewautoscroller.cpp index 75dab3214..ea9b1a2d6 100644 --- a/src/dolphinviewautoscroller.cpp +++ b/src/dolphinviewautoscroller.cpp @@ -54,6 +54,17 @@ bool DolphinViewAutoScroller::isActive() const return m_timer->isActive(); } +void DolphinViewAutoScroller::handleCurrentIndexChange(const QModelIndex& current, + const QModelIndex& previous) +{ + // When the autoscroller is inactive and a key has been pressed, it must be + // assured that the current item stays visible. The check whether the previous + // item is valid is important because of #197951. + if (current.isValid() && previous.isValid() && !isActive()) { + m_itemView->scrollTo(current); + } +} + bool DolphinViewAutoScroller::eventFilter(QObject* watched, QEvent* event) { if (watched == m_itemView->viewport()) { -- cgit v1.3