revert fade animation to revision: 1058158 and fix it: Qt 4.6 changes updateState arguments newState and oldState

svn path=/trunk/KDE/kdelibs/; revision=1058592
This commit is contained in:
Igor Trindade Oliveira 2009-12-04 19:06:01 +00:00
parent 8f4880f66b
commit daad380026
2 changed files with 13 additions and 25 deletions

View File

@ -65,45 +65,34 @@ void FadeAnimation::setWidgetToAnimate(QGraphicsWidget *widget)
Animation::setWidgetToAnimate(widget);
if (widget) {
//widget->setOpacity(m_startOpacity);
widget->setOpacity(m_startOpacity);
}
if(m_anim.data()) {
delete m_anim.data();
m_anim.clear();
}
QPropertyAnimation *anim = new QPropertyAnimation(widget, "opacity", widget);
anim->setStartValue(startOpacity());
anim->setEndValue(targetOpacity());
m_anim = anim;
}
void FadeAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState)
void FadeAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
{
QGraphicsWidget *w = widgetToAnimate();
if (!w) {
return;
}
if( (oldState == QAbstractAnimation::Stopped) &&
(newState == QAbstractAnimation::Running)) {
QPropertyAnimation *anim = m_anim.data();
anim->setDirection(direction());
anim->setStartValue(startOpacity());
anim->setEndValue(targetOpacity());
anim->start();
if (oldState == Stopped && newState == Running) {
w->setOpacity(direction() == Forward ? m_startOpacity : m_targetOpacity);
} else if (newState == Stopped) {
w->setOpacity(direction() == Forward ? m_targetOpacity : m_startOpacity);
}
}
void FadeAnimation::updateCurrentTime(int currentTime)
{
m_anim.data()->setCurrentTime(currentTime);
QGraphicsWidget *w = widgetToAnimate();
if (w) {
qreal delta = currentTime / qreal(duration());
delta = (m_startOpacity - m_targetOpacity) * delta;
w->setOpacity(m_startOpacity - delta);
}
Animation::updateCurrentTime(currentTime);
}
} //namespace Plasma

View File

@ -57,13 +57,12 @@ public:
void setWidgetToAnimate(QGraphicsWidget *widget);
protected:
void updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState);
void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState);
void updateCurrentTime(int currentTime);
private:
qreal m_startOpacity;
qreal m_targetOpacity;
QWeakPointer<QPropertyAnimation> m_anim;
};
}