diff options
-rw-r--r-- | qt-ui/profile/divelineitem.cpp | 24 | ||||
-rw-r--r-- | qt-ui/profile/divelineitem.h | 17 | ||||
-rw-r--r-- | subsurface.pro | 6 |
3 files changed, 45 insertions, 2 deletions
diff --git a/qt-ui/profile/divelineitem.cpp b/qt-ui/profile/divelineitem.cpp new file mode 100644 index 000000000..9ceea1e70 --- /dev/null +++ b/qt-ui/profile/divelineitem.cpp @@ -0,0 +1,24 @@ +#include "divelineitem.h" +#include <QPropertyAnimation> + +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); +} + +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); +} diff --git a/qt-ui/profile/divelineitem.h b/qt-ui/profile/divelineitem.h new file mode 100644 index 000000000..497f803eb --- /dev/null +++ b/qt-ui/profile/divelineitem.h @@ -0,0 +1,17 @@ +#ifndef DIVELINEITEM_H +#define DIVELINEITEM_H + +#include <QObject> +#include <QGraphicsLineItem> + +class DiveLineItem : public QObject, public QGraphicsLineItem { + Q_OBJECT + Q_PROPERTY(QPointF pos READ pos WRITE setPos) + Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity) +public: + DiveLineItem(QGraphicsItem *parent = 0); + void animatedHide(); + void animateMoveTo(qreal x, qreal y); +}; + +#endif
\ No newline at end of file diff --git a/subsurface.pro b/subsurface.pro index 0c3fdb95b..1ba852d81 100644 --- a/subsurface.pro +++ b/subsurface.pro @@ -65,7 +65,8 @@ HEADERS = \ qt-ui/usermanual.h \ qt-ui/profile/profilewidget2.h \ qt-ui/profile/diverectitem.h \ - qt-ui/profile/divepixmapitem.h + qt-ui/profile/divepixmapitem.h \ + qt-ui/profile/divelineitem.h SOURCES = \ deco.c \ @@ -118,7 +119,8 @@ SOURCES = \ qt-ui/usermanual.cpp \ qt-ui/profile/profilewidget2.cpp \ qt-ui/profile/diverectitem.cpp \ - qt-ui/profile/divepixmapitem.cpp + qt-ui/profile/divepixmapitem.cpp \ + qt-ui/profile/divelineitem.cpp linux*: SOURCES += linux.c mac: SOURCES += macos.c |