The API changed for rotations, requiring another argument for positions.
[contacts_plasmoid.git] / pulseanimation.cpp
blob1a5c5ba66f7fb0a11e25d1e83504baedea17fb8a
1 /////////////////////////////////////////////////////////////////////////
2 // pulseanimation.cpp //
3 // //
4 // Copyright(C) 2009 Igor Trindade Oliveira <igor.oliveira@indt.org.br>//
5 // Copyright(C) 2009 Adenilson Cavalcanti <adenilson.silva@idnt.org.br>//
6 // //
7 // This library is free software; you can redistribute it and/or //
8 // modify it under the terms of the GNU Lesser General Public //
9 // License as published by the Free Software Foundation; either //
10 // version 2.1 of the License, or (at your option) any later version. //
11 // //
12 // This library is distributed in the hope that it will be useful, //
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
15 // Lesser General Public License for more details. //
16 // //
17 // You should have received a copy of the GNU Lesser General Public //
18 // License along with this library; if not, write to the Free Software //
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA //
20 // 02110-1301 USA //
21 /////////////////////////////////////////////////////////////////////////
22 #include "pulseanimation.h"
24 PulseAnimation::PulseAnimation(QGraphicsWidget *target, QObject *parent)
25 : QObject(parent), m_inside(false)
27 target->installEventFilter(this);
28 target->setAcceptHoverEvents(true);
30 qDebug()<<"here3";
32 QSequentialAnimationGroup *group = new QSequentialAnimationGroup(this);
33 QPropertyAnimation *anim1 = new QPropertyAnimation(target, "yScale");
34 QVariant originalValue = target->property("yScale");
35 // ### duration etc. should be configurable
36 anim1->setDuration(50);
37 anim1->setEndValue(1.40);
38 group->addAnimation(anim1);
39 QPropertyAnimation *anim2 = new QPropertyAnimation(target, "yScale");
40 anim2->setDuration(1250);
41 anim2->setEndValue(originalValue);
42 anim2->setEasingCurve(QEasingCurve::OutElastic);
43 group->addAnimation(anim2);
44 //QObject::connect(group, SIGNAL(finished()), this, SLOT(onAnimationFinished()));
45 m_animation = group;
48 bool PulseAnimation::eventFilter(QObject *o, QEvent *e)
50 QGraphicsWidget *widget = qobject_cast<QGraphicsWidget*>(o);
51 qDebug()<<"here 2";
52 if (!widget)
53 return false;
54 if (e->type() == QEvent::GraphicsSceneHoverEnter) {
55 m_inside = true;
56 m_animation->start();
57 } else if (e->type() == QEvent::GraphicsSceneHoverLeave) {
58 m_inside = false;
60 return false;