menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp
branchRCL_3
changeset 19 79311d856354
parent 17 b8fae6b8a148
child 23 7be2816dbabd
--- a/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp	Wed Apr 14 15:47:59 2010 +0300
+++ b/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp	Tue Apr 27 16:26:12 2010 +0300
@@ -16,7 +16,6 @@
 *
 */
 
-
 #include <e32keys.h>
 #include <e32math.h>
 #include <AknsDrawUtils.h>
@@ -83,32 +82,34 @@
     return CMmListBoxContainer::NewL( aRect, aObjectProvider, aTemplateLibrary );
     }
 
-
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::ConstructL()
-	{
+    {
     iBgContext = CAknsBasicBackgroundControlContext::NewL(
-    	KAknsIIDQsnBgAreaMainAppsGrid, Rect(), EFalse);
+            KAknsIIDQsnBgAreaMainAppsGrid, Rect(), EFalse );
     iLongTapDetector = CAknLongTapDetector::NewL( this );
-    iLongTapDetector->EnableLongTapAnimation(ETrue);
-	}
+    iLongTapDetector->EnableLongTapAnimation( ETrue );
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 CMmWidgetContainer::CMmWidgetContainer()
-    : iIsFaded( EFalse )
+    : iMarqueeAdapter( NULL )
+    , iLongTapInProgress( EFalse )
+    , iBgContext( NULL )
+    , iIsFaded( EFalse )
     , iHasFocus( ETrue )
     , iInForeground( ETrue )
+    , iAllowMove( EFalse )
+    , iRecipientId( KErrNotFound )
+    , iEventParameters( NULL )
     {
-    iMarqueeAdapter = NULL;
-    iBgContext = NULL;
     iWidgetPositionCache.iValid = EFalse;
-    iLongTapInProgress = EFalse;
     }
 
 // -----------------------------------------------------------------------------
@@ -122,6 +123,7 @@
     delete iBgContext;
     delete iPostProcessor;
     delete iLongTapDetector;
+    delete iEventParameters;
     }
 
 // -----------------------------------------------------------------------------
@@ -130,7 +132,7 @@
 //
 EXPORT_C void CMmWidgetContainer::EnableLongTapAnimation( TBool aEnable )
     {
-    if ( iLongTapDetector )
+    if( iLongTapDetector )
         {
         iLongTapDetector->EnableLongTapAnimation( aEnable );
         }
@@ -142,22 +144,22 @@
 //
 void CMmWidgetContainer::SizeChanged()
     {
-    if ( iWidget && iWidgetRect != Rect() )
+    if( iWidget && iWidgetRect != Rect() )
         {
-    	CMmTemplateLibrary * templateLibrary =
-    	static_cast<CMmListBoxItemDrawer*> (
-    			Widget()->View()->ItemDrawer() )->TemplateLibrary();
-        if ( Rect() != templateLibrary->GetParentRect(
-        		Layout_Meta_Data::IsLandscapeOrientation() ) )
-        	{
-        	templateLibrary->CleanAndClearCache();
-        	}
+      CMmTemplateLibrary * templateLibrary =
+      static_cast<CMmListBoxItemDrawer*> (
+          Widget()->View()->ItemDrawer() )->TemplateLibrary();
+        if( Rect() != templateLibrary->GetParentRect(
+                Layout_Meta_Data::IsLandscapeOrientation() ) )
+            {
+            templateLibrary->CleanAndClearCache();
+            }
         iWidget->View()->SetViewRect( Rect() );
         iWidget->SetRect( Rect() );
         iWidgetRect = Rect();
         }
 
-    if ( iBgContext )
+    if( iBgContext )
         {
         TRect rect = iCoeEnv->ScreenDevice()->SizeInPixels();
         iBgContext->SetRect( rect );
@@ -172,7 +174,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::Draw( const TRect& /*aRect*/ ) const
+void CMmWidgetContainer::Draw( const TRect& /*aRect*/) const
     {
     // do nothing
     }
@@ -180,14 +182,14 @@
 //
 // -----------------------------------------------------------------------------
 //
-TTypeUid::Ptr CMmWidgetContainer::MopSupplyObject(TTypeUid aId)
+TTypeUid::Ptr CMmWidgetContainer::MopSupplyObject( TTypeUid aId )
     {
-    if (aId.iUid == MAknsControlContext::ETypeId && iBgContext )
+    if( aId.iUid == MAknsControlContext::ETypeId && iBgContext )
         {
-        return MAknsControlContext::SupplyMopObject(aId, iBgContext );
+        return MAknsControlContext::SupplyMopObject( aId, iBgContext );
         }
 
-    return CCoeControl::MopSupplyObject(aId);
+    return CCoeControl::MopSupplyObject( aId );
     }
 
 // -----------------------------------------------------------------------------
@@ -200,19 +202,19 @@
     iLastDragPoint = aPointerEvent.iPosition;
     iLastDragHighlight = GetHighlight();
     if( !iWidget->View()->XYPosToItemIndex(
-    		aPointerEvent.iPosition, iDraggedIndex ) )
+        aPointerEvent.iPosition, iDraggedIndex ) )
         {
         iDraggedIndex = KErrNotFound;
         }
     iItemRelativeTapPoint = aPointerEvent.iPosition - iWidget->View()->ItemPos(
-    		iDraggedIndex );
+        iDraggedIndex );
     }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::HandleButtonUpL(const TPointerEvent& /*aPointerEvent*/ )
+void CMmWidgetContainer::HandleButtonUpL( const TPointerEvent& /*aPointerEvent*/)
     {
     iTapPoint = TPoint( 0, 0 );
     CancelDragL( EFalse );
@@ -227,7 +229,7 @@
     if ( aType == KEikDynamicLayoutVariantSwitch ||
             aType == KAknsMessageSkinChange )
         {
-        static_cast<CMmListBoxItemDrawer*>( iDrawer )->InvalidateCache();
+        static_cast<CMmListBoxItemDrawer*> ( iDrawer )->InvalidateCache();
         CMmTemplateLibrary * templateLibrary =
         static_cast<CMmListBoxItemDrawer*>( iDrawer )->TemplateLibrary();
         templateLibrary->CleanAndClearCache();
@@ -235,15 +237,15 @@
 
     TBool highlightVisibleBefore = iWidget->IsVisible() && IsHighlightVisible();
     CCoeControl::HandleResourceChange( aType );
-    if ( highlightVisibleBefore )
+    if( highlightVisibleBefore )
         {
         TRAP_IGNORE( SetHighlightVisibilityL( ETrue ) );
         }
 
-	if ( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() )
-		{
-		TRAP_IGNORE( SetDefaultHighlightL( EFalse ) );
-		}
+    if( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() )
+        {
+        TRAP_IGNORE( SetDefaultHighlightL( EFalse ) );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -253,7 +255,7 @@
 EXPORT_C void CMmWidgetContainer::ItemIconZoomL( TInt /*aItemIndex */)
     {
     TInt index = GetHighlight();
-    if (index != iDraggedIndex)
+    if( index != iDraggedIndex )
         {
         iDrawer->AnimateItemZoomInL( index );
         }
@@ -264,65 +266,65 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C CHnSuiteModel* CMmWidgetContainer::GetSuiteModelL()
-	{
-	return GetMmModel()->GetSuiteModel();
-	}
+    {
+    return GetMmModel()->GetSuiteModel();
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::HandleDragL(const TPointerEvent& aPointerEvent,
+void CMmWidgetContainer::HandleDragL( const TPointerEvent& aPointerEvent,
         TBool aAbortAnimation )
     {
     DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ",
-    		iLastDragHighlight ));
+                    iLastDragHighlight ));
 
     TInt highlight = GetHighlight();
     DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
 
-    TPoint dragDelta ( iLastDragPoint - aPointerEvent.iPosition);
+    TPoint dragDelta( iLastDragPoint - aPointerEvent.iPosition );
     TInt dragSpeed = dragDelta.iX * dragDelta.iX + dragDelta.iY * dragDelta.iY;
-    TBool tooFast = (dragSpeed > MmEffects::KDragSpeedIgnoreThreshold);
+    TBool tooFast = ( dragSpeed > MmEffects::KDragSpeedIgnoreThreshold );
 
-    if (iLastDragHighlight != highlight )
+    if( iLastDragHighlight != highlight )
         {
-       	iDragAndDropObserver->HandleDragOverL( GetHighlight() );
+        iDragAndDropObserver->HandleDragOverL( GetHighlight() );
         }
 
-    if (!tooFast)
-    	{
-		TSize itemSize = iWidget->View()->ItemSize( highlight );
-		TPoint itemPos = iWidget->View()->ItemPos( highlight );
+    if( !tooFast )
+        {
+        TSize itemSize = iWidget->View()->ItemSize( highlight );
+    TPoint itemPos = iWidget->View()->ItemPos( highlight );
 
-		if ( PointInItemReorderAreaL( highlight, aPointerEvent.iPosition ) )
-		   {
-		   CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		   CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( highlight ));
-		   if (iDrawer->GetAnimator()->IsReadyForNewAnimation() && !aAbortAnimation
-				   && onItemModel->GetItemType() != EItemTypeParentFolder
-				   && iDraggedIndex != highlight)
-				   {
-				   GetMmModel()->ReorderModelL( iDraggedIndex, highlight );
-				   AnimateShiftL( highlight );
-				   iDrawer->SetDraggedIndexL( highlight,
-						   aPointerEvent.iPosition - iItemRelativeTapPoint );
-				   iDraggedIndex = highlight;
-				   iDragAndDropObserver->HandleDraggedIndexUpdatedL( highlight );
-				   }
-		   }
-    	}
+    if ( PointInItemReorderAreaL( highlight, aPointerEvent.iPosition ) )
+       {
+       CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
+       CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( highlight ));
+       if (iDrawer->GetAnimator()->IsReadyForNewAnimation() && !aAbortAnimation
+           && onItemModel->GetItemType() != EItemTypeParentFolder
+           && iDraggedIndex != highlight)
+           {
+           GetMmModel()->ReorderModelL( iDraggedIndex, highlight );
+                AnimateShiftL( highlight );
+                iDrawer->SetDraggedIndexL( highlight,
+                        aPointerEvent.iPosition - iItemRelativeTapPoint );
+           iDraggedIndex = highlight;
+           iDragAndDropObserver->HandleDraggedIndexUpdatedL( highlight );
+           }
+       }
+      }
 
     if ( DeltaSquare( iTapPoint, aPointerEvent.iPosition ) > KDragDelta &&
-				!iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedIndexL( iDraggedIndex, iTapPoint - iItemRelativeTapPoint );
-		iDrawer->SetDraggableL( ETrue );
-		}
-	else if ( iDrawer->IsDraggable() )
-		{
-		iDrawer->SetDraggedPointL( aPointerEvent.iPosition - iItemRelativeTapPoint );
-		}
+        !iDrawer->IsDraggable() )
+    {
+    iDrawer->SetDraggedIndexL( iDraggedIndex, iTapPoint - iItemRelativeTapPoint );
+        iDrawer->SetDraggableL( ETrue );
+        }
+    else if( iDrawer->IsDraggable() )
+        {
+        iDrawer->SetDraggedPointL( aPointerEvent.iPosition - iItemRelativeTapPoint );
+        }
 
     DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: iLastDragHighlight = %d ", iLastDragHighlight ));
     DEBUG(("\t_Mm_:CMmWidgetContainer::HandleDragL: highlight = %d ", highlight ));
@@ -334,24 +336,24 @@
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::AnimateShiftL(TInt aHighlight)
-	{
+void CMmWidgetContainer::AnimateShiftL( TInt aHighlight )
+    {
     TInt lowerVal =  (iDraggedIndex < aHighlight)? iDraggedIndex : aHighlight;
     TInt higherVal = (iDraggedIndex < aHighlight)? aHighlight : iDraggedIndex;
-    TInt switchOperation = (iDraggedIndex < aHighlight) ? EFalse : ETrue;
+    TInt switchOperation = ( iDraggedIndex < aHighlight ) ? EFalse : ETrue;
 
-       for(TInt iter(lowerVal); iter < higherVal; iter++ )
-           {
-           TInt from = iter + 1;
-           TInt to = iter;
-           if (switchOperation)
-               {
-               from = iter;
-               to = iter + 1;
-               }
-           iDrawer->AnimateItemSwapL( from, to );
+    for( TInt iter( lowerVal ); iter < higherVal; iter++ )
+        {
+        TInt from = iter + 1;
+        TInt to = iter;
+        if( switchOperation )
+            {
+            from = iter;
+            to = iter + 1;
+            }
+        iDrawer->AnimateItemSwapL( from, to );
         }
-     }
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -359,7 +361,7 @@
 //
 EXPORT_C void CMmWidgetContainer::CancelDragL( TBool aAnimate )
     {
-    if (aAnimate)
+    if( aAnimate )
         {
         iDrawer->AnimateDragItemTransitionL();
         }
@@ -367,7 +369,7 @@
     SetHighlightAfterDrag();
 
     iDraggedIndex = -1;
-    iDrawer->SetDraggedIndexL( iDraggedIndex, TPoint(0,0) );
+    iDrawer->SetDraggedIndexL( iDraggedIndex, TPoint( 0, 0 ) );
     SetDraggableL( EFalse );
 
     TInt dragFloatingItem;
@@ -376,9 +378,7 @@
         dragFloatingItem = iDrawer->GetFloatingItemIndex( EDrag );
         iDrawer->RemoveFloatingItem( dragFloatingItem );
         }
-    while ( dragFloatingItem != KErrNotFound );
-
-    iDrawer->GetAnimator()->CancelNextRedrawL();
+    while( dragFloatingItem != KErrNotFound );
 
     }
 
@@ -387,24 +387,24 @@
 // -----------------------------------------------------------------------------
 //
 
-TBool CMmWidgetContainer::IsFolderL(TInt aItemIndex)
-	{
-	TBool result = EFalse;
+TBool CMmWidgetContainer::IsFolderL( TInt aItemIndex )
+    {
+    TBool result = EFalse;
 
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( aItemIndex ));
-	    if (onItemModel)
-	    	{
-	    	result = onItemModel->GetItemType() == EItemTypeParentFolder ||
-	      		onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-		}
+    CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
+    if( model )
+        {
+    CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( aItemIndex ));
+        if( onItemModel )
+            {
+            result = onItemModel->GetItemType() == EItemTypeParentFolder
+                    || onItemModel->GetItemType() == EItemTypeFolder;
+            }
+        }
 
-	return result;
+    return result;
 
-	}
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -412,20 +412,20 @@
 //
 
 TBool CMmWidgetContainer::IsNoItemDragged()
-	{
-	TBool noItemDragged = EFalse;
-	noItemDragged = ( KErrNotFound == iDraggedIndex ) ? ETrue : noItemDragged;
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if ( !noItemDragged && model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( iDraggedIndex ));
-	    if (onItemModel)
-	    	{
-	    	noItemDragged = ( onItemModel->GetItemType() == EItemTypeParentFolder );
-	    	}
-		}
-	return noItemDragged;
-	}
+    {
+    TBool noItemDragged = EFalse;
+  noItemDragged = ( KErrNotFound == iDraggedIndex ) ? ETrue : noItemDragged;
+    CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
+    if( !noItemDragged && model )
+        {
+    CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex( iDraggedIndex ));
+        if( onItemModel )
+            {
+        noItemDragged = ( onItemModel->GetItemType() == EItemTypeParentFolder );
+            }
+        }
+    return noItemDragged;
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -433,15 +433,15 @@
 //
 EXPORT_C void CMmWidgetContainer::SetHasFocusL( TBool aHasFocus )
     {
-    if ( !!aHasFocus != !!iHasFocus ) // logical Ex-OR
+    if( !!aHasFocus != !!iHasFocus ) // logical Ex-OR
         {
         iHasFocus = aHasFocus;
         StartOrStopMarquee();
         }
-    if ( !aHasFocus )
-    	{
-    	SetHighlightVisibilityL( EFalse );
-    	}
+    if( !aHasFocus )
+        {
+        SetHighlightVisibilityL( EFalse );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -450,7 +450,7 @@
 //
 EXPORT_C void CMmWidgetContainer::SetIsFaded( TBool aIsFaded )
     {
-    if ( !!aIsFaded != !!iIsFaded ) // logical Ex-OR
+    if( !!aIsFaded != !!iIsFaded ) // logical Ex-OR
         {
         iIsFaded = aIsFaded;
         StartOrStopMarquee();
@@ -470,139 +470,192 @@
 //
 // -----------------------------------------------------------------------------
 //
-TBool CMmWidgetContainer::IsDeleteLockedL( TInt aItemIndex )
-	{
-	TBool result = ETrue;
+EXPORT_C TBool CMmWidgetContainer::AllowMove() const
+    {
+    return iAllowMove;
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMmWidgetContainer::SetAllowMove( TBool aAllowMove )
+    {
+    iAllowMove = aAllowMove;
+    }
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CMmWidgetContainer::SetTriggerMoveItemL( const TInt aRecipientId,
+        CLiwGenericParamList* aEventParameters )
+    {
+    iRecipientId = aRecipientId;
+    if( !iEventParameters )
+        {
+        iEventParameters = CLiwGenericParamList::NewL();
+        }
+    else
+        {
+        iEventParameters->Reset();
+        }
+
+    iEventParameters->AppendL(*aEventParameters);
+    }
 
-	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-	if (model)
-		{
-		CHnItemModel* onItemModel = model->GetItemModel(model->IdByIndex(
-				aItemIndex));
-		if (onItemModel)
-			{
-			result = onItemModel->IsDeleteLocked();
-			}
-		}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void CMmWidgetContainer::TriggerMoveItemL()
+    {
+    if( iRecipientId != KErrNotFound && iDragAndDropObserver )
+        {
+        iDragAndDropObserver->HandleTriggerMoveItemL( iRecipientId,
+            iEventParameters );
+        iRecipientId = KErrNotFound;
+        iEventParameters->Reset();
+        }
+    }
 
-	return result;
-	}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+TBool CMmWidgetContainer::IsDeleteLockedL( TInt aItemIndex )
+    {
+    TBool result = ETrue;
+
+    CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
+    if( model )
+        {
+        CHnItemModel* onItemModel = model->GetItemModel( model->IdByIndex(
+                aItemIndex ) );
+        if( onItemModel )
+            {
+            result = onItemModel->IsDeleteLocked();
+            }
+        }
+
+    return result;
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::ManageFolderZoomingL( TBool aDraggedItemOverIcons )
-	{
-	TBool isAnimated;
+    {
+    TBool isAnimated( EFalse );
 
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (/*current.GetFloatingItemType() != EZoomTransition &&*/
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
- 				current.GetDrawnItemIndex() == GetHighlight() )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
+    for( int i = 0; i < iDrawer->GetFloatingItemCount(); i++ )
+        {
+        TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex( i );
+        if( /*current.GetFloatingItemType() != EZoomTransition &&*/
+            current.GetFloatingItemType() != EPostHighlightChangeRefreshItem
+                && current.GetDrawnItemIndex() == GetHighlight() )
+            {
+            isAnimated = ETrue;
+            break;
+            }
+        }
 
-	if (!isAnimated)
-		{
-		if ( GetHighlight() != iDraggedIndex &&
-			 IsFolderL( GetHighlight() ) &&
-			 !IsDeleteLockedL( GetHighlight() ) &&
-			 iDrawer->IsDraggable() )
-			{
-			iDrawer->AnimateItemZoomInL( GetHighlight() );
-			}
-		}
+    if( !isAnimated )
+        {
+        if( GetHighlight() != iDraggedIndex
+                && IsFolderL( GetHighlight() )
+                && !IsDeleteLockedL( GetHighlight() )
+                && iDrawer->IsDraggable() )
+            {
+            iDrawer->AnimateItemZoomInL( GetHighlight() );
+            }
+        }
 
-	isAnimated = EFalse;
-	for(int i=0; i< iDrawer->GetFloatingItemCount(); i++)
-		{
-	    TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex(i);
-	    if (current.GetFloatingItemType() != EZoomTransition &&
-	    		current.GetFloatingItemType() != EPostHighlightChangeRefreshItem &&
-				current.GetDrawnItemIndex() == iLastDragHighlight )
-	    	{
-	        isAnimated = ETrue;
-	        break;
-	        }
-	    }
+    isAnimated = EFalse;
+    for( int i = 0; i < iDrawer->GetFloatingItemCount(); i++ )
+        {
+        TMmFloatingItem& current = iDrawer->GetFloatingItemAtIndex( i );
+        if( current.GetFloatingItemType() != EZoomTransition
+                && current.GetFloatingItemType() != EPostHighlightChangeRefreshItem
+                && current.GetDrawnItemIndex() == iLastDragHighlight )
+            {
+            isAnimated = ETrue;
+            break;
+            }
+        }
 
-	if (!isAnimated)
-		{
-		if ( ( !aDraggedItemOverIcons && IsFolderL( iLastDragHighlight ) ) ||
-				iLastDragHighlight != Widget()->CurrentItemIndex() )
-			{
-			iDrawer->AnimateItemZoomOutL( iLastDragHighlight );
-			}
-		}
-	}
+    if( !isAnimated )
+        {
+        if( ( !aDraggedItemOverIcons && IsFolderL( iLastDragHighlight ) )
+                || iLastDragHighlight != Widget()->CurrentItemIndex() )
+            {
+            iDrawer->AnimateItemZoomOutL( iLastDragHighlight );
+            }
+        }
+    }
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::HandlePointerEventsInEditModeL(
-		const TPointerEvent& aPointerEvent, TBool aAbortAnimations )
-	{
+        const TPointerEvent& aPointerEvent, TBool aAbortAnimations )
+    {
 
-	TInt pointedItem = KErrNotFound;
-	TBool draggedItemOverIcons = iWidget->View()->XYPosToItemIndex(
-			aPointerEvent.iPosition, pointedItem );
+    TInt pointedItem = KErrNotFound;
+    TBool draggedItemOverIcons = iWidget->View()->XYPosToItemIndex(
+            aPointerEvent.iPosition, pointedItem );
 
-	if (aPointerEvent.iType == TPointerEvent::EButton1Down)
+    if( aPointerEvent.iType == TPointerEvent::EButton1Down )
         {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->ClearFlags( CListItemDrawer::EPressedDownState );
-//        	}
-        HandleButtonDownL(aPointerEvent);
+        //TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
+        //        if (!IsFolderL(pointedItem))
+        //        	{
+        //        	iDrawer->ClearFlags( CListItemDrawer::EPressedDownState );
+        //        	}
+        HandleButtonDownL( aPointerEvent );
         iDragAndDropObserver->HandleDragStartL( GetHighlight() );
         }
-    else if ( (aPointerEvent.iType == TPointerEvent::EDrag ||
-            aPointerEvent.iType == TPointerEvent::EButtonRepeat) &&
-            iDraggedIndex != KErrNotFound)
+    else if( ( aPointerEvent.iType == TPointerEvent::EDrag
+            || aPointerEvent.iType == TPointerEvent::EButtonRepeat )
+            && iDraggedIndex != KErrNotFound )
         {
-//TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
-//        if (!IsFolderL(pointedItem))
-//        	{
-//        	iDrawer->SetFlags( CListItemDrawer::EPressedDownState );
-//        	}
+        //TODO: PROTO OF 2PHASE HIGHLIGHT EDITMODE BEHAVIOUR
+        //        if (!IsFolderL(pointedItem))
+        //        	{
+        //        	iDrawer->SetFlags( CListItemDrawer::EPressedDownState );
+        //        	}
 
         TPointerEvent pointerEvent = aPointerEvent;
         if( WidgetType() == EListWidget )
-        	{
-        	pointerEvent.iPosition.iX =
-                    iWidget->View()->ItemPos( pointedItem ).iX +
-                    iItemRelativeTapPoint.iX;
-        	}
+            {
+            pointerEvent.iPosition.iX =
+                    iWidget->View()->ItemPos( pointedItem ).iX
+                    + iItemRelativeTapPoint.iX;
+            }
 
-        if (GetHighlight() !=  Widget()->CurrentItemIndex() )
-        	{
-        	SetHighlightL( Widget()->CurrentItemIndex() );
-        	}
+        if( GetHighlight() != Widget()->CurrentItemIndex() )
+            {
+            SetHighlightL( Widget()->CurrentItemIndex() );
+            }
 
         ManageFolderZoomingL( draggedItemOverIcons );
 
-        HandleDragL(pointerEvent, aAbortAnimations);
+        HandleDragL( pointerEvent, aAbortAnimations );
 
         }
     else if (aPointerEvent.iType == TPointerEvent::EButton1Up && iDrawer->IsDraggable())
         {
-        if ( !draggedItemOverIcons )
-        	{
-        	SetManualHighlightL( iDraggedIndex );
-        	}
+        if( !draggedItemOverIcons )
+            {
+            SetManualHighlightL( iDraggedIndex );
+            }
 
         iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-        HandleButtonUpL(aPointerEvent);
+        iAllowMove = EFalse ;
+        HandleButtonUpL( aPointerEvent );
         }
-	}
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -611,70 +664,70 @@
 void CMmWidgetContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent )
     {
     if ( iMarqueeAdapter && aPointerEvent.iType == TPointerEvent::EButton1Down )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
+      {
+      iMarqueeAdapter->StopMarqueeDrawing();
+      }
 
     TInt index = KErrNotFound;
     TBool itemExists = iWidget->View()->XYPosToItemIndex( aPointerEvent.iPosition, index );
 
-    if ( iLongTapDetector )
+    if( iLongTapDetector )
         {
-        if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+        if( aPointerEvent.iType == TPointerEvent::EButton1Down )
             {
             iLongTapDetector->EnableLongTapAnimation( itemExists &&
                     GetMmModel()->GetNumberOfSpecificMenuItemsL( index ) > 0 );
             }
         TPointerEvent longTapPointerEvent = aPointerEvent;
-        if ( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
+        if( aPointerEvent.iType == TPointerEvent::EButtonRepeat )
             {
             longTapPointerEvent.iType = TPointerEvent::EDrag;
             }
         iLongTapDetector->PointerEventL( longTapPointerEvent );
         }
 
-    CCoeControl::HandlePointerEventL(aPointerEvent);
+    CCoeControl::HandlePointerEventL( aPointerEvent );
 
     if ( aPointerEvent.iType == TPointerEvent::EButton1Down
             && itemExists  )
         {
         SetHighlightL( index );
         }
-    else if ( aPointerEvent.iType == TPointerEvent::EDrag
-              // the line below is needed to enable edit mode in the list widget
-    		  // because behaviour in the grid and list is different
-    		  || (aPointerEvent.iType == TPointerEvent::EButtonRepeat && WidgetType() == EGridWidget ))
-    	{
-    	if ( itemExists )
-    		{
-        	if ( GetHighlight() != index )
-        	    {
-        	    SetHighlightVisibilityL( EFalse );
-        	    if ( IsEditMode() )
-        	    	{
-        		    SetHighlightL( index );
-        	    	}
-        	    }
-    		}
-    	else
-    		{
-    		SetHighlightVisibilityL( EFalse );
-    		}
-    	}
+    else if( aPointerEvent.iType == TPointerEvent::EDrag
+    // the line below is needed to enable edit mode in the list widget
+            // because behaviour in the grid and list is different
+          || (aPointerEvent.iType == TPointerEvent::EButtonRepeat && WidgetType() == EGridWidget ))
+        {
+        if( itemExists )
+            {
+            if( GetHighlight() != index )
+                {
+                SetHighlightVisibilityL( EFalse );
+                if( IsEditMode() )
+                    {
+                    SetHighlightL( index );
+                    }
+                }
+            }
+        else
+            {
+            SetHighlightVisibilityL( EFalse );
+            }
+        }
 
-	TInt lastTopItemIndex = Widget()->TopItemIndex();
+    TInt lastTopItemIndex = Widget()->TopItemIndex();
 
     TBool abortAnimation = lastTopItemIndex != Widget()->TopItemIndex();
 
-    if (abortAnimation)
+    if( abortAnimation )
         {
         iDrawer->GetAnimator()->CancelAnimationsL();
         }
 
-    if ( IsEditMode() && iDragAndDropObserver )
-    	{
-		HandlePointerEventsInEditModeL(aPointerEvent, abortAnimation);
-    	}
+    if( IsEditMode() && iDragAndDropObserver )
+        {
+        HandlePointerEventsInEditModeL( aPointerEvent, abortAnimation );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -682,12 +735,12 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TRect CMmWidgetContainer::GetItemRectL( TInt aItemIndex )
-	{
-	User::LeaveIfNull( iWidget );
-	TPoint pos = iWidget->View()->ItemPos( aItemIndex );
-	TSize size = iDrawer->GetItemSize( aItemIndex, EFalse );
-	return TRect( pos.iX, pos.iY, pos.iX + size.iWidth, pos.iY + size.iHeight );
-	}
+    {
+    User::LeaveIfNull( iWidget );
+    TPoint pos = iWidget->View()->ItemPos( aItemIndex );
+    TSize size = iDrawer->GetItemSize( aItemIndex, EFalse );
+  return TRect( pos.iX, pos.iY, pos.iX + size.iWidth, pos.iY + size.iHeight );
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -705,9 +758,9 @@
 // -----------------------------------------------------------------------------
 //
 TBool CMmWidgetContainer::IsEditMode() const
-	{
-	return iIsEditMode;
-	}
+    {
+    return iIsEditMode;
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -716,15 +769,16 @@
 void CMmWidgetContainer::SetEditModeL( TBool aIsEditMode )
     {
     iIsEditMode = aIsEditMode;
+    iAllowMove = EFalse;
     StartOrStopMarquee();
 
     ASSERT(iDrawer);
     iDrawer->SetEditModeL( aIsEditMode );
-    if ( !AknLayoutUtils::PenEnabled() && aIsEditMode )
-    	{
+    if( !AknLayoutUtils::PenEnabled() && aIsEditMode )
+        {
         iDraggedIndex = iWidget->CurrentItemIndex();
         ScrollViewIfNeededL(); //only edit mode non-touch
-    	}
+        }
 
     // scrollbar does not work when scrolling is disabled
     // iWidget->DisableScrolling( aIsEditMode );
@@ -739,24 +793,24 @@
     // activate the model
     CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
 
-    if ( suiteModel )
+    if( suiteModel )
         {
         suiteModel->SetActiveL( aEnable );
         }
 
-    if ( ( !!aEnable != !!iPreviousHighlightVisibility ) // Ex-OR
+    if( ( !!aEnable != !!iPreviousHighlightVisibility ) // Ex-OR
             || ( !!aEnable != !!IsHighlightVisible() ) ) // Ex-OR
         {
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-                    iDrawer->Gc() );
+        MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
+                iDrawer->Gc() );
 #endif
-        if ( !aEnable )
+        if( !aEnable )
             {
             iWidget->View()->ItemDrawer()->SetFlags(
-                CListItemDrawer::ESingleClickDisabledHighlight );
+                    CListItemDrawer::ESingleClickDisabledHighlight );
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-            if ( transApi )
+            if( transApi )
                 {
                 transApi->Remove( MAknListBoxTfxInternal::EListHighlight );
                 }
@@ -765,10 +819,10 @@
         else
             {
             iWidget->View()->ItemDrawer()->ClearFlags(
-                CListItemDrawer::ESingleClickDisabledHighlight );
+                    CListItemDrawer::ESingleClickDisabledHighlight );
             }
 
-        if ( IsVisible() )
+        if( IsVisible() )
             {
             TInt highlight = GetHighlight();
             CListBoxView* view = Widget()->View();
@@ -785,8 +839,8 @@
 //
 EXPORT_C TBool CMmWidgetContainer::IsHighlightVisible()
     {
-    return !( iWidget->View()->ItemDrawer()->Flags() &
-    		CListItemDrawer::ESingleClickDisabledHighlight );
+    return !( iWidget->View()->ItemDrawer()->Flags()
+            & CListItemDrawer::ESingleClickDisabledHighlight );
     }
 
 // -----------------------------------------------------------------------------
@@ -794,7 +848,7 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C TBool CMmWidgetContainer::IsDraggable()
-	{
+    {
     iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
     return iDrawer->IsDraggable();
     }
@@ -813,7 +867,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-CCoeControl* CMmWidgetContainer::ComponentControl(TInt aIndex) const
+CCoeControl* CMmWidgetContainer::ComponentControl( TInt aIndex ) const
     {
     switch( aIndex )
         {
@@ -836,12 +890,12 @@
 //
 // -----------------------------------------------------------------------------
 //
-EXPORT_C void CMmWidgetContainer::SetObserver( MMmWidgetObserver*  aObserver )
+EXPORT_C void CMmWidgetContainer::SetObserver( MMmWidgetObserver* aObserver )
     {
     //iWidget->SetListBoxObserver( aObserver );
     iListBoxObserver = aObserver;
     iKeyEventObserver = aObserver;
-	iDragAndDropObserver = aObserver;
+    iDragAndDropObserver = aObserver;
     }
 
 // -----------------------------------------------------------------------------
@@ -856,7 +910,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-EXPORT_C TInt CMmWidgetContainer::GetHighlight( )
+EXPORT_C TInt CMmWidgetContainer::GetHighlight()
     {
     return iCurrentHighlight;
     }
@@ -866,24 +920,24 @@
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::SetManualHighlightL( TInt aItemIndex,
-		TBool aRedraw )
-	{
-	SetHighlightL( aItemIndex );
+        TBool aRedraw )
+    {
+    SetHighlightL( aItemIndex );
 
-	if ( aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems() )
-		{
-		if ( aItemIndex != iWidget->CurrentItemIndex() )
-			{
-			iWidget->View()->SetCurrentItemIndex( aItemIndex );
-			}
+    if( aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems() )
+        {
+        if( aItemIndex != iWidget->CurrentItemIndex() )
+            {
+            iWidget->View()->SetCurrentItemIndex( aItemIndex );
+            }
 
-		if ( aRedraw )
-			{
-			iWidget->SetCurrentItemIndex( aItemIndex );
-			iWidget->DrawNow();
-			}
-		}
-	}
+        if( aRedraw )
+            {
+            iWidget->SetCurrentItemIndex( aItemIndex );
+            iWidget->DrawNow();
+            }
+        }
+    }
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -892,49 +946,48 @@
     {
     ASSERT( aItemIndex >= KErrNotFound );
 
-    if (aItemIndex == KErrNotFound)
+    if( aItemIndex == KErrNotFound )
         {
-        iCurrentHighlight =	 iPreviousHighlight = KErrNotFound;
+        iCurrentHighlight = iPreviousHighlight = KErrNotFound;
         SetDefaultHighlightL( EFalse );
         }
-    else if (aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems())
+    else if( aItemIndex >= 0 && aItemIndex < GetMmModel()->NumberOfItems() )
         {
         iPreviousHighlight = iCurrentHighlight;
         iCurrentHighlight = aItemIndex;
 
-        if ( iPreviousHighlight != iCurrentHighlight )
+        if( iPreviousHighlight != iCurrentHighlight )
             {
             HideOptionsMenuIfDisplayed();
             }
 
         CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
 
-        if (suiteModel)
+        if( suiteModel )
             {
             suiteModel->SetSuiteHighlightL( iCurrentHighlight );
             }
         }
 
+    if( IsEditMode() )
+        {
+        TMmFloatingItem postDragCurrent( GetHighlight(),
+                Widget()->View()->ItemPos( GetHighlight() ),
+                EPostHighlightChangeRefreshItem,
+                MmEffects::KNoAnimationFramesCount, Widget()->View() );
 
-	if ( IsEditMode() )
-    	{
-    	TMmFloatingItem postDragCurrent( GetHighlight(),
-    			Widget()->View()->ItemPos( GetHighlight() ),
-    			EPostHighlightChangeRefreshItem,
-				MmEffects::KNoAnimationFramesCount, Widget()->View() );
-
-    	iDrawer->AddFloatingItemL( postDragCurrent );
+        iDrawer->AddFloatingItemL( postDragCurrent );
 
-    	if ( GetPreviousHighlight() != GetHighlight() )
-    		{
-    		TMmFloatingItem postDragPrevious( GetPreviousHighlight(),
-    				Widget()->View()->ItemPos( GetPreviousHighlight() ),
-    				EPostHighlightChangeRefreshItem,
-    				MmEffects::KNoAnimationFramesCount, Widget()->View() );
+        if( GetPreviousHighlight() != GetHighlight() )
+            {
+            TMmFloatingItem postDragPrevious( GetPreviousHighlight(),
+                    Widget()->View()->ItemPos( GetPreviousHighlight() ),
+                    EPostHighlightChangeRefreshItem,
+                    MmEffects::KNoAnimationFramesCount, Widget()->View() );
 
-    		iDrawer->AddFloatingItemL( postDragPrevious );
-    		}
-    	}
+            iDrawer->AddFloatingItemL( postDragPrevious );
+            }
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -957,7 +1010,7 @@
 void CMmWidgetContainer::HideOptionsMenuIfDisplayed()
     {
     CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
-    if ( menuBar && menuBar->IsDisplayed() )
+    if( menuBar && menuBar->IsDisplayed() )
         {
         menuBar->StopDisplayingMenuBar();
         }
@@ -968,7 +1021,7 @@
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::SetFlag(TInt /*Flag*/)
+void CMmWidgetContainer::SetFlag( TInt /*Flag*/)
     {
     }
 
@@ -994,25 +1047,25 @@
 
     TBool highlightVisibleWhenEventReceived = IsHighlightVisible();
 
-    if ( IsEditMode() && IsDraggable() )
-    	return resp;
+    if( IsEditMode() && IsDraggable() )
+        return resp;
 
     resp = HandleKeyEventL( aKeyEvent, aType );
-    if ( iMarqueeAdapter && ( aType == EEventKeyDown ) )
-    	{
-    	iMarqueeAdapter->StopMarqueeDrawing();
-    	}
+    if( iMarqueeAdapter && ( aType == EEventKeyDown ) )
+        {
+        iMarqueeAdapter->StopMarqueeDrawing();
+        }
 
-    if (!AknLayoutUtils::PenEnabled() && iIsEditMode )
+    if( !AknLayoutUtils::PenEnabled() && iIsEditMode )
         {
-		if ((GetHighlight() + ColumnsInCurrentView() > NumberOfItems() - 1)
-						&& aKeyEvent.iScanCode == EStdKeyDownArrow)
-			// the second condition is needed to block moving item down when there is no item below the moved item.
-			{
-			return resp;
-			}
+        if( ( GetHighlight() + ColumnsInCurrentView() > NumberOfItems() - 1 )
+                && aKeyEvent.iScanCode == EStdKeyDownArrow )
+        // the second condition is needed to block moving item down when there is no item below the moved item.
+            {
+            return resp;
+            }
 
-        if (aType == EEventKey )
+        if( aType == EEventKey )
             {
             TInt prevIndex = GetHighlight();
             static_cast<CMmListBoxItemDrawer*>(iDrawer)->SetHighlightShown( EFalse );
@@ -1022,45 +1075,45 @@
             ScrollViewIfNeededL(); //only edit mode non-touch
 
             if ( prevIndex != GetHighlight()
-            		&& KErrNotFound != prevIndex  )
-            	{
-            	iDraggedIndex = prevIndex;
+                && KErrNotFound != prevIndex  )
+                {
+                iDraggedIndex = prevIndex;
                 iDragAndDropObserver->HandleDragStartL( iDraggedIndex );
                 GetMmModel()->ReorderModelL( iDraggedIndex, GetHighlight() );
-                iDrawer->AnimateItemSwapL( iDraggedIndex , GetHighlight() );
+                iDrawer->AnimateItemSwapL( iDraggedIndex, GetHighlight() );
                 AnimateShiftL( GetHighlight() );
-            	}
+                }
             return resp;
             }
         }
 
-    if ( resp == EKeyWasNotConsumed )
+    if( resp == EKeyWasNotConsumed )
         {
         resp = iWidget->OfferKeyEventL( aKeyEvent, aType );
         }
 
-    if ( iKeyEventObserver )
-    	{
-    	resp = iKeyEventObserver->HandleKeyPressedL( aKeyEvent, aType );
-    	}
+    if( iKeyEventObserver )
+        {
+        resp = iKeyEventObserver->HandleKeyPressedL( aKeyEvent, aType );
+        }
 
     if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
-    		aKeyEvent.iScanCode == EStdKeyEnter ||
-    		aKeyEvent.iScanCode == EStdKeyNkpEnter ) && aType == EEventKeyDown )
-    	{
-    	if ( highlightVisibleWhenEventReceived )
-    		{
-    		iAllowLongPress = EFalse;
-    		}
-    	else
-    		{
-    		iAllowLongPress = ETrue;
+        aKeyEvent.iScanCode == EStdKeyEnter ||
+        aKeyEvent.iScanCode == EStdKeyNkpEnter ) && aType == EEventKeyDown )
+        {
+        if( highlightVisibleWhenEventReceived )
+            {
+            iAllowLongPress = EFalse;
+            }
+        else
+            {
+            iAllowLongPress = ETrue;
 
-			SetHighlightVisibilityL( ETrue );
-			SetDefaultHighlightL( ETrue );
-			HandleForegroundGainedL();
-			}
-    	}
+            SetHighlightVisibilityL( ETrue );
+            SetDefaultHighlightL( ETrue );
+            HandleForegroundGainedL();
+            }
+        }
     return resp;
     }
 
@@ -1069,10 +1122,10 @@
 // -----------------------------------------------------------------------------
 //
 TInt CMmWidgetContainer::ColumnsInCurrentView()
-	{
-	//should be overridden by deriving classes
-	return NumberOfItems();
-	}
+    {
+    //should be overridden by deriving classes
+    return NumberOfItems();
+    }
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -1080,8 +1133,8 @@
 TInt CMmWidgetContainer::RowsInCurrentView()
     {
     //should be overridden by deriving classes
-    CListBoxView *view = ((CListBoxView*) Widget()->View());
-    return view->NumberOfItemsThatFitInRect( Rect());//Widget()->View()->ViewRect());
+    CListBoxView *view = ( (CListBoxView* ) Widget()->View() );
+    return view->NumberOfItemsThatFitInRect( Rect() );//Widget()->View()->ViewRect());
     }
 
 // -----------------------------------------------------------------------------
@@ -1089,7 +1142,7 @@
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::HandleRockerPressL()
-	{
+    {
     TKeyEvent ke;
     ke.iScanCode = EStdKeyNull;
     ke.iCode = EStdKeyNull;
@@ -1099,7 +1152,7 @@
         {
         iKeyEventObserver->HandleKeyPressedL( ke, EEventUser );
         }
-	}
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -1109,37 +1162,37 @@
         TEventCode aType )
     {
     TKeyResponse resp = EKeyWasNotConsumed;
-    TBool arrowKeyPressed = aKeyEvent.iScanCode == EStdKeyRightArrow ||
-        aKeyEvent.iScanCode == EStdKeyLeftArrow ||
-        aKeyEvent.iScanCode == EStdKeyUpArrow ||
-        aKeyEvent.iScanCode == EStdKeyDownArrow;
+    TBool arrowKeyPressed = aKeyEvent.iScanCode == EStdKeyRightArrow
+            || aKeyEvent.iScanCode == EStdKeyLeftArrow
+            || aKeyEvent.iScanCode == EStdKeyUpArrow
+            || aKeyEvent.iScanCode == EStdKeyDownArrow;
     TBool arrowHasHandling = ( aKeyEvent.iScanCode == EStdKeyRightArrow
-									&& WidgetType() != EListWidget )
-							|| ( aKeyEvent.iScanCode == EStdKeyLeftArrow
-									&& WidgetType() != EListWidget )
-							|| aKeyEvent.iScanCode == EStdKeyUpArrow
-							|| aKeyEvent.iScanCode == EStdKeyDownArrow;
+                  && WidgetType() != EListWidget )
+              || ( aKeyEvent.iScanCode == EStdKeyLeftArrow
+                  && WidgetType() != EListWidget )
+              || aKeyEvent.iScanCode == EStdKeyUpArrow
+              || aKeyEvent.iScanCode == EStdKeyDownArrow;
 
     // handle arrow: draw highlight when arrow used
-    if ( arrowHasHandling )
+    if( arrowHasHandling )
         {
-        if ( !IsHighlightVisible() )
+        if( !IsHighlightVisible() )
             {
-            if ( aType == EEventKey  || aType == EEventKeyUp )
+            if( aType == EEventKey || aType == EEventKeyUp )
                 {
                 SetHighlightVisibilityL( ETrue );
                 SetDefaultHighlightL( ETrue );
                 }
-           	// override avkon's default highlight setting
-         	resp = EKeyWasConsumed;
+            // override avkon's default highlight setting
+            resp = EKeyWasConsumed;
             }
         else
             {
             // this block is used to set the highlight only once for each event
-            if ( aKeyEvent.iRepeats > 0 )
+            if( aKeyEvent.iRepeats > 0 )
                 {
                 // if repeated key events we move focus on EEventKey
-                if ( aType == EEventKey )
+                if( aType == EEventKey )
                     {
                     SetHighlightL( iWidget->CurrentItemIndex() );
                     }
@@ -1147,13 +1200,13 @@
             else
                 {
                 // if single event we move focus on EEventKeyUp
-                if ( aType == EEventKeyUp )
+                if( aType == EEventKeyUp )
                     {
                     SetHighlightL( iWidget->CurrentItemIndex() );
                     }
                 }
             }
-    	}
+        }
     else if( arrowKeyPressed )
         {
         // ignore left and right arrows in list
@@ -1161,19 +1214,19 @@
         }
     // rocker select (short press)
     else if ( ( aKeyEvent.iScanCode == EStdKeyDevice3 ) && ( aType == EEventKeyDown  ) )
-    	{
-		HandleRockerPressL();
-		resp = EKeyWasConsumed;
-    	}
+        {
+        HandleRockerPressL();
+        resp = EKeyWasConsumed;
+        }
     else if ( iAllowLongPress && aType == EEventKey && aKeyEvent.iRepeats > 0 &&
-    		( aKeyEvent.iScanCode == EStdKeyDevice3
-				|| aKeyEvent.iScanCode == EStdKeyEnter
-				|| aKeyEvent.iScanCode == EStdKeyNkpEnter ) )
-    	{
-    	HandleRockerPressL();
-    	resp = EKeyWasConsumed;
-    	iAllowLongPress = EFalse;
-    	}
+        ( aKeyEvent.iScanCode == EStdKeyDevice3
+        || aKeyEvent.iScanCode == EStdKeyEnter
+        || aKeyEvent.iScanCode == EStdKeyNkpEnter ) )
+        {
+        HandleRockerPressL();
+        resp = EKeyWasConsumed;
+        iAllowLongPress = EFalse;
+        }
 
     return resp;
     }
@@ -1183,11 +1236,11 @@
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::SetSuiteModelL(CHnSuiteModel* aModel)
+void CMmWidgetContainer::SetSuiteModelL( CHnSuiteModel* aModel )
     {
     CHnSuiteModel* prevModel = GetMmModel()->GetSuiteModel();
 
-    TInt numberOfItemsBefore (0);
+    TInt numberOfItemsBefore( 0 );
     numberOfItemsBefore = GetMmModel()->NumberOfItems();
 
     GetMmModel()->SetSuiteModelL( aModel );
@@ -1197,8 +1250,8 @@
     // This needs to be in place (disabling redraw)
     // to udpate widget internal state, however to wait for
     // drawing until all highlight set matters are solved.
-    iWidget->MakeVisible(EFalse);
-    if ( GetMmModel()->NumberOfItems() >= numberOfItemsBefore )
+    iWidget->MakeVisible( EFalse );
+    if( GetMmModel()->NumberOfItems() >= numberOfItemsBefore )
         {
         HandleItemAdditionL();
         }
@@ -1206,20 +1259,20 @@
         {
         HandleItemRemovalL();
         }
-    if ( prevModel && aModel )
+    if( prevModel && aModel )
         {
         SetupWidgetLayoutL();
         }
-    iWidget->MakeVisible(ETrue);
+    iWidget->MakeVisible( ETrue );
 
-    if ( highlightVisibleBefore )
+    if( highlightVisibleBefore )
         {
         SetHighlightVisibilityL( ETrue );
         }
 
     Widget()->View()->ItemDrawer()->ClearFlags(
-    		CListItemDrawer::EPressedDownState );
-	iPostProcessor->StartAt( iWidget->BottomItemIndex() + 1 );
+            CListItemDrawer::EPressedDownState );
+    iPostProcessor->StartAt( iWidget->BottomItemIndex() + 1 );
     }
 
 // ---------------------------------------------------------------------------
@@ -1227,19 +1280,18 @@
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::SetupDrawer()
-	{
-	iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
-	}
-
+  {
+  iDrawer = STATIC_CAST(CMmListBoxItemDrawer*, iWidget->View()->ItemDrawer());
+  }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C THnSuiteWidgetType CMmWidgetContainer::WidgetType()
-	{
-	return EUnspecified;
-	}
+    {
+    return EUnspecified;
+    }
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
@@ -1263,11 +1315,11 @@
 
     // Fix for EMWK-7NYKRJ
     // Matrix Menu: Scrollbar highligted when App Key is pressed while it is held
-    if ( AknLayoutUtils::PenEnabled() )
+    if( AknLayoutUtils::PenEnabled() )
         {
         CEikScrollBar* scrollBar =
                 iWidget->ScrollBarFrame()->VerticalScrollBar();
-        if ( scrollBar && scrollBar->IsVisible() )
+        if( scrollBar && scrollBar->IsVisible() )
             {
             TPointerEvent fakeButton1UpEvent;
             fakeButton1UpEvent.iType = TPointerEvent::EButton1Up;
@@ -1292,21 +1344,21 @@
 // ---------------------------------------------------------------------------
 //
 TInt CMmWidgetContainer::DeltaSquare( const TPoint aTapPoint,
-		const TPoint aPos )
-	{
-	TInt delta( KErrNotFound );
-	TInt height = aTapPoint.iY - aPos.iY;
-	TInt width = aTapPoint.iX - aPos.iX;
+        const TPoint aPos )
+    {
+    TInt delta( KErrNotFound );
+    TInt height = aTapPoint.iY - aPos.iY;
+    TInt width = aTapPoint.iX - aPos.iX;
     if( WidgetType() == EListWidget )
-    	{
-    	delta = height * height + height * height;
-    	}
+        {
+        delta = height * height + height * height;
+        }
     else
-    	{
-    	delta = height * height + width * width;
-    	}
-	return delta;
-	}
+        {
+        delta = height * height + width * width;
+        }
+    return delta;
+    }
 
 // ---------------------------------------------------------------------------
 //
@@ -1328,120 +1380,118 @@
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::HandleItemAdditionL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
-
+    {
+    // only the the descended method should be invoked.
+    // this is needed to avoid codescanner warning
+    User::Leave( KErrNotSupported );
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::HandleItemRemovalL()
-	{
-	// only the the descended method should be invoked.
-	// this is needed to avoid codescanner warning
-	User::Leave( KErrNotSupported );
-	}
+    {
+    // only the the descended method should be invoked.
+    // this is needed to avoid codescanner warning
+    User::Leave( KErrNotSupported );
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::StopMovingL()
-	{
-	if ( !AknLayoutUtils::PenEnabled() && iDragAndDropObserver )
-		iDragAndDropObserver->HandleDragStopL( GetHighlight() );
-	}
-
+    {
+    if( !AknLayoutUtils::PenEnabled() && iDragAndDropObserver )
+        iDragAndDropObserver->HandleDragStopL( GetHighlight() );
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::ScrollViewIfNeededL()
-	{
-	if ((iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			-  iWidget->TopItemIndex() / ColumnsInCurrentView() ) <= 1 )
-		{
-		return;
-		}
+    {
+    if( ( iWidget->BottomItemIndex() / ColumnsInCurrentView()
+            - iWidget->TopItemIndex() / ColumnsInCurrentView() ) <= 1 )
+        {
+        return;
+        }
 
-	TBool needToScrollUp =
-		GetHighlight() - iWidget->TopItemIndex() < ColumnsInCurrentView()
-		&& iWidget->TopItemIndex() != 0;
+  TBool needToScrollUp =
+    GetHighlight() - iWidget->TopItemIndex() < ColumnsInCurrentView()
+    && iWidget->TopItemIndex() != 0;
 
-	TBool needToScrollDown =
-		iWidget->BottomItemIndex() - GetHighlight() < ColumnsInCurrentView()
-		&& iWidget->BottomItemIndex() / ColumnsInCurrentView()
-			!= ( NumberOfItems() - 1 )  / ColumnsInCurrentView();
+  TBool needToScrollDown =
+    iWidget->BottomItemIndex() - GetHighlight() < ColumnsInCurrentView()
+    && iWidget->BottomItemIndex() / ColumnsInCurrentView()
+      != ( NumberOfItems() - 1 )  / ColumnsInCurrentView();
 
-	if ( WidgetType() == EGridWidget )
-		{
-		// TODO: temporary - invisible partial items in MCL grid :/
-		needToScrollDown =
-			iWidget->BottomItemIndex() - ColumnsInCurrentView() - GetHighlight() < ColumnsInCurrentView()
-		    && ( iWidget->BottomItemIndex() / ColumnsInCurrentView() ) - 1
-				!= ( NumberOfItems() - 1 ) / ColumnsInCurrentView()
-			&& iWidget->BottomItemIndex() - iWidget->TopItemIndex()
-				> ColumnsInCurrentView() * RowsInCurrentView();
-		}
+    if( WidgetType() == EGridWidget )
+        {
+        // TODO: temporary - invisible partial items in MCL grid :/
+    needToScrollDown =
+      iWidget->BottomItemIndex() - ColumnsInCurrentView() - GetHighlight() < ColumnsInCurrentView()
+        && ( iWidget->BottomItemIndex() / ColumnsInCurrentView() ) - 1
+        != ( NumberOfItems() - 1 ) / ColumnsInCurrentView()
+      && iWidget->BottomItemIndex() - iWidget->TopItemIndex()
+        > ColumnsInCurrentView() * RowsInCurrentView();
+        }
 
-	if ( needToScrollUp )
-		{
+    if( needToScrollUp )
+        {
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollUp );
-				}
+      MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
+        if( transApi )
+            {
+            transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollUp );
+            }
 #endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() - ColumnsInCurrentView() );
+        iDrawer->RemoveFloatingItems();
+    iWidget->View()->VScrollTo(
+        iWidget->TopItemIndex() - ColumnsInCurrentView() );
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
+        if( transApi )
+            {
+            transApi->Draw( Rect() );
+            }
 #endif
-		UpdateViewScrollBarThumbs();
-		}
-	else if ( needToScrollDown )
-		{
+        UpdateViewScrollBarThumbs();
+        }
+    else if( needToScrollDown )
+        {
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
-			if ( transApi )
-				{
-				transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
-				}
+      MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal( iDrawer->Gc() );
+        if( transApi )
+            {
+            transApi->SetMoveType( MAknListBoxTfxInternal::EListScrollDown );
+            }
 #endif
-		iDrawer->RemoveFloatingItems();
-		iWidget->View()->VScrollTo(
-				iWidget->TopItemIndex() + ColumnsInCurrentView() );
+        iDrawer->RemoveFloatingItems();
+    iWidget->View()->VScrollTo(
+        iWidget->TopItemIndex() + ColumnsInCurrentView() );
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-			if ( transApi )
-				{
-				transApi->Draw( Rect() );
-				}
+        if( transApi )
+            {
+            transApi->Draw( Rect() );
+            }
 #endif
 
-		UpdateViewScrollBarThumbs();
-		}
-	}
+        UpdateViewScrollBarThumbs();
+        }
+    }
 
 //----------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::UpdateViewScrollBarThumbs()
-	{
+    {
 
-	}
+    }
 
 //----------------------------------------------------------------------------
 //
@@ -1449,15 +1499,15 @@
 //
 void CMmWidgetContainer::StartOrStopMarquee()
     {
-    if ( iMarqueeAdapter )
+    if( iMarqueeAdapter )
         {
         TBool marqueeShouldBeEnabled = iHasFocus && iInForeground
                 && !iIsFaded && !IsEditMode();
 
-         // logical Ex-OR
+        // logical Ex-OR
         if ( !!marqueeShouldBeEnabled != !!iMarqueeAdapter->IsMarqueeEnabled() )
             {
-            if ( !marqueeShouldBeEnabled )
+            if( !marqueeShouldBeEnabled )
                 {
                 iMarqueeAdapter->StopMarqueeDrawing();
                 }
@@ -1472,89 +1522,89 @@
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::SetHighlightAfterDrag()
-	{
-    if ( AknLayoutUtils::PenEnabled() &&
-    		iDraggedIndex != KErrNotFound &&
-			iDraggedIndex != Widget()->CurrentItemIndex()
-			&& iDraggedIndex < NumberOfItems() )
-    	{
-    	TBool isFolder(EFalse);
-    	CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
-		CHnItemModel* onItemModel = model->GetItemModel(
-				model->IdByIndex( Widget()->CurrentItemIndex() ));
-	    if (onItemModel)
-	    	{
-	    	isFolder = onItemModel->GetItemType() == EItemTypeParentFolder ||
-				onItemModel->GetItemType() == EItemTypeFolder;
-	    	}
-	    if (!isFolder)
-	    	{
-	    	Widget()->View()->SetCurrentItemIndex( iDraggedIndex );
-	    	}
-    	}
-	}
+    {
+    if( AknLayoutUtils::PenEnabled()
+            && iDraggedIndex != KErrNotFound
+            && iDraggedIndex != Widget()->CurrentItemIndex()
+            && iDraggedIndex < NumberOfItems() )
+        {
+        TBool isFolder( EFalse );
+        CHnSuiteModel* model = GetMmModel()->GetSuiteModel();
+    CHnItemModel* onItemModel = model->GetItemModel(
+        model->IdByIndex( Widget()->CurrentItemIndex() ));
+        if( onItemModel )
+            {
+            isFolder = onItemModel->GetItemType() == EItemTypeParentFolder
+                    || onItemModel->GetItemType() == EItemTypeFolder;
+            }
+        if( !isFolder )
+            {
+            Widget()->View()->SetCurrentItemIndex( iDraggedIndex );
+            }
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::ValidateWidgetCurrentItemIndex()
-	{
-	if (Widget()->CurrentItemIndex() >= GetMmModel()->NumberOfItems()
-			|| Widget()->CurrentItemIndex() == KErrNotFound )
-		{
-		iCurrentHighlight = GetMmModel()->NumberOfItems();
-		if( iCurrentHighlight > 0 )
-			{
-			Widget()->View()->SetCurrentItemIndex( --iCurrentHighlight );
-			}
-		else
-			{
-			iCurrentHighlight = KErrNotFound ;
-			}
-		}
-	}
+    {
+    if( Widget()->CurrentItemIndex() >= GetMmModel()->NumberOfItems()
+            || Widget()->CurrentItemIndex() == KErrNotFound )
+        {
+        iCurrentHighlight = GetMmModel()->NumberOfItems();
+        if( iCurrentHighlight > 0 )
+            {
+            Widget()->View()->SetCurrentItemIndex( --iCurrentHighlight );
+            }
+        else
+            {
+            iCurrentHighlight = KErrNotFound;
+            }
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::CacheWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = VerticalItemOffset();
-	iWidgetPositionCache.iTopItemIndex = Widget()->TopItemIndex();
-	iWidgetPositionCache.iLandscape
-			= Layout_Meta_Data::IsLandscapeOrientation();
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
+    {
+    iWidgetPositionCache.iVerticalItemOffset = VerticalItemOffset();
+    iWidgetPositionCache.iTopItemIndex = Widget()->TopItemIndex();
+    iWidgetPositionCache.iLandscape
+            = Layout_Meta_Data::IsLandscapeOrientation();
+    iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
 
-	TInt highlightedItemIndex = Widget()->CurrentItemIndex();
-	CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-	if ( suiteModel && highlightedItemIndex != KErrNotFound
-	        && suiteModel->GetSuiteHighlight() == highlightedItemIndex
-	        && ItemIsVisible( highlightedItemIndex ) )
-	    {
-	    iWidgetPositionCache.iHighlightedItemId =
+    TInt highlightedItemIndex = Widget()->CurrentItemIndex();
+    CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
+    if( suiteModel && highlightedItemIndex != KErrNotFound
+            && suiteModel->GetSuiteHighlight() == highlightedItemIndex
+            && ItemIsVisible( highlightedItemIndex ) )
+        {
+      iWidgetPositionCache.iHighlightedItemId =
             suiteModel->IdByIndex( highlightedItemIndex );
-	    }
+        }
 
-	iWidgetPositionCache.iValid = ETrue;
-	}
+    iWidgetPositionCache.iValid = ETrue;
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::RestoreWidgetPosition()
-	{
-	if (iWidgetPositionCache.iValid)
-		{
-	   if ( iWidgetPositionCache.iLandscape
-				== Layout_Meta_Data::IsLandscapeOrientation() )
-			{
+    {
+    if( iWidgetPositionCache.iValid )
+        {
+        if( iWidgetPositionCache.iLandscape
+                == Layout_Meta_Data::IsLandscapeOrientation() )
+            {
             // If view position was cached during boundary effect, correct the
             // cached position.
-            if ( iWidgetPositionCache.iTopItemIndex == 0 &&
-                    iWidgetPositionCache.iVerticalItemOffset > 0 )
+            if( iWidgetPositionCache.iTopItemIndex == 0
+                    && iWidgetPositionCache.iVerticalItemOffset > 0 )
                 {
                 iWidgetPositionCache.iVerticalItemOffset = 0;
                 // This corrects the position cached during the upper boundary
@@ -1562,139 +1612,139 @@
                 // effect.
                 }
 
-			Widget()->View()->SetTopItemIndex(iWidgetPositionCache.iTopItemIndex);
-			SetVerticalItemOffset(iWidgetPositionCache.iVerticalItemOffset);
-			TRAP_IGNORE( AlignBottomOfViewL() );
+      Widget()->View()->SetTopItemIndex(iWidgetPositionCache.iTopItemIndex);
+            SetVerticalItemOffset( iWidgetPositionCache.iVerticalItemOffset );
+            TRAP_IGNORE( AlignBottomOfViewL() );
 
-			// Important: If an item that was previously highlighted and visible is
-			// still highlighted and yet somehow is not visible after the position
-			// has been restored, fix the problem by scrolling the view until that
-			// item is visible again:
-			CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
-			if ( suiteModel && IsHighlightVisible() )
-			    {
-			    TInt highlightedItemIndex = suiteModel->GetSuiteHighlight();
-			    TInt highlightedItemId = highlightedItemIndex != KErrNotFound ?
-			        suiteModel->IdByIndex( highlightedItemIndex ) : KErrNotFound;
-			    if ( highlightedItemId != KErrNotFound
-			            && highlightedItemId == iWidgetPositionCache.iHighlightedItemId
-			            && !ItemIsVisible( highlightedItemIndex ) )
-			        {
-			        TRAP_IGNORE( ScrollToItemL( highlightedItemIndex ) );
-			        }
-			    }
-			}
-		else
-			{
-			TRAP_IGNORE( ScrollToItemL(Widget()->CurrentItemIndex()) );
-			}
+            // Important: If an item that was previously highlighted and visible is
+            // still highlighted and yet somehow is not visible after the position
+            // has been restored, fix the problem by scrolling the view until that
+            // item is visible again:
+            CHnSuiteModel* suiteModel = GetMmModel()->GetSuiteModel();
+            if( suiteModel && IsHighlightVisible() )
+                {
+                TInt highlightedItemIndex = suiteModel->GetSuiteHighlight();
+          TInt highlightedItemId = highlightedItemIndex != KErrNotFound ?
+              suiteModel->IdByIndex( highlightedItemIndex ) : KErrNotFound;
+          if ( highlightedItemId != KErrNotFound
+                  && highlightedItemId == iWidgetPositionCache.iHighlightedItemId
+                  && !ItemIsVisible( highlightedItemIndex ) )
+                    {
+                    TRAP_IGNORE( ScrollToItemL( highlightedItemIndex ) );
+                    }
+                }
+            }
+        else
+            {
+            TRAP_IGNORE( ScrollToItemL(Widget()->CurrentItemIndex()) );
+            }
 
-		iWidgetPositionCache.iValid = EFalse;
-		}
-	}
+        iWidgetPositionCache.iValid = EFalse;
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
-void CMmWidgetContainer::MakeVisible(TBool aVisible)
-	{
-	if ( !aVisible )
-		{
-		RestoreWidgetPosition();
-		CacheWidgetPosition();
-		iDrawer->RemoveFloatingItems();
-		}
-	else if ( aVisible )
-		{
-		RestoreWidgetPosition();
-		}
-	CCoeControl::MakeVisible(aVisible);
-	iWidget->MakeVisible(aVisible);
-	if ( !aVisible )
+void CMmWidgetContainer::MakeVisible( TBool aVisible )
+    {
+    if( !aVisible )
+        {
+        RestoreWidgetPosition();
+        CacheWidgetPosition();
+        iDrawer->RemoveFloatingItems();
+        }
+    else if( aVisible )
         {
-		TRAP_IGNORE( SetHighlightVisibilityL( EFalse ) );
+        RestoreWidgetPosition();
         }
-	}
+    CCoeControl::MakeVisible( aVisible );
+    iWidget->MakeVisible( aVisible );
+    if( !aVisible )
+        {
+        TRAP_IGNORE( SetHighlightVisibilityL( EFalse ) );
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::ResetWidgetPosition()
-	{
-	iWidgetPositionCache.iVerticalItemOffset = 0;
-	iWidgetPositionCache.iTopItemIndex = 0;
-	iWidgetPositionCache.iValid = EFalse;
-	iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
-	Widget()->SetTopItemIndex(0);
-	SetVerticalItemOffset(0);
-	}
+    {
+    iWidgetPositionCache.iVerticalItemOffset = 0;
+    iWidgetPositionCache.iTopItemIndex = 0;
+    iWidgetPositionCache.iValid = EFalse;
+    iWidgetPositionCache.iHighlightedItemId = KErrNotFound;
+    Widget()->SetTopItemIndex( 0 );
+    SetVerticalItemOffset( 0 );
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::NumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		CacheWidgetPosition();
-		Widget()->View()->SetDisableRedraw( ETrue );
+    {
+    if( AknLayoutUtils::PenEnabled() )
+        {
+        CacheWidgetPosition();
+        Widget()->View()->SetDisableRedraw( ETrue );
 
-		HandleNumberOfItemsChangedL( aChange );
+        HandleNumberOfItemsChangedL( aChange );
 
-		Widget()->View()->SetDisableRedraw( EFalse );
-		RestoreWidgetPosition();
-		}
-	else
-		{
-		// there is no need to cache and restore widget position in non-touch;
-		// moreover, it can cause some problems with scrolling when adding
-		// new folder
-		HandleNumberOfItemsChangedL( aChange );
-		}
-	}
+        Widget()->View()->SetDisableRedraw( EFalse );
+        RestoreWidgetPosition();
+        }
+    else
+        {
+        // there is no need to cache and restore widget position in non-touch;
+        // moreover, it can cause some problems with scrolling when adding
+        // new folder
+        HandleNumberOfItemsChangedL( aChange );
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
 // ---------------------------------------------------------------------------
 //
 void CMmWidgetContainer::HandleNumberOfItemsChangedL( TItemsChangeType aChange )
-	{
-	SetHighlightVisibilityL( EFalse );
-	if ( aChange == EItemsAdded )
-		{
-		HandleItemAdditionL();
-		}
-	else if ( aChange == EItemsRemoved )
-		{
-		HandleItemRemovalL();
-		}
-	}
+    {
+    SetHighlightVisibilityL( EFalse );
+    if( aChange == EItemsAdded )
+        {
+        HandleItemAdditionL();
+        }
+    else if( aChange == EItemsRemoved )
+        {
+        HandleItemRemovalL();
+        }
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 TBool CMmWidgetContainer::AlignBottomOfViewL()
-	{
-	TInt scrollConsumed( EFalse );
-	TInt pixelsToScroll( 0 );
+    {
+    TInt scrollConsumed( EFalse );
+    TInt pixelsToScroll( 0 );
 
-	if ( NumberOfItems() > 0 )
-		{
-		pixelsToScroll = CalcBottomPixelsToScroll();
-		}
+    if( NumberOfItems() > 0 )
+        {
+        pixelsToScroll = CalcBottomPixelsToScroll();
+        }
 
-	if ( pixelsToScroll != 0 )
-		{
-		ScrollInPixelsL( pixelsToScroll );
-		scrollConsumed = ETrue;
-		}
+    if( pixelsToScroll != 0 )
+        {
+        ScrollInPixelsL( pixelsToScroll );
+        scrollConsumed = ETrue;
+        }
 
-	return scrollConsumed;
-	}
+    return scrollConsumed;
+    }
 
 // -----------------------------------------------------------------------------
 //
@@ -1705,11 +1755,11 @@
     const TInt firstItemIndex( 0 );
     TInt lastItemIndex = NumberOfItems() - 1;
     TInt viewHeight = Widget()->View()->ViewRect().Height();
-    TInt lastItemBottomY = Widget()->View()->ItemPos(lastItemIndex).iY
-                + Widget()->ItemHeight();
+    TInt lastItemBottomY = Widget()->View()->ItemPos( lastItemIndex ).iY
+            + Widget()->ItemHeight();
     TInt pixelsToScroll( 0 );
 
-    if ( Widget()->ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
+    if( Widget()->ScrollBarFrame()->VerticalScrollBar()->IsVisible() )
         {
         pixelsToScroll = Min( 0, lastItemBottomY - viewHeight );
         }
@@ -1721,7 +1771,6 @@
     return pixelsToScroll;
     }
 
-
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
@@ -1735,155 +1784,156 @@
 //
 // -----------------------------------------------------------------------------
 //
-EXPORT_C TBool CMmWidgetContainer::ItemIsFullyVisible(TInt aIndex)
-	{
-	return ItemIsVisible( aIndex )
-			&& !Widget()->View()->ItemIsPartiallyVisible(aIndex);
-	}
+EXPORT_C TBool CMmWidgetContainer::ItemIsFullyVisible( TInt aIndex )
+    {
+    return ItemIsVisible( aIndex )
+            && !Widget()->View()->ItemIsPartiallyVisible( aIndex );
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::ScrollInPixelsL(TInt aPixels)
-	{
-	SetupScrollingEffectsL( aPixels > 0 );
+void CMmWidgetContainer::ScrollInPixelsL( TInt aPixels )
+    {
+    SetupScrollingEffectsL( aPixels > 0 );
 
-	if ( AknLayoutUtils::PenEnabled() )
-		{
-		Widget()->HandlePhysicsScrollEventL(aPixels);
-		}
-	else
-		{
-		// non-touch avkon doesn't seem to support scrolling by given
-		// amount of pixels
-		TInt delta = aPixels / Widget()->View()->ItemHeight();
+    if( AknLayoutUtils::PenEnabled() )
+        {
+        Widget()->HandlePhysicsScrollEventL( aPixels );
+        }
+    else
+        {
+        // non-touch avkon doesn't seem to support scrolling by given
+        // amount of pixels
+        TInt delta = aPixels / Widget()->View()->ItemHeight();
 
-		Widget()->View()->VScrollTo( Widget()->TopItemIndex() +
-				delta * ColumnsInCurrentView() );
-		}
-	}
+        Widget()->View()->VScrollTo( Widget()->TopItemIndex()
+                + delta * ColumnsInCurrentView() );
+        }
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
-EXPORT_C TBool CMmWidgetContainer::ScrollToItemL(TInt aIndex)
-	{
-	TInt scrollConsumed(EFalse);
-	if (aIndex >= 0 && aIndex <= NumberOfItems())
-		{
-		scrollConsumed = AlignBottomOfViewL();
-		if ( !scrollConsumed && Widget()->View()->ItemIsPartiallyVisible(aIndex))
-			{
-//			the case when the item is partially visible at top or
-//			bottom of screen. Th e view is scrolled the offset to
-//			make the item entirely visible.
-			TInt offsetBottom = Widget()->View()->ItemPos(aIndex).iY
-					+ Widget()->ItemHeight()
-					- Widget()->View()->ViewRect().Height();
-			TInt offsetTop = Widget()->View()->ItemPos(aIndex).iY;
-			TBool takeTop = Abs(offsetTop) < Abs(offsetBottom);
-			TInt offset = (takeTop) ? offsetTop : offsetBottom;
-			if (offset != 0)
-				{
-				ScrollInPixelsL( offset );
-				scrollConsumed = ETrue;
-				}
+EXPORT_C TBool CMmWidgetContainer::ScrollToItemL( TInt aIndex )
+    {
+    TInt scrollConsumed( EFalse );
+    if( aIndex >= 0 && aIndex <= NumberOfItems() )
+        {
+        scrollConsumed = AlignBottomOfViewL();
+    if ( !scrollConsumed && Widget()->View()->ItemIsPartiallyVisible(aIndex))
+            {
+            //			the case when the item is partially visible at top or
+            //			bottom of screen. Th e view is scrolled the offset to
+            //			make the item entirely visible.
+            TInt offsetBottom = Widget()->View()->ItemPos( aIndex ).iY
+                    + Widget()->ItemHeight()
+                    - Widget()->View()->ViewRect().Height();
+            TInt offsetTop = Widget()->View()->ItemPos( aIndex ).iY;
+            TBool takeTop = Abs( offsetTop ) < Abs( offsetBottom );
+            TInt offset = ( takeTop ) ? offsetTop : offsetBottom;
+            if( offset != 0 )
+                {
+                ScrollInPixelsL( offset );
+                scrollConsumed = ETrue;
+                }
 
-			}
-		else if (!Widget()->View()->ItemIsVisible(aIndex))
-			{
-//			the case when the item is not visible on screen
-			SetupScrollingEffectsL( aIndex > Widget()->BottomItemIndex() );
-			Widget()->ScrollToMakeItemVisible(aIndex);
-			AlignBottomOfViewL();
-			scrollConsumed = ETrue;
-			}
-		}
-	return scrollConsumed;
-	}
+            }
+        else if( !Widget()->View()->ItemIsVisible( aIndex ) )
+            {
+            //			the case when the item is not visible on screen
+            SetupScrollingEffectsL( aIndex > Widget()->BottomItemIndex() );
+            Widget()->ScrollToMakeItemVisible( aIndex );
+            AlignBottomOfViewL();
+            scrollConsumed = ETrue;
+            }
+        }
+    return scrollConsumed;
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
-void CMmWidgetContainer::SetupScrollingEffectsL(TBool aDown)
-	{
+void CMmWidgetContainer::SetupScrollingEffectsL( TBool aDown )
+    {
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
-	MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
-			iDrawer->Gc());
-	if (transApi)
-		{
-		MAknListBoxTfxInternal::TMovementType movementType;
-		movementType = (aDown == (TInt)ETrue ) ? MAknListBoxTfxInternal::EListScrollDown
-				: MAknListBoxTfxInternal::EListScrollUp;
-		transApi->SetMoveType(movementType);
-		}
+    MAknListBoxTfxInternal *transApi = CAknListLoader::TfxApiInternal(
+            iDrawer->Gc() );
+    if( transApi )
+        {
+        MAknListBoxTfxInternal::TMovementType movementType;
+        movementType = ( aDown == (TInt ) ETrue )
+                ? MAknListBoxTfxInternal::EListScrollDown
+                : MAknListBoxTfxInternal::EListScrollUp;
+        transApi->SetMoveType( movementType );
+        }
 #endif
-	}
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::PrepareForGarbage()
-	{
-//	This is called when the suite model is destoyed and the container is set to be destroyed
-//	by the garbage collector. There should be no redraws done to the widget in this period
-//	because this will cause the screen to be redrawn only containing the balnk background.
-//	Before garbage cleanup an asynchronous redraw event may intend to redraw the widget.
-//	SetDisableRedraw() prevents redrawing. Animator is also prepared for garbage so there is
-//	no instance which can enable redraw of the widget.
-	Widget()->View()->SetDisableRedraw( ETrue );
-	iDrawer->RemoveFloatingItems();
-//	Prapares the animator for garbage, which means it blocks any animator drawing.
-	iDrawer->GetAnimator()->PrepareForGarbage();
-	}
+    {
+    //	This is called when the suite model is destoyed and the container is set to be destroyed
+    //	by the garbage collector. There should be no redraws done to the widget in this period
+    //	because this will cause the screen to be redrawn only containing the balnk background.
+    //	Before garbage cleanup an asynchronous redraw event may intend to redraw the widget.
+    //	SetDisableRedraw() prevents redrawing. Animator is also prepared for garbage so there is
+    //	no instance which can enable redraw of the widget.
+    Widget()->View()->SetDisableRedraw( ETrue );
+    iDrawer->RemoveFloatingItems();
+    //	Prapares the animator for garbage, which means it blocks any animator drawing.
+    iDrawer->GetAnimator()->PrepareForGarbage();
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 void CMmWidgetContainer::HandleLongTapEventL( const TPoint& aPenEventLocation,
-                                      const TPoint& aPenEventScreenLocation )
-	{
-	TInt index( KErrNotFound );
-	if ( iWidget->View()->XYPosToItemIndex( aPenEventLocation, index ) )
-		{
-		SetHighlightVisibilityL( ETrue );
-	    iLongTapInProgress = ETrue;
-		if ( iLongTapObserver )
-			{
-			iLongTapObserver->HandleLongTapEventL( aPenEventScreenLocation );
-			}
-		}
-	}
+        const TPoint& aPenEventScreenLocation )
+    {
+    TInt index( KErrNotFound );
+    if( iWidget->View()->XYPosToItemIndex( aPenEventLocation, index ) )
+        {
+        SetHighlightVisibilityL( ETrue );
+        iLongTapInProgress = ETrue;
+        if( iLongTapObserver )
+            {
+            iLongTapObserver->HandleLongTapEventL( aPenEventScreenLocation );
+            }
+        }
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::SetLongTapObserver( MMmLongTapObserver* aObserver )
-	{
-	iLongTapObserver = aObserver;
-	}
+    {
+    iLongTapObserver = aObserver;
+    }
 
 // -----------------------------------------------------------------------------
 //
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CMmWidgetContainer::EndLongTapL( TBool aStopTimer )
-	{
-	if ( iLongTapInProgress )
-		{
-		iLongTapInProgress = EFalse;
-		if( aStopTimer )
-			{
-			SetHighlightVisibilityL( EFalse );
-			}
-		}
-	}
+    {
+    if( iLongTapInProgress )
+        {
+        iLongTapInProgress = EFalse;
+        if( aStopTimer )
+            {
+            SetHighlightVisibilityL( EFalse );
+            }
+        }
+    }
 
 // ---------------------------------------------------------------------------
 //
@@ -1892,65 +1942,65 @@
 void CMmWidgetContainer::HandleListBoxEventL( CEikListBox* aListBox,
         TListBoxEvent aEventType )
     {
-//    handle same behaviour in edit mode and normal mode
-    switch ( aEventType )
-		{
-		case MEikListBoxObserver::EEventPenDownOnItem:
-		case MEikListBoxObserver::EEventItemSingleClicked:
-			{
-			iDragOccured = EFalse;
-			break;
-			}
-		case MEikListBoxObserver::EEventItemDraggingActioned:
-			{
-			iDragOccured = ETrue;
-			break;
-			}
-		}
+    //    handle same behaviour in edit mode and normal mode
+    switch( aEventType )
+        {
+        case MEikListBoxObserver::EEventPenDownOnItem:
+        case MEikListBoxObserver::EEventItemSingleClicked:
+            {
+            iDragOccured = EFalse;
+            break;
+            }
+        case MEikListBoxObserver::EEventItemDraggingActioned:
+            {
+            iDragOccured = ETrue;
+            break;
+            }
+        }
 
-//    handle different behaviour in edit mode and normal mode
-	if ( !IsEditMode() )
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStarted:
-			case MEikListBoxObserver::EEventPanningStarted:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( ETrue );
-				break;
-				}
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( EFalse );
-				DrawView();
-				break;
-				}
-			case MEikListBoxObserver::EEventPanningStopped:
-				{
-				static_cast<CMmListBoxItemDrawer*>(
-						Widget()->View()->ItemDrawer() )->
-						EnableCachedDataUse( EFalse );
-				break;
-				}
-			}
-		}
-	else
-		{
-		switch ( aEventType )
-			{
-			case MEikListBoxObserver::EEventFlickStopped:
-				{
-				// this fixes some problems with messed edit mode
-				// caused by kinetic scrolling
-				iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
-				break;
-				}
-			}
-		}
+    //    handle different behaviour in edit mode and normal mode
+    if( !IsEditMode() )
+        {
+        switch( aEventType )
+            {
+            case MEikListBoxObserver::EEventFlickStarted:
+            case MEikListBoxObserver::EEventPanningStarted:
+                {
+        static_cast<CMmListBoxItemDrawer*>(
+            Widget()->View()->ItemDrawer() )->
+            EnableCachedDataUse( ETrue );
+        break;
+        }
+      case MEikListBoxObserver::EEventFlickStopped:
+        {
+        static_cast<CMmListBoxItemDrawer*>(
+            Widget()->View()->ItemDrawer() )->
+            EnableCachedDataUse( EFalse );
+        DrawView();
+        break;
+        }
+      case MEikListBoxObserver::EEventPanningStopped:
+        {
+        static_cast<CMmListBoxItemDrawer*>(
+            Widget()->View()->ItemDrawer() )->
+            EnableCachedDataUse( EFalse );
+        break;
+                }
+            }
+        }
+    else
+        {
+        switch( aEventType )
+            {
+            case MEikListBoxObserver::EEventFlickStopped:
+                {
+                // this fixes some problems with messed edit mode
+                // caused by kinetic scrolling
+                iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
+                break;
+                }
+            }
+        }
 
     if ( aEventType == MEikListBoxObserver::EEventItemSingleClicked &&
         iListBoxObserver && !iLongTapInProgress && !iDrawer->IsDraggable() )