]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/private/kitemlistsmoothscroller.cpp
Add Page count and Publisher columns
[dolphin.git] / src / kitemviews / private / kitemlistsmoothscroller.cpp
index 6b475b5f03e425a80640021ed30b871f8907f4e8..343399179b39d70d73489a1c31d83dc95bbc12a2 100644 (file)
@@ -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, &copy);
     event->setAccepted(copy.isAccepted());
+#endif
 
     m_smoothScrolling = previous;
 }