ui/views/effectengine/src/glxeffectengine.cpp
changeset 36 6481344a6d67
parent 33 1ee2af37811f
child 39 2b8fc9e8d167
child 48 d0b4e67b3a60
equal deleted inserted replaced
33:1ee2af37811f 36:6481344a6d67
     1 /*
       
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include <glxeffectengine.h>
       
    20 #include "glxeffectpluginbase.h"
       
    21 #include "glxforwardtransitionplugin.h"
       
    22 #include "glxbackwardtransitionplugin.h"
       
    23 #include "glxfadeplugin.h"
       
    24 #include <QDebug>
       
    25 
       
    26 #include <xqsettingsmanager.h>
       
    27 #include <xqsettingskey.h>
       
    28 #include <QStringList>
       
    29 const TUint32 KGlxTransitionEffect     = 0x1;
       
    30 const TUint32 KGlxTransitionDelay  = 0x2;
       
    31 const TUint32 KGlxSlow  = 0x3;
       
    32 const TUint32 KGlxMeduim  = 0x4;
       
    33 const TUint32 KGlxFast  = 0x5;
       
    34 const TUint32 KGlxWaveEffect  = 0x6;
       
    35 const TUint32 KGlxFadeEffect  = 0x7;
       
    36 const TUint32 KGlxZoomToFaceEffect  = 0x8;
       
    37 const TUint32 KCRUidGallery = 0x20007194;
       
    38 GlxSlideShowSetting::GlxSlideShowSetting( int slideDelayTime, GlxEffect effect, GlxSlideShowMoveDir moveDir ) 
       
    39     : mSlideDelayTime(slideDelayTime),
       
    40       mEffect ( effect),
       
    41       mMoveDir ( moveDir)
       
    42 {
       
    43     mSettingsManager = new XQSettingsManager();
       
    44     mTransitionEffectCenrepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionEffect);
       
    45     mTransitionDelayCenrepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxTransitionDelay);
       
    46     mSlowCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxSlow);
       
    47     mMediumCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxMeduim);
       
    48     mFastCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFast);
       
    49 
       
    50     mWaveEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxWaveEffect );
       
    51     mFadeEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery ,KGlxFadeEffect);
       
    52     mZoomEffectCenRepKey= new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidGallery , KGlxZoomToFaceEffect );
       
    53 }
       
    54 
       
    55 GlxSlideShowSetting::~GlxSlideShowSetting( )
       
    56 {
       
    57         delete mFastCenRepKey;
       
    58         delete mMediumCenRepKey;
       
    59         delete mSlowCenRepKey;
       
    60         delete mZoomEffectCenRepKey;
       
    61         delete mFadeEffectCenRepKey;
       
    62         delete mWaveEffectCenRepKey;
       
    63         delete mTransitionDelayCenrepKey;
       
    64         delete mTransitionEffectCenrepKey;
       
    65         delete mSettingsManager;
       
    66 }
       
    67 int GlxSlideShowSetting::slideShowDelayIndex()
       
    68 {
       
    69     QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey);
       
    70     return effectvalue.toInt();
       
    71 }
       
    72 void GlxSlideShowSetting::setSlideShowDelayIndex( int index )
       
    73 {
       
    74     mSettingsManager->writeItemValue(*mTransitionDelayCenrepKey, index);
       
    75 }
       
    76 QStringList GlxSlideShowSetting::slideShowEffectList()
       
    77 {
       
    78 	if(mSettingsManager->readItemValue(*mWaveEffectCenRepKey).toInt() == WAVE_EFFECT)
       
    79         mEffectList<<"Flip";
       
    80     if(mSettingsManager->readItemValue(*mFadeEffectCenRepKey).toInt() == SMOOTH_FADE)
       
    81         mEffectList<<"Fade";
       
    82     if(mSettingsManager->readItemValue(*mZoomEffectCenRepKey).toInt() == ZOOM_TO_FACE)
       
    83         mEffectList<<"Zoom to face"; 
       
    84     return mEffectList;
       
    85 }
       
    86 int GlxSlideShowSetting::slideShowEffectIndex()
       
    87 {
       
    88     QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionEffectCenrepKey);
       
    89     return effectvalue.toInt();
       
    90 }
       
    91 void GlxSlideShowSetting::setslideShowEffectIndex( int index )
       
    92 {
       
    93     mEffect = ( GlxEffect ) ( index + 1 ) ;
       
    94     mSettingsManager->writeItemValue(*mTransitionEffectCenrepKey, index);
       
    95 }
       
    96 void GlxSlideShowSetting::readSlideShowSetting()
       
    97 {
       
    98 //To:Do read from the file system
       
    99     QVariant effectvalue = mSettingsManager->readItemValue(*mTransitionDelayCenrepKey);
       
   100     switch (effectvalue.toInt()) {
       
   101                case SLOW:
       
   102                    mSlideDelayTime = mSettingsManager->readItemValue(*mSlowCenRepKey).toInt();
       
   103                    break;
       
   104                case MEDIUM:
       
   105                    mSlideDelayTime = mSettingsManager->readItemValue(*mMediumCenRepKey).toInt();
       
   106                    break;
       
   107                case FAST:
       
   108                    mSlideDelayTime = mSettingsManager->readItemValue(*mFastCenRepKey).toInt();
       
   109                    break;
       
   110                default:
       
   111     				mSlideDelayTime = 3000;
       
   112                    break;
       
   113 	}
       
   114     mEffect = ( GlxEffect ) ( mSettingsManager->readItemValue(*mTransitionEffectCenrepKey).toInt() + 1 )  ; 
       
   115     mMoveDir = MOVE_FORWARD;
       
   116     qDebug("GlxSlideShowSetting::readSlideShowSetting() slide delay time %d effect %d move direction %d", mSlideDelayTime, mEffect, mMoveDir);
       
   117 }
       
   118 
       
   119 
       
   120 GlxTransitionEffectSetting::GlxTransitionEffectSetting(GlxEffect effect): mEffect(effect), mTransitionLater(false), mItem(0)
       
   121 {
       
   122     qDebug("GlxTransitionEffectSetting::GlxTransitionEffectSetting() effect id %d ", effect);
       
   123     mEffectFileList.clear();
       
   124     mItemType.clear();
       
   125     mEventType.clear();
       
   126     init();
       
   127 }
       
   128 
       
   129 void GlxTransitionEffectSetting::init()
       
   130 {
       
   131     qDebug("GlxTransitionEffectSetting::init() effect id %d ", mEffect);
       
   132     
       
   133     switch( mEffect ) {
       
   134         case GRID_TO_FULLSCREEN :
       
   135             mEffectFileList.append( QString(":/data/gridtofullscreenhide.fxml"));
       
   136             mItemType.append( QString("HbGridViewItem") );
       
   137             mEventType.append(QString("click1") );
       
   138             
       
   139             mEffectFileList.append( QString(":/data/gridtofullscreenshow.fxml"));
       
   140             mItemType.append( QString("HbView") );
       
   141             mEventType.append(QString("click2") );
       
   142             break;
       
   143             
       
   144         case FULLSCREEN_TO_GRID :
       
   145             mEffectFileList.append( QString(":/data/fullscreentogrid.fxml"));
       
   146             mItemType.append( QString("HbGridView") );
       
   147             mEventType.append(QString("click3") );
       
   148             break;
       
   149             
       
   150         case GRID_TO_ALBUMLIST:
       
   151             mEffectFileList.append( QString(":/data/gridtoalbumlisthide.fxml"));
       
   152             mItemType.append( QString("HbView") );
       
   153             mEventType.append(QString("click4") );
       
   154                         
       
   155             mEffectFileList.append( QString(":/data/gridtoalbumlist.fxml"));
       
   156             mItemType.append( QString("HbListView") );
       
   157             mEventType.append(QString("click5") );
       
   158             break;
       
   159              
       
   160         case ALBUMLIST_TO_GRID:
       
   161             mEffectFileList.append( QString(":/data/albumlisttogrid.fxml"));
       
   162             mItemType.append( QString("HbListView") );
       
   163             mEventType.append(QString("click6") );
       
   164                         
       
   165             mEffectFileList.append( QString(":/data/albumlisttogridshow.fxml"));
       
   166             mItemType.append( QString("HbView") );
       
   167             mEventType.append(QString("click7") );
       
   168             break;
       
   169             
       
   170         case FULLSCREEN_TO_DETAIL :
       
   171             mEffectFileList.append( QString(":/data/view_flip_hide.fxml"));
       
   172             mItemType.append( QString("HbView") );
       
   173             mEventType.append(QString("click8") );
       
   174                         
       
   175             mEffectFileList.append( QString(":/data/view_flip_show.fxml"));
       
   176             mItemType.append( QString("HbView") );
       
   177             mEventType.append(QString("click9") );
       
   178             mTransitionLater = true;
       
   179             break;
       
   180             
       
   181         case DETAIL_TO_FULLSCREEN :
       
   182             mEffectFileList.append( QString(":/data/view_flip_hide.fxml"));
       
   183             mItemType.append( QString("HbView") );
       
   184             mEventType.append(QString("click10") );
       
   185                         
       
   186             mEffectFileList.append( QString(":/data/view_flip_show.fxml"));
       
   187             mItemType.append( QString("HbView") );
       
   188             mEventType.append(QString("click11") );
       
   189             mTransitionLater = true;
       
   190             break;            
       
   191             
       
   192         default :
       
   193             break;
       
   194     }    
       
   195 }
       
   196 
       
   197 GlxTransitionEffectSetting::~GlxTransitionEffectSetting()
       
   198 {
       
   199     qDebug("GlxTransitionEffectSetting::~GlxTransitionEffectSetting() effect id %d ", mEffect);
       
   200     mEffectFileList.clear();
       
   201     mItemType.clear();
       
   202     mEventType.clear();
       
   203 }
       
   204 
       
   205 
       
   206 GlxSlideShowEffectEngine::GlxSlideShowEffectEngine( ) : mNbrEffectRunning( 0 ), 
       
   207         mEffectPlugin(NULL), 
       
   208         mTransitionEffect(NO_EFFECT)
       
   209 {
       
   210     qDebug("GlxSlideShowEffectEngine::GlxSlideShowEffectEngine()");
       
   211     mTransitionEffectList.clear();
       
   212 }
       
   213 
       
   214 GlxSlideShowEffectEngine::~GlxSlideShowEffectEngine()
       
   215 {
       
   216     qDebug("GlxSlideShowEffectEngine::~GlxSlideShowEffectEngine()");
       
   217     delete mEffectPlugin;
       
   218     mEffectPlugin = NULL;
       
   219 	
       
   220     cleanTransitionEfffect();
       
   221 }
       
   222 
       
   223 void GlxSlideShowEffectEngine::registerEffect(const QString &itemType)
       
   224 {
       
   225     effectPluginResolver();
       
   226     QList <QString > effectPathList = mEffectPlugin->getEffectFileList();
       
   227     
       
   228     qDebug("GlxSlideShowEffectEngine::registerEffect() item type %s file path %s", itemType.utf16(), effectPathList[0].utf16());
       
   229     for ( int i = 0; i < effectPathList.count() ; ++i ) {
       
   230         HbEffect::add(itemType, effectPathList.at(i), QString( "Click%1" ).arg(i));
       
   231     }    
       
   232 }
       
   233 
       
   234 void GlxSlideShowEffectEngine::deRegisterEffect(const QString &itemType)
       
   235 {
       
   236     qDebug("GlxSlideShowEffectEngine::deRegisterEffect() item type %s", itemType.utf16());
       
   237     QList <QString > effectPathList = mEffectPlugin->getEffectFileList();
       
   238     for ( int i = 0; i < effectPathList.count() ; ++i ) {
       
   239         HbEffect::remove(itemType, effectPathList.at(i), QString( "Click%1" ).arg(i));
       
   240     }
       
   241     delete mEffectPlugin ;
       
   242     mEffectPlugin = NULL;
       
   243 }
       
   244 
       
   245 void GlxSlideShowEffectEngine::registerTransitionEffect()  
       
   246 {
       
   247     qDebug("GlxSlideShowEffectEngine::registerTransitionEffect()");
       
   248     initTransitionEffect();
       
   249 }
       
   250 
       
   251 void GlxSlideShowEffectEngine::deregistertransitionEffect()
       
   252 {
       
   253     qDebug("GlxSlideShowEffectEngine::deregisterTransitionEffect()");
       
   254     cleanTransitionEfffect();
       
   255 }
       
   256 
       
   257 void GlxSlideShowEffectEngine::runEffect(QGraphicsItem *  item, const QString &  itemType )
       
   258 {
       
   259     qDebug("GlxSlideShowEffectEngine::runEffect()1 item type %s", itemType.utf16());
       
   260     HbEffect::start(item, itemType, QString( "Click1" ), this, "slideShowEffectFinished");
       
   261     ++mNbrEffectRunning;
       
   262 }
       
   263 
       
   264 void GlxSlideShowEffectEngine::runEffect(QList< QGraphicsItem * > &  items, const QString &  itemType )
       
   265 {
       
   266     qDebug("GlxSlideShowEffectEngine::runEffect()2 item Type %s", itemType.utf16());
       
   267     mEffectPlugin->setUpItems(items);
       
   268     for ( int i = 0; i < items.count() ; ++i ) {
       
   269         if ( mEffectPlugin->isAnimationLater(i) == FALSE ) {
       
   270             HbEffect::start(items.at(i), itemType, QString( "Click%1").arg(i), this, "slideShowEffectFinished");
       
   271         }
       
   272         ++mNbrEffectRunning;
       
   273     }
       
   274 }
       
   275 
       
   276 void GlxSlideShowEffectEngine::runEffect(QList< QGraphicsItem * > &  items, GlxEffect transitionEffect)
       
   277 {
       
   278     qDebug("GlxSlideShowEffectEngine::runEffect()3 effect type %d ", transitionEffect);
       
   279     
       
   280     GlxTransitionEffectSetting *effectSetting = mTransitionEffectList.value( transitionEffect );
       
   281     
       
   282     if ( effectSetting == NULL || items.count() != effectSetting->count() ) {
       
   283          return;
       
   284     }
       
   285     
       
   286     mTransitionEffect = transitionEffect;
       
   287     for ( int i = 0; i < effectSetting->count() ; ++i) {
       
   288         ++mNbrEffectRunning;
       
   289         if ( ( i == effectSetting->count() -1) && effectSetting->isTransitionLater() )
       
   290         {
       
   291             effectSetting->setAnimationItem( items.at(i) );
       
   292             items.at(i)->hide();
       
   293         }
       
   294         else {
       
   295             HbEffect::start(items.at(i), effectSetting->itemType().at(i), effectSetting->eventType().at(i), this, "transitionEffectFinished");
       
   296         }
       
   297     }    
       
   298 }
       
   299 
       
   300 void GlxSlideShowEffectEngine::cancelEffect(QGraphicsItem *  item)
       
   301 {
       
   302     if ( HbEffect::effectRunning( item, QString( "Click1" ) ) ) {
       
   303         HbEffect::cancel( item, QString( "Click1" ) );
       
   304     }
       
   305 }
       
   306 
       
   307 void GlxSlideShowEffectEngine::cancelEffect(const QList< QGraphicsItem * > &  items)
       
   308 {
       
   309     for ( int i = 0; i < items.count() ; ++i ) {    
       
   310         if ( HbEffect::effectRunning( items.at(i), QString( "Click%1").arg(i) ) ) {
       
   311             HbEffect::cancel( items.at(i), QString( "Click%1").arg(i) );
       
   312         }
       
   313     }
       
   314 }
       
   315 
       
   316 void GlxSlideShowEffectEngine::cancelEffect(QList< QGraphicsItem * > &  items, GlxEffect transitionEffect)
       
   317 {
       
   318     GlxTransitionEffectSetting *effectSetting = mTransitionEffectList.value( transitionEffect );
       
   319     
       
   320     if ( effectSetting == NULL || items.count() != effectSetting->count() ) {
       
   321          return;
       
   322     }
       
   323     
       
   324     for ( int i = 0; i < effectSetting->count() ; ++i) {
       
   325         HbEffect::cancel(items.at(i), effectSetting->eventType().at(i) );
       
   326     }     
       
   327 }
       
   328 
       
   329 bool GlxSlideShowEffectEngine::isEffectRuning(QGraphicsItem *  item)
       
   330 {
       
   331     if ( HbEffect::effectRunning( item, QString( "Click1" ) ) ) {
       
   332         return true;
       
   333     }
       
   334     return false;
       
   335 }
       
   336 
       
   337 bool GlxSlideShowEffectEngine::isEffectRuning(const QList< QGraphicsItem * > &  items)
       
   338 {
       
   339     for ( int i = 0; i < items.count() ; ++i ) {    
       
   340         if ( HbEffect::effectRunning( items.at(i), QString( "Click%1").arg(i) ) ) {
       
   341             return true;
       
   342         }
       
   343     }
       
   344     return false;
       
   345 }
       
   346 
       
   347 void GlxSlideShowEffectEngine::slideShowEffectFinished( const HbEffect::EffectStatus &status )
       
   348 {
       
   349     Q_UNUSED( status )
       
   350     qDebug("GlxSlideShowEffectEngine::slideShowEffectFinished() number of effect %d ", mNbrEffectRunning);
       
   351     
       
   352     --mNbrEffectRunning;
       
   353     
       
   354     if ( mEffectPlugin->isAnimationLater( mNbrEffectRunning) ) {
       
   355         HbEffect::start( mEffectPlugin->animationItem(), mEffectPlugin->ItemType(), QString( "Click%1").arg(mNbrEffectRunning), this, "slideShowEffectFinished");
       
   356     }
       
   357     
       
   358     if (mNbrEffectRunning == 0) {
       
   359         emit effectFinished();
       
   360     }
       
   361 }
       
   362 
       
   363 void GlxSlideShowEffectEngine::transitionEffectFinished( const HbEffect::EffectStatus &status )
       
   364 {
       
   365     Q_UNUSED( status )
       
   366     qDebug("GlxSlideShowEffectEngine::transitionEffectFinished() number of effect %d status %d", mNbrEffectRunning, status.reason);
       
   367     
       
   368     --mNbrEffectRunning;
       
   369     if ( mNbrEffectRunning == 1 ) {
       
   370         GlxTransitionEffectSetting *effectSetting = mTransitionEffectList.value( mTransitionEffect );
       
   371         if (  effectSetting->isTransitionLater() ){ 
       
   372             effectSetting->animationItem()->show();
       
   373             HbEffect::start( effectSetting->animationItem(), effectSetting->itemType().at(1), effectSetting->eventType().at(1), this, "transitionEffectFinished");
       
   374             mTransitionEffect = NO_EFFECT;
       
   375         }    
       
   376     }
       
   377     
       
   378     if (mNbrEffectRunning == 0) {
       
   379         emit effectFinished();
       
   380     }
       
   381 }
       
   382 
       
   383 void GlxSlideShowEffectEngine::effectPluginResolver()
       
   384 {
       
   385 //TO:DO improved the code by using factory design pattern
       
   386 
       
   387     delete mEffectPlugin;
       
   388     mEffectPlugin = NULL;
       
   389     
       
   390     switch ( mSlideShowSetting.effect() ) {
       
   391     case WAVE_EFFECT :
       
   392         mEffectPlugin = new GlxForwardTransitionPlugin();
       
   393         break ;
       
   394         
       
   395     /*case TRANSITION_EFFECT :
       
   396         if ( slideShowMoveDir() == MOVE_FORWARD ) {
       
   397             mEffectPlugin = new GlxForwardTransitionPlugin();
       
   398         }
       
   399         else {
       
   400             mEffectPlugin = new GlxBackwardTransitionPlugin();
       
   401         }
       
   402         break;*/
       
   403         
       
   404     case SMOOTH_FADE :
       
   405         mEffectPlugin = new GlxFadePlugin();
       
   406         break;
       
   407         
       
   408     default :
       
   409         mEffectPlugin = new GlxFadePlugin();
       
   410         break;        
       
   411     }
       
   412 }
       
   413 
       
   414 void GlxSlideShowEffectEngine::initTransitionEffect()
       
   415 {
       
   416     GlxTransitionEffectSetting *effectSetting = NULL;
       
   417     
       
   418     effectSetting = new GlxTransitionEffectSetting(GRID_TO_FULLSCREEN);
       
   419     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   420         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   421     }
       
   422     mTransitionEffectList[GRID_TO_FULLSCREEN] = effectSetting;
       
   423     
       
   424     effectSetting = new GlxTransitionEffectSetting( FULLSCREEN_TO_GRID );
       
   425     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   426         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   427     }
       
   428     mTransitionEffectList[FULLSCREEN_TO_GRID] = effectSetting;
       
   429     
       
   430     effectSetting = new GlxTransitionEffectSetting( GRID_TO_ALBUMLIST );
       
   431     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   432         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   433     }
       
   434     mTransitionEffectList[GRID_TO_ALBUMLIST] = effectSetting;
       
   435     
       
   436     effectSetting = new GlxTransitionEffectSetting( ALBUMLIST_TO_GRID );
       
   437     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   438         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   439     }
       
   440     mTransitionEffectList[ALBUMLIST_TO_GRID] = effectSetting;
       
   441     
       
   442     effectSetting = new GlxTransitionEffectSetting( FULLSCREEN_TO_DETAIL );
       
   443     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   444         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   445     }
       
   446     mTransitionEffectList[FULLSCREEN_TO_DETAIL] = effectSetting; 
       
   447     
       
   448     effectSetting = new GlxTransitionEffectSetting( DETAIL_TO_FULLSCREEN );
       
   449     for ( int i = 0; i < effectSetting->count(); ++i ) {
       
   450         HbEffect::add( effectSetting->itemType().at(i), effectSetting->effectFileList().at(i), effectSetting->eventType().at(i)) ;
       
   451     }
       
   452     mTransitionEffectList[DETAIL_TO_FULLSCREEN] = effectSetting;    
       
   453 }
       
   454 
       
   455 void GlxSlideShowEffectEngine::cleanTransitionEfffect()
       
   456 {	
       
   457     qDebug("GlxSlideShowEffectEngine::cleanTrnastionEfffect()");
       
   458     
       
   459     foreach( GlxTransitionEffectSetting *list, mTransitionEffectList) {
       
   460         for ( int i = 0; i < list->count(); ++i ) {
       
   461             HbEffect::remove( list->itemType().at(i), list->effectFileList().at(i), list->eventType().at(i)) ;
       
   462         }
       
   463         delete list;
       
   464     }
       
   465     mTransitionEffectList.clear();	
       
   466     
       
   467 }
       
   468