┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-12-18 15:33:53 +0100
committerPeter Penz <[email protected]>2011-12-18 15:38:42 +0100
commit45a42d6a4285ae9829c39717d7f8893b36e6df29 (patch)
treee682900d8b494ec9d91a8633ca6a25c7f2796648 /src
parent36a97150df9b08e7c56bede995c01e4a20a510a5 (diff)
Turn off animations if they are globally disabled
Respect the graphicseffect level in the system settings. This will disable all item-animations if the graphicseffect level is "NoEffect". The smooth scrolling won't be disabled in this case, but the duration has been made smaller so that it is not recognized as an animation. BUG: 289238 FIXED-IN: 4.8.0
Diffstat (limited to 'src')
-rw-r--r--src/kitemviews/kitemlistsmoothscroller.cpp2
-rw-r--r--src/kitemviews/kitemlistviewanimation.cpp14
-rw-r--r--src/kitemviews/kitemlistviewanimation_p.h1
3 files changed, 11 insertions, 6 deletions
diff --git a/src/kitemviews/kitemlistsmoothscroller.cpp b/src/kitemviews/kitemlistsmoothscroller.cpp
index 5c1bf3c5a..d966920cb 100644
--- a/src/kitemviews/kitemlistsmoothscroller.cpp
+++ b/src/kitemviews/kitemlistsmoothscroller.cpp
@@ -35,7 +35,7 @@ KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar,
m_animation(0)
{
m_animation = new QPropertyAnimation(this);
- m_animation->setDuration(300);
+ m_animation->setDuration(200);
connect(m_animation, SIGNAL(stateChanged(QAbstractAnimation::State,QAbstractAnimation::State)),
this, SLOT(slotAnimationStateChanged(QAbstractAnimation::State,QAbstractAnimation::State)));
diff --git a/src/kitemviews/kitemlistviewanimation.cpp b/src/kitemviews/kitemlistviewanimation.cpp
index 9b122ee8c..9184b7144 100644
--- a/src/kitemviews/kitemlistviewanimation.cpp
+++ b/src/kitemviews/kitemlistviewanimation.cpp
@@ -22,16 +22,21 @@
#include "kitemlistview.h"
#include <KDebug>
+#include <KGlobalSettings>
#include <QGraphicsWidget>
#include <QPropertyAnimation>
KItemListViewAnimation::KItemListViewAnimation(QObject* parent) :
QObject(parent),
+ m_animationDuration(200),
m_scrollOrientation(Qt::Vertical),
m_scrollOffset(0),
m_animation()
{
+ if (KGlobalSettings::graphicEffectsLevel() == KGlobalSettings::NoEffects) {
+ m_animationDuration = 1;
+ }
}
KItemListViewAnimation::~KItemListViewAnimation()
@@ -117,7 +122,6 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type,
{
stop(widget, type);
- const int duration = 200;
QPropertyAnimation* propertyAnim = 0;
switch (type) {
@@ -128,7 +132,7 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type,
}
propertyAnim = new QPropertyAnimation(widget, "pos");
- propertyAnim->setDuration(duration);
+ propertyAnim->setDuration(m_animationDuration);
propertyAnim->setEndValue(newPos);
break;
}
@@ -136,7 +140,7 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type,
case CreateAnimation: {
propertyAnim = new QPropertyAnimation(widget, "opacity");
propertyAnim->setEasingCurve(QEasingCurve::InQuart);
- propertyAnim->setDuration(duration);
+ propertyAnim->setDuration(m_animationDuration);
propertyAnim->setStartValue(0.0);
propertyAnim->setEndValue(1.0);
break;
@@ -145,7 +149,7 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type,
case DeleteAnimation: {
propertyAnim = new QPropertyAnimation(widget, "opacity");
propertyAnim->setEasingCurve(QEasingCurve::OutQuart);
- propertyAnim->setDuration(duration);
+ propertyAnim->setDuration(m_animationDuration);
propertyAnim->setStartValue(1.0);
propertyAnim->setEndValue(0.0);
break;
@@ -158,7 +162,7 @@ void KItemListViewAnimation::start(QGraphicsWidget* widget, AnimationType type,
}
propertyAnim = new QPropertyAnimation(widget, "size");
- propertyAnim->setDuration(duration);
+ propertyAnim->setDuration(m_animationDuration);
propertyAnim->setEndValue(newSize);
break;
}
diff --git a/src/kitemviews/kitemlistviewanimation_p.h b/src/kitemviews/kitemlistviewanimation_p.h
index b3a95a871..ecaa5ff8b 100644
--- a/src/kitemviews/kitemlistviewanimation_p.h
+++ b/src/kitemviews/kitemlistviewanimation_p.h
@@ -69,6 +69,7 @@ private slots:
private:
enum { AnimationTypeCount = 4 };
+ int m_animationDuration;
Qt::Orientation m_scrollOrientation;
qreal m_scrollOffset;
QHash<QGraphicsWidget*, QPropertyAnimation*> m_animation[AnimationTypeCount];