/***************************************************************************
* Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
* *
- * Based on the Itemviews NG project from Trolltech Labs: *
- * http://qt.gitorious.org/qt-labs/itemviews-ng *
+ * Based on the Itemviews NG project from Trolltech Labs *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
#include "private/kitemlistsmoothscroller.h"
#include <QApplication>
+ #include <QFontMetrics>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QScrollBar>
if (view->scrollOrientation() == Qt::Vertical) {
smoothScroller = m_verticalSmoothScroller;
scrollOffsetScrollBar = verticalScrollBar();
- singleStep = view->itemSizeHint().height();
+
+ // Don't scroll super fast when using a wheel mouse:
+ // We want to consider one "line" to be the text label which has a
+ // roughly fixed height rather than using the height of the icon which
+ // may be very tall
+ const QFontMetrics metrics(font());
+ singleStep = metrics.height() * QApplication::wheelScrollLines();
+
// We cannot use view->size().height() because this height might
// include the header widget, which is not part of the scrolled area.
pageStep = view->verticalPageStep();
/***************************************************************************
* Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
* *
- * Based on the Itemviews NG project from Trolltech Labs: *
- * http://qt.gitorious.org/qt-labs/itemviews-ng *
+ * Based on the Itemviews NG project from Trolltech Labs *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
return m_itemSize;
}
- QSizeF KItemListView::itemSizeHint() const
- {
- return m_sizeHintResolver->minSizeHint();
- }
-
const KItemListStyleOption& KItemListView::styleOption() const
{
return m_styleOption;
/***************************************************************************
* Copyright (C) 2011 by Peter Penz <peter.penz19@gmail.com> *
* *
- * Based on the Itemviews NG project from Trolltech Labs: *
- * http://qt.gitorious.org/qt-labs/itemviews-ng *
+ * Based on the Itemviews NG project from Trolltech Labs *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
*/
QSizeF itemSize() const;
- /**
- * @return The size hint of all items. It is provided by the KItemListSizeHintResolver.
- */
- QSizeF itemSizeHint() const;
-
const KItemListStyleOption& styleOption() const;
void setGeometry(const QRectF& rect) override;