#include "kitemlistsmoothscroller_p.h"
+#include <KGlobalSettings>
#include <QEvent>
#include <QPropertyAnimation>
#include <QScrollBar>
m_animation(0)
{
m_animation = new QPropertyAnimation(this);
- m_animation->setDuration(200);
+ const int duration = (KGlobalSettings::graphicEffectsLevel() == KGlobalSettings::NoEffects) ? 1 : 100;
+ m_animation->setDuration(duration);
connect(m_animation, SIGNAL(stateChanged(QAbstractAnimation::State,QAbstractAnimation::State)),
this, SLOT(slotAnimationStateChanged(QAbstractAnimation::State,QAbstractAnimation::State)));
}
const qreal endOffset = currentOffset - distance;
-
if (m_smoothScrolling || animRunning) {
qreal startOffset = currentOffset;
if (animRunning) {
// assures that animation proceeds even in cases where new end-offset are triggered
// within a very short timeslots.
startOffset += (endOffset - currentOffset) * 1000 / (m_animation->duration() * 60);
+ if (currentOffset < endOffset) {
+ startOffset = qMin(startOffset, endOffset);
+ } else {
+ startOffset = qMax(startOffset, endOffset);
+ }
}
m_animation->stop();
#include <KDebug>
+#include <KGlobalSettings>
#include <QApplication>
#include <QPainter>
#include <QPropertyAnimation>
if (!m_hoverAnimation) {
m_hoverAnimation = new QPropertyAnimation(this, "hoverOpacity", this);
- m_hoverAnimation->setDuration(200);
+ const int duration = (KGlobalSettings::graphicEffectsLevel() == KGlobalSettings::NoEffects) ? 1 : 200;
+ m_hoverAnimation->setDuration(duration);
connect(m_hoverAnimation, SIGNAL(finished()), this, SLOT(slotHoverAnimationFinished()));
}
m_hoverAnimation->stop();