X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a14d8bf655917dcf806e22bdfafb03a35f5c8680..5070666ad2cd5fe3e559adca00a52aed5d137153:/src/kitemviews/kitemlistcontainer.cpp diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index ec759bdb3..c68af6d94 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -120,7 +120,14 @@ void KItemListContainer::scrollContentsBy(int dx, int dy) return; } + const QScrollBar* scrollBar = (view->scrollOrientation() == Qt::Vertical) + ? verticalScrollBar() : horizontalScrollBar(); const qreal currentOffset = view->offset(); + if (static_cast(currentOffset) == scrollBar->value()) { + // The current offset is already synchronous to the scrollbar + return; + } + qreal offsetDiff = (view->scrollOrientation() == Qt::Vertical) ? dy : dx; const bool animRunning = (m_smoothScrollingAnimation->state() == QAbstractAnimation::Running); @@ -192,7 +199,13 @@ bool KItemListContainer::eventFilter(QObject* obj, QEvent* event) void KItemListContainer::wheelEvent(QWheelEvent* event) { + if (event->modifiers().testFlag(Qt::ControlModifier)) { + event->ignore(); + return; + } + KItemListView* view = m_controller->view(); + if (!view || event->orientation() != view->scrollOrientation()) { return; }