diff options
Diffstat (limited to 'src/kitemviews/kstandarditemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kstandarditemlistview.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/kitemviews/kstandarditemlistview.cpp b/src/kitemviews/kstandarditemlistview.cpp index a4e7c3edd..0d57388f3 100644 --- a/src/kitemviews/kstandarditemlistview.cpp +++ b/src/kitemviews/kstandarditemlistview.cpp @@ -4,6 +4,8 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +#include <QApplication> + #include "kstandarditemlistview.h" #include "kstandarditemlistwidget.h" @@ -110,6 +112,17 @@ bool KStandardItemListView::itemLayoutSupportsItemExpanding(ItemLayout layout) c return layout == DetailsLayout; } +qreal KStandardItemListView::scrollSingleStep() const +{ + if (itemLayout() == DetailsLayout) { + // We want each scroll in details view mode to move by some number of complete rows. + const int rowsPerFullScroll = qCeil((KItemListView::scrollSingleStep() * QApplication::wheelScrollLines()) / itemSize().height()); + return (rowsPerFullScroll * itemSize().height()) / QApplication::wheelScrollLines(); + } + + return KItemListView::scrollSingleStep(); +} + void KStandardItemListView::onItemLayoutChanged(ItemLayout current, ItemLayout previous) { Q_UNUSED(current) |
