diff options
-rw-r--r-- | qt-ui/profile/animationfunctions.cpp | 12 | ||||
-rw-r--r-- | qt-ui/profile/animationfunctions.h | 1 | ||||
-rw-r--r-- | qt-ui/profile/divepixmapitem.cpp | 4 |
3 files changed, 16 insertions, 1 deletions
diff --git a/qt-ui/profile/animationfunctions.cpp b/qt-ui/profile/animationfunctions.cpp index dc46d7f82..fb1c85f8d 100644 --- a/qt-ui/profile/animationfunctions.cpp +++ b/qt-ui/profile/animationfunctions.cpp @@ -18,6 +18,18 @@ namespace Animations { } } + void show(QObject *obj) + { + if (prefs.animation_speed != 0) { + QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity"); + animation->setStartValue(0); + animation->setEndValue(1); + animation->start(QAbstractAnimation::DeleteWhenStopped); + } else { + obj->setProperty("opacity", 1); + } + } + void animDelete(QObject *obj) { if (prefs.animation_speed != 0) { diff --git a/qt-ui/profile/animationfunctions.h b/qt-ui/profile/animationfunctions.h index d8e44be0c..3cfcff563 100644 --- a/qt-ui/profile/animationfunctions.h +++ b/qt-ui/profile/animationfunctions.h @@ -8,6 +8,7 @@ class QObject; namespace Animations { void hide(QObject *obj); + void show(QObject *obj); void moveTo(QObject *obj, qreal x, qreal y); void moveTo(QObject *obj, const QPointF &pos); void animDelete(QObject *obj); diff --git a/qt-ui/profile/divepixmapitem.cpp b/qt-ui/profile/divepixmapitem.cpp index 41541c21e..853b95029 100644 --- a/qt-ui/profile/divepixmapitem.cpp +++ b/qt-ui/profile/divepixmapitem.cpp @@ -94,7 +94,9 @@ void DivePictureItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) scene()->addItem(button); } button->setPos(mapToScene(0,0)); + button->setOpacity(0); button->show(); + Animations::show(button); button->disconnect(); connect(button, SIGNAL(clicked()), this, SLOT(removePicture())); } @@ -119,7 +121,7 @@ void DivePictureItem::mousePressEvent(QGraphicsSceneMouseEvent *event) void DivePictureItem::removePicture() { - button->hide(); + Animations::hide(button); hide(); DivePictureModel::instance()->removePicture(fileUrl); } |