X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/96eff55e75bfd0f1e3f866b4af14f3778e9002b3..405dd624fb:/src/kitemviews/private/kitemlistsmoothscroller.cpp diff --git a/src/kitemviews/private/kitemlistsmoothscroller.cpp b/src/kitemviews/private/kitemlistsmoothscroller.cpp index 6bfdba4c9..cdb7f255b 100644 --- a/src/kitemviews/private/kitemlistsmoothscroller.cpp +++ b/src/kitemviews/private/kitemlistsmoothscroller.cpp @@ -20,11 +20,10 @@ #include "kitemlistsmoothscroller.h" #include -#include #include #include -#include #include +#include KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar, QObject* parent) : @@ -32,11 +31,17 @@ KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar, m_scrollBarPressed(false), m_smoothScrolling(true), m_scrollBar(scrollBar), - m_animation(0) + m_animation(nullptr) { m_animation = new QPropertyAnimation(this); - const int duration = m_scrollBar->style()->styleHint(QStyle::SH_Widget_Animate, nullptr, m_scrollBar) ? 100 : 1; - m_animation->setDuration(duration); +#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); @@ -184,7 +189,7 @@ bool KItemListSmoothScroller::eventFilter(QObject* obj, QEvent* event) void KItemListSmoothScroller::slotAnimationStateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) { - Q_UNUSED(oldState); + Q_UNUSED(oldState) if (newState == QAbstractAnimation::Stopped && m_smoothScrolling && !m_scrollBarPressed) { m_smoothScrolling = false; }