optimize timeline settings

Change-Id: I38f0b0938e054d9b1201a6871a716131a0b07d1c
This commit is contained in:
石博文 2018-03-14 11:24:57 +08:00
parent aa04a45128
commit 48131a8689
Notes: gerrit 2018-03-14 03:57:34 +00:00
Verified+1: Anonymous Coward #1000004
Code-Review+2: 石博文 <sbw@sbw.so>
Submitted-by: 石博文 <sbw@sbw.so>
Submitted-at: Wed, 14 Mar 2018 03:57:33 +0000
Reviewed-on: https://cr.deepin.io/32579
Project: dde/dde-dock
Branch: refs/heads/master

View File

@ -594,7 +594,13 @@ void AppItem::playSwingEffect()
m_itemAnimation.timeLine()->stop();
m_itemAnimation.clear();
} else {
m_itemAnimation.setTimeLine(new QTimeLine);
QTimeLine *tl = new QTimeLine(1200, this);
tl->setFrameRange(0, 60);
tl->setLoopCount(1);
tl->setEasingCurve(QEasingCurve::Linear);
tl->setStartFrame(0);
m_itemAnimation.setTimeLine(tl);
}
m_itemScene->clear();
@ -612,13 +618,6 @@ void AppItem::playSwingEffect()
m_swingEffectView->setSceneRect(r);
m_swingEffectView->setFixedSize(r.size());
QTimeLine *tl = m_itemAnimation.timeLine();
tl->setDuration(1200);
tl->setFrameRange(0, 60);
tl->setLoopCount(1);
tl->setEasingCurve(QEasingCurve::Linear);
tl->setStartFrame(0);
const int px = qreal(-icon.rect().center().x()) / ratio;
const int py = qreal(-icon.rect().center().y()) / ratio - 18.;
const QPoint pos = r.center() + QPoint(0, 18);
@ -629,6 +628,7 @@ void AppItem::playSwingEffect()
m_itemAnimation.setRotationAt(i / 60.0, Frames[i]);
}
QTimeLine *tl = m_itemAnimation.timeLine();
connect(tl, &QTimeLine::finished, m_swingEffectView, &QGraphicsView::hide);
connect(tl, &QTimeLine::finished, this, &AppItem::checkAttentionEffect);