X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/576a97d8eb9601f4ad74def6528cc90fffe97b1c..40cc5f665d:/src/kitemviews/private/kitemlistsmoothscroller.cpp diff --git a/src/kitemviews/private/kitemlistsmoothscroller.cpp b/src/kitemviews/private/kitemlistsmoothscroller.cpp index 6b475b5f0..343399179 100644 --- a/src/kitemviews/private/kitemlistsmoothscroller.cpp +++ b/src/kitemviews/private/kitemlistsmoothscroller.cpp @@ -21,13 +21,8 @@ KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar, m_animation(nullptr) { m_animation = new QPropertyAnimation(this); -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) const int animationDuration = m_scrollBar->style()->styleHint(QStyle::SH_Widget_Animation_Duration, nullptr, m_scrollBar); const bool animationEnabled = (animationDuration > 0); - #else - const int animationDuration = 100; - const bool animationEnabled = m_scrollBar->style()->styleHint(QStyle::SH_Widget_Animate, nullptr, m_scrollBar); -#endif m_animation->setDuration(animationEnabled ? animationDuration : 1); connect(m_animation, &QPropertyAnimation::stateChanged, this, &KItemListSmoothScroller::slotAnimationStateChanged); @@ -180,6 +175,9 @@ void KItemListSmoothScroller::slotAnimationStateChanged(QAbstractAnimation::Stat if (newState == QAbstractAnimation::Stopped && m_smoothScrolling && !m_scrollBarPressed) { m_smoothScrolling = false; } + if (newState == QAbstractAnimation::Stopped) { + Q_EMIT scrollingStopped(); + } } void KItemListSmoothScroller::handleWheelEvent(QWheelEvent* event) @@ -188,9 +186,15 @@ void KItemListSmoothScroller::handleWheelEvent(QWheelEvent* event) m_smoothScrolling = true; +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QWheelEvent *copy = event->clone(); + QApplication::sendEvent(m_scrollBar, copy); + event->setAccepted(copy->isAccepted()); +#else QWheelEvent copy = *event; QApplication::sendEvent(m_scrollBar, ©); event->setAccepted(copy.isAccepted()); +#endif m_smoothScrolling = previous; }