diff options
-rw-r--r-- | qt-ui/profile/animationfunctions.cpp | 24 | ||||
-rw-r--r-- | qt-ui/profile/animationfunctions.h | 12 | ||||
-rw-r--r-- | qt-ui/profile/divelineitem.cpp | 12 | ||||
-rw-r--r-- | qt-ui/profile/divetextitem.cpp | 12 | ||||
-rw-r--r-- | subsurface.pro | 6 |
5 files changed, 46 insertions, 20 deletions
diff --git a/qt-ui/profile/animationfunctions.cpp b/qt-ui/profile/animationfunctions.cpp new file mode 100644 index 000000000..1e307db87 --- /dev/null +++ b/qt-ui/profile/animationfunctions.cpp @@ -0,0 +1,24 @@ +#include "animationfunctions.h" +#include <QPropertyAnimation> +#include <QPointF> + +namespace Animations{ + +void hide(QObject* obj) +{ + QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity"); + obj->connect(animation, SIGNAL(finished()), SLOT(deleteLater())); + animation->setStartValue(1); + animation->setEndValue(0); + animation->start(QAbstractAnimation::DeleteWhenStopped); +} + +void moveTo(QObject* obj, qreal x, qreal y) +{ + QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos"); + animation->setStartValue(obj->property("pos").toPointF()); + animation->setEndValue(QPointF(x, y)); + animation->start(QAbstractAnimation::DeleteWhenStopped); +} + +} diff --git a/qt-ui/profile/animationfunctions.h b/qt-ui/profile/animationfunctions.h new file mode 100644 index 000000000..e1a0d4dee --- /dev/null +++ b/qt-ui/profile/animationfunctions.h @@ -0,0 +1,12 @@ +#ifndef ANIMATIONFUNCTIONS_H +#define ANIMATIONFUNCTIONS_H + +#include <QtGlobal> +class QObject; + +namespace Animations{ + void hide(QObject *obj); + void moveTo(QObject *obj, qreal x, qreal y); +}; + +#endif
\ No newline at end of file diff --git a/qt-ui/profile/divelineitem.cpp b/qt-ui/profile/divelineitem.cpp index 9ceea1e70..834c1b8e3 100644 --- a/qt-ui/profile/divelineitem.cpp +++ b/qt-ui/profile/divelineitem.cpp @@ -1,4 +1,5 @@ #include "divelineitem.h" +#include "animationfunctions.h" #include <QPropertyAnimation> DiveLineItem::DiveLineItem(QGraphicsItem *parent) : QGraphicsLineItem(parent) @@ -8,17 +9,10 @@ DiveLineItem::DiveLineItem(QGraphicsItem *parent) : QGraphicsLineItem(parent) void DiveLineItem::animatedHide() { - QPropertyAnimation *animation = new QPropertyAnimation(this, "opacity"); - connect(animation, SIGNAL(finished()), SLOT(deleteLater())); - animation->setStartValue(1); - animation->setEndValue(0); - animation->start(QAbstractAnimation::DeleteWhenStopped); + Animations::hide(this); } void DiveLineItem::animateMoveTo(qreal x, qreal y) { - QPropertyAnimation *animation = new QPropertyAnimation(this, "pos"); - animation->setStartValue(property("pos").toPointF()); - animation->setEndValue(QPointF(x, y)); - animation->start(QAbstractAnimation::DeleteWhenStopped); + Animations::moveTo(this, x, y); } diff --git a/qt-ui/profile/divetextitem.cpp b/qt-ui/profile/divetextitem.cpp index 417f537c2..7f9adf181 100644 --- a/qt-ui/profile/divetextitem.cpp +++ b/qt-ui/profile/divetextitem.cpp @@ -1,4 +1,5 @@ #include "divetextitem.h" +#include "animationfunctions.h" #include <QPropertyAnimation> DiveTextItem::DiveTextItem(QGraphicsItem* parent): QGraphicsSimpleTextItem(parent) @@ -38,17 +39,10 @@ void DiveTextItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* opti void DiveTextItem::animatedHide() { - QPropertyAnimation *animation = new QPropertyAnimation(this, "opacity"); - connect(animation, SIGNAL(finished()), SLOT(deleteLater())); - animation->setStartValue(1); - animation->setEndValue(0); - animation->start(QAbstractAnimation::DeleteWhenStopped); + Animations::hide(this); } void DiveTextItem::animateMoveTo(qreal x, qreal y) { - QPropertyAnimation *animation = new QPropertyAnimation(this, "pos"); - animation->setStartValue(property("pos").toPointF()); - animation->setEndValue(QPointF(x, y)); - animation->start(QAbstractAnimation::DeleteWhenStopped); + Animations::moveTo(this, x, y); }
\ No newline at end of file diff --git a/subsurface.pro b/subsurface.pro index 1fcabe2bd..2753e3374 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -67,7 +67,8 @@ HEADERS = \ qt-ui/profile/diverectitem.h \ qt-ui/profile/divepixmapitem.h \ qt-ui/profile/divelineitem.h \ - qt-ui/profile/divetextitem.h + qt-ui/profile/divetextitem.h \ + qt-ui/profile/animationfunctions.h SOURCES = \ deco.c \ @@ -122,7 +123,8 @@ SOURCES = \ qt-ui/profile/diverectitem.cpp \ qt-ui/profile/divepixmapitem.cpp \ qt-ui/profile/divelineitem.cpp \ - qt-ui/profile/divetextitem.cpp + qt-ui/profile/divetextitem.cpp \ + qt-ui/profile/animationfunctions.cpp linux*: SOURCES += linux.c mac: SOURCES += macos.c |