Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit 7caef6d2 authored by Elvis Angelaccio's avatar Elvis Angelaccio

Port away from deprecated QStyle::SH_Widget_Animate

Summary:
Use the new QStyle::SH_Widget_Animation_Duration instead,
which allows us to not manually hardcode the duration.
We still use 1 if animations are disabled,
otherwise the scroll would not work at all.

See also D5883 for some background.

Test Plan: Played with different values in the Animation tab of the Breeze config dialog.

Reviewers: #dolphin, broulik

Reviewed By: broulik

Subscribers: broulik

Differential Revision: https://phabricator.kde.org/D10005
parent c5eb4e31
......@@ -35,8 +35,14 @@ KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar,
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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment