mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Add a new 'show' Animation, and use it on the close button.
The error with 'ungrabMouse' warning that we got was because we were removing an item that had the mouse grab instead of waiting a few milisseconds so it won't be the mouse grabber anymore. So I'v used the Animations::hide() to get rid of it, and since it worked well, I'v also added a Animations::show() method to display it in a good fade-in way. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
3b9bceacb6
commit
7bf63c5b0b
3 changed files with 16 additions and 1 deletions
|
@ -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)
|
void animDelete(QObject *obj)
|
||||||
{
|
{
|
||||||
if (prefs.animation_speed != 0) {
|
if (prefs.animation_speed != 0) {
|
||||||
|
|
|
@ -8,6 +8,7 @@ class QObject;
|
||||||
|
|
||||||
namespace Animations {
|
namespace Animations {
|
||||||
void hide(QObject *obj);
|
void hide(QObject *obj);
|
||||||
|
void show(QObject *obj);
|
||||||
void moveTo(QObject *obj, qreal x, qreal y);
|
void moveTo(QObject *obj, qreal x, qreal y);
|
||||||
void moveTo(QObject *obj, const QPointF &pos);
|
void moveTo(QObject *obj, const QPointF &pos);
|
||||||
void animDelete(QObject *obj);
|
void animDelete(QObject *obj);
|
||||||
|
|
|
@ -94,7 +94,9 @@ void DivePictureItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
|
||||||
scene()->addItem(button);
|
scene()->addItem(button);
|
||||||
}
|
}
|
||||||
button->setPos(mapToScene(0,0));
|
button->setPos(mapToScene(0,0));
|
||||||
|
button->setOpacity(0);
|
||||||
button->show();
|
button->show();
|
||||||
|
Animations::show(button);
|
||||||
button->disconnect();
|
button->disconnect();
|
||||||
connect(button, SIGNAL(clicked()), this, SLOT(removePicture()));
|
connect(button, SIGNAL(clicked()), this, SLOT(removePicture()));
|
||||||
}
|
}
|
||||||
|
@ -119,7 +121,7 @@ void DivePictureItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
|
||||||
|
|
||||||
void DivePictureItem::removePicture()
|
void DivePictureItem::removePicture()
|
||||||
{
|
{
|
||||||
button->hide();
|
Animations::hide(button);
|
||||||
hide();
|
hide();
|
||||||
DivePictureModel::instance()->removePicture(fileUrl);
|
DivePictureModel::instance()->removePicture(fileUrl);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue