Start the profile state

The setup of the item positions for the profile state should be done here.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Tomaz Canabrava 2014-02-07 16:54:12 -02:00 committed by Dirk Hohndel
parent d66e4b5236
commit 266daa326d
3 changed files with 33 additions and 4 deletions

View file

@ -21,9 +21,10 @@ void animDelete(QObject* obj)
animation->start(QAbstractAnimation::DeleteWhenStopped); animation->start(QAbstractAnimation::DeleteWhenStopped);
} }
void moveTo(QObject* obj, qreal x, qreal y) void moveTo(QObject* obj, qreal x, qreal y, int msecs)
{ {
QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos"); QPropertyAnimation *animation = new QPropertyAnimation(obj, "pos");
animation->setDuration(msecs);
animation->setStartValue(obj->property("pos").toPointF()); animation->setStartValue(obj->property("pos").toPointF());
animation->setEndValue(QPointF(x, y)); animation->setEndValue(QPointF(x, y));
animation->start(QAbstractAnimation::DeleteWhenStopped); animation->start(QAbstractAnimation::DeleteWhenStopped);

View file

@ -6,7 +6,7 @@ class QObject;
namespace Animations{ namespace Animations{
void hide(QObject *obj); void hide(QObject *obj);
void moveTo(QObject *obj, qreal x, qreal y); void moveTo(QObject *obj, qreal x, qreal y, int msecs = 500);
void animDelete(QObject *obj); void animDelete(QObject *obj);
}; };

View file

@ -217,6 +217,7 @@ void ProfileWidget2::plotDives(QList<dive*> dives)
if (!d) if (!d)
return; return;
setProfileState();
// Here we need to probe for the limits of the dive. // Here we need to probe for the limits of the dive.
// There's already a function that does exactly that, // There's already a function that does exactly that,
// but it's using the graphics context, and I need to // but it's using the graphics context, and I need to
@ -377,8 +378,7 @@ void ProfileWidget2::setEmptyState()
backgroundFile = QString(":poster%1").arg( rand()%3 +1); backgroundFile = QString(":poster%1").arg( rand()%3 +1);
currentState = EMPTY; currentState = EMPTY;
fixBackgroundPos(); fixBackgroundPos();
background->setVisible(true); Animations::moveTo(background, background->x(), itemPos.background.on.y());
Animations::moveTo(background, background->x(), 0);
toolTipItem->setVisible(false); toolTipItem->setVisible(false);
profileYAxis->setVisible(false); profileYAxis->setVisible(false);
@ -407,5 +407,33 @@ void ProfileWidget2::setEmptyState()
void ProfileWidget2::setProfileState() void ProfileWidget2::setProfileState()
{ {
// Then starting Empty State, move the background up.
if (currentState == PROFILE)
return;
currentState = PROFILE;
Animations::moveTo(background, background->x(), itemPos.background.off.y(), 1500);
toolTipItem->setVisible(true);
profileYAxis->setVisible(true);
gasYAxis->setVisible(true);
temperatureAxis->setVisible(true);
timeAxis->setVisible(true);
diveProfileItem->setVisible(true);
cylinderPressureAxis->setVisible(true);
temperatureItem->setVisible(true);
gasPressureItem->setVisible(true);
cartesianPlane->setVisible(true);
meanDepth->setVisible(true);
diveComputerText->setVisible(true);
diveCeiling->setVisible(true);
reportedCeiling->setVisible(true);
pn2GasItem->setVisible(true);
pheGasItem->setVisible(true);
po2GasItem->setVisible(true);
Q_FOREACH(DiveCalculatedTissue *tissue, allTissues){
tissue->setVisible(true);
}
Q_FOREACH(DiveEventItem *event, eventItems){
event->setVisible(true);
}
} }