From f2873a9738299c3d149b12b2dab5c57139e9a716 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 7 May 2008 06:11:54 +0000 Subject: enable the scrollTo() functionality if it has been triggered by a key-press svn path=/trunk/KDE/kdebase/apps/; revision=804928 --- src/dolphiniconsview.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/dolphiniconsview.cpp') diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index f763c5476..d30012d45 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -40,6 +40,7 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, DolphinController* controller) : KCategorizedView(parent), + m_enableScrollTo(false), m_controller(controller), m_selectionManager(0), m_categoryDrawer(0), @@ -137,12 +138,15 @@ DolphinIconsView::~DolphinIconsView() void DolphinIconsView::scrollTo(const QModelIndex& index, ScrollHint hint) { - Q_UNUSED(index); - Q_UNUSED(hint); - // Disable the QListView implementation of scrollTo(), as QAbstractItemView - // wants to scroll to the current index each time the layout has been changed. - // This becomes an issue when previews are loaded and the scrollbar is used: the - // scrollbar will always be reset to 0 on each new preview. + // Enable the QListView implementation of scrollTo() only if it has been + // triggered by a key press. Otherwise QAbstractItemView wants to scroll to the current + // index each time the layout has been changed. This becomes an issue when + // previews are loaded and the scrollbar is used: the scrollbar will always + // be reset to 0 on each new preview. + if (m_enableScrollTo) { + KCategorizedView::scrollTo(index, hint); + m_enableScrollTo = false; + } } void DolphinIconsView::dataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight) @@ -264,6 +268,7 @@ void DolphinIconsView::keyPressEvent(QKeyEvent* event) { KCategorizedView::keyPressEvent(event); m_controller->handleKeyPressEvent(event); + m_enableScrollTo = true; // see DolphinIconsView::scrollTo() } void DolphinIconsView::wheelEvent(QWheelEvent* event) -- cgit v1.3