logsui/logsapp/src/logseffecthandler.cpp
changeset 8 6c9acdc6adc0
parent 2 7119b73b84d6
child 15 76d2cf7a585e
--- a/logsui/logsapp/src/logseffecthandler.cpp	Fri Jun 11 13:38:41 2010 +0300
+++ b/logsui/logsapp/src/logseffecthandler.cpp	Thu Jun 24 14:44:14 2010 +0300
@@ -31,6 +31,7 @@
 const int logsMoveNotPossibleAmount = 30;
 
 const int logsDissappearByMovingIndex = 0;
+const int logsPauseBetweenDissappearAndAppearIndex = 1;
 const int logsAppearByMovingIndex = 2;
 
 // -----------------------------------------------------------------------------
@@ -72,6 +73,7 @@
 
     connect(mMoveGroup, SIGNAL(currentAnimationChanged(QAbstractAnimation *)), 
             this, SLOT( moveAnimationChanged(QAbstractAnimation *)));
+    connect(mMoveGroup, SIGNAL(finished()), this, SIGNAL(appearByMovingComplete()) );
     connect(mFadeGroup, SIGNAL(currentAnimationChanged(QAbstractAnimation *)), 
             this, SLOT( fadeAnimationChanged(QAbstractAnimation *)));        
     
@@ -101,7 +103,8 @@
 //
 void LogsEffectHandler::moveAnimationChanged(QAbstractAnimation *currentAnimation)
 {
-    if ( mMoveGroup->indexOfAnimation(currentAnimation) == 1 ) {
+    int indexOfAnimation = mMoveGroup->indexOfAnimation(currentAnimation);
+    if (indexOfAnimation == logsPauseBetweenDissappearAndAppearIndex ) {
         emit dissappearByMovingComplete();
     }
 }
@@ -112,7 +115,8 @@
 //
 void LogsEffectHandler::fadeAnimationChanged(QAbstractAnimation *currentAnimation)
 {
-    if ( mFadeGroup->indexOfAnimation(currentAnimation) == 1 ) {
+    int indexOfAnimation = mFadeGroup->indexOfAnimation(currentAnimation);
+    if ( indexOfAnimation == logsPauseBetweenDissappearAndAppearIndex ) {
         emit dissappearByFadingComplete();
     }
 }
@@ -137,12 +141,13 @@
 //
 void LogsEffectHandler::startDissappearAppearByMovingEffect(
         QObject& effectTarget, QObject& secondaryEffectTarget, 
-        bool dissappearToLeft, int origX)
+        bool dissappearToLeft, int origX, int secondaryOrigX)
 {
     doStartDissappearAppearByMovingEffect(
             *mMoveGroup, effectTarget, dissappearToLeft, origX);
+    
     doStartDissappearAppearByMovingEffect(
-            *mMoveGroup2, secondaryEffectTarget, dissappearToLeft, origX);
+            *mMoveGroup2, secondaryEffectTarget, dissappearToLeft, secondaryOrigX);
 }
 
 // -----------------------------------------------------------------------------