mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Move Profile widget out of desktop-widgets
The reason for that is, even if profile widget is made with qpainter and for that reason it should be a desktop widget, it's being used on the mobile version because of a lack of QML plotting library that is fast and reliable. We discovered that it was faster just to encapsulate our Profile in a QML class and call it directly. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
50ec7200e6
commit
1d6683f3e0
36 changed files with 32 additions and 30 deletions
75
profile-widget/animationfunctions.cpp
Normal file
75
profile-widget/animationfunctions.cpp
Normal file
|
@ -0,0 +1,75 @@
|
|||
#include "animationfunctions.h"
|
||||
#include "pref.h"
|
||||
#include <QPropertyAnimation>
|
||||
|
||||
namespace Animations {
|
||||
|
||||
void hide(QObject *obj)
|
||||
{
|
||||
if (prefs.animation_speed != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
|
||||
animation->setStartValue(1);
|
||||
animation->setEndValue(0);
|
||||
animation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
} else {
|
||||
obj->setProperty("opacity", 0);
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "opacity");
|
||||
obj->connect(animation, SIGNAL(finished()), SLOT(deleteLater()));
|
||||
animation->setStartValue(1);
|
||||
animation->setEndValue(0);
|
||||
animation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
} else {
|
||||
obj->setProperty("opacity", 0);
|
||||
}
|
||||
}
|
||||
|
||||
void moveTo(QObject *obj, qreal x, qreal y)
|
||||
{
|
||||
if (prefs.animation_speed != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos");
|
||||
animation->setDuration(prefs.animation_speed);
|
||||
animation->setStartValue(obj->property("pos").toPointF());
|
||||
animation->setEndValue(QPointF(x, y));
|
||||
animation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
} else {
|
||||
obj->setProperty("pos", QPointF(x, y));
|
||||
}
|
||||
}
|
||||
|
||||
void scaleTo(QObject *obj, qreal scale)
|
||||
{
|
||||
if (prefs.animation_speed != 0) {
|
||||
QPropertyAnimation *animation = new QPropertyAnimation(obj, "scale");
|
||||
animation->setDuration(prefs.animation_speed);
|
||||
animation->setStartValue(obj->property("scale").toReal());
|
||||
animation->setEndValue(QVariant::fromValue(scale));
|
||||
animation->setEasingCurve(QEasingCurve::InCubic);
|
||||
animation->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
} else {
|
||||
obj->setProperty("scale", QVariant::fromValue(scale));
|
||||
}
|
||||
}
|
||||
|
||||
void moveTo(QObject *obj, const QPointF &pos)
|
||||
{
|
||||
moveTo(obj, pos.x(), pos.y());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue