Merge RCL_3 fixes with latest delivery. RCL_3
authorsrilekhas <srilekhas@symbian.org>
Mon, 23 Aug 2010 15:39:03 +0100
branchRCL_3
changeset 52 99c8e3015c1d
parent 51 fcdfafb36fe7 (diff)
parent 43 07b3ec0df257 (current diff)
child 57 be7054131a1e
Merge RCL_3 fixes with latest delivery.
uifw/EikStd/coctlsrc/EIKCOCTL.MMP
--- a/applicationinterworkingfw/ServiceHandler/group/ServiceHandler.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/applicationinterworkingfw/ServiceHandler/group/ServiceHandler.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -71,6 +71,7 @@
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY         eikcore.lib 
+LIBRARY         aknnotify.lib
 
 START WINS
 END
--- a/applicationinterworkingfw/ServiceHandler/src/AiwServiceHandlerImpl.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/applicationinterworkingfw/ServiceHandler/src/AiwServiceHandlerImpl.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -31,6 +31,7 @@
 #include "AiwEcomMonitor.h"
 #include "AiwTlsData.h"
 #include "data_caging_path_literals.hrh"
+#include "../../../uifw/inc/akntrace.h"
 
 // CONSTANTS
 // Max number of empty menu resource slots.
@@ -66,10 +67,14 @@
 
 CAiwServiceHandlerImpl* CAiwServiceHandlerImpl::NewL()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CAiwServiceHandlerImpl* handler = new (ELeave) CAiwServiceHandlerImpl();
     CleanupStack::PushL( handler );
     handler->ConstructL();
     CleanupStack::Pop(); // handler
+    
+    _AKNTRACE_FUNC_EXIT;
     return handler;
     }
 
@@ -119,6 +124,8 @@
 
 CAiwServiceHandlerImpl::~CAiwServiceHandlerImpl()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     if (iResourceOffset && iCoeEnv)
         {
         iCoeEnv->DeleteResourceFile(iResourceOffset);
@@ -133,12 +140,18 @@
         data->RemoveMenuLaunchObserver( this );
         CAiwTlsData::Close();
         }
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::Reset()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
+    RProcess pro;
+    AknTracePrint(_L("process name:%S"),&(pro.FileName()));
+    
     iInterestList.ResetAndDestroy();
     iMenuBindings.ResetAndDestroy();
     iBaseBindings.ResetAndDestroy();
@@ -152,6 +165,8 @@
     iInParams = NULL;
     delete iOutParams;
     iOutParams = NULL;
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
@@ -159,6 +174,8 @@
 void CAiwServiceHandlerImpl::ListProvidersForCriteriaL(RArray<TInt>& aResult, 
     CAiwCriteriaItem& aItem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i;
 
     for (i = 0; i < iProviders.Count(); i++)
@@ -168,12 +185,16 @@
             User::LeaveIfError(aResult.Append(iProviders[i]->ImplementationUid().iUid));
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 TInt CAiwServiceHandlerImpl::NbrOfProviders(const CAiwCriteriaItem* aCriteria)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     if(!aCriteria)
         {
         return 0;
@@ -203,6 +224,7 @@
             }       
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return 0;
     }
 
@@ -210,6 +232,8 @@
 
 void CAiwServiceHandlerImpl::AttachL(TInt aInterestResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aInterestResourceId:%x",aInterestResourceId);
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -234,12 +258,16 @@
 
     CleanupStack::Pop(); // filtered
     CleanupStack::Pop(); // interest
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::AttachL(const RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+        
     RCriteriaArray interest, filtered;
     
     CleanupStack::PushL( TCleanupItem( InterestCleanup, &interest ) );
@@ -257,6 +285,12 @@
         item->SetDefaultProvider( (aInterest[i]->DefaultProvider()).iUid );
         item->SetMaxProviders(     aInterest[i]->MaxProviders()          );       
         
+        _AKNTRACE("aInterest[i]->Id():%x",aInterest[i]->Id());
+        _AKNTRACE("aInterest[i]->ServiceCmd():%x",aInterest[i]->ServiceCmd());
+        _AKNTRACE("aInterest[i]->ServiceClass():%x",aInterest[i]->ServiceClass());
+        _AKNTRACE("(aInterest[i]->DefaultProvider()).iUid:%x",(aInterest[i]->DefaultProvider()).iUid);
+        _AKNTRACE("aInterest[i]->MaxProviders():%x",aInterest[i]->MaxProviders());
+        
         User::LeaveIfError(interest.Append(item));
         CleanupStack::Pop(item); 
         }
@@ -269,12 +303,18 @@
 
     CleanupStack::Pop(); // filtered
     CleanupStack::Pop(); // interest
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::DoAttachL(const RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
+    RProcess pro;
+    AknTracePrint(_L("process name:%S"),&(pro.FileName()));
     CAiwBinding* bind;
     for (TInt i = 0; i < aInterest.Count(); i++)
         {
@@ -305,11 +345,15 @@
             CleanupStack::PopAndDestroy(); // bind
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::GetInterest(RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     for (TInt i = 0; i < iInterestList.Count(); i++)
         {
         if (aInterest.Append(iInterestList[i]) != KErrNone)
@@ -317,12 +361,16 @@
             return;
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
     
     
 
 void CAiwServiceHandlerImpl::DetachL(const RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     // First, remove relevant criteria items from relevat base bindings.
     for (TInt i = 0; i < aInterest.Count(); i++)
         {
@@ -351,13 +399,18 @@
     RemoveObsoleteCriteriaItems();
     
     // Finally check if there were left obselete providers and remove them.
-    RemoveObsoleteProviders();        
+    RemoveObsoleteProviders();      
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::DetachL(TInt aInterestResourceId)
     { 
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aInterestResourceId:%x",aInterestResourceId);
+    
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -377,11 +430,14 @@
 
     interest.ResetAndDestroy();
     CleanupStack::Pop(); // interest
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 const CAiwCriteriaItem* CAiwServiceHandlerImpl::GetCriteria(TInt aId)
     {
+    _AKNTRACE_FUNC_ENTER;
     for (TInt i = 0; i < iInterestList.Count(); i++)
         {
         if (iInterestList[i]->Id() == aId)
@@ -389,12 +445,15 @@
             return iInterestList[i];
             }
         }
-
+    
+    _AKNTRACE_FUNC_EXIT;
     return NULL;  
     }
     
 TInt CAiwServiceHandlerImpl::NumAlreadyInitializedPaneIdsL() const
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt ret = 0;
     TInt paneIds[KMaxPaneIds] = {0};
     TBool found = EFalse;
@@ -426,6 +485,8 @@
             ret++;
             }                       
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     return ret;         
     }    
 
@@ -435,8 +496,12 @@
     TInt aBaseMenuCmdId,
     const CAiwGenericParamList& aInParamList)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     InitializeMenuPaneL(aMenuPane, aMenuResourceId, aBaseMenuCmdId, 
         aInParamList, EFalse, EFalse);    
+    
+    _AKNTRACE_FUNC_EXIT;
     }        
         
 void CAiwServiceHandlerImpl::InitializeMenuPaneL(
@@ -446,7 +511,11 @@
     const CAiwGenericParamList& aInParamList,
     TBool aUseSubmenuTextsIfAvailable)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     InitializeMenuPaneL(aMenuPane, aMenuResourceId, aBaseMenuCmdId, aInParamList, aUseSubmenuTextsIfAvailable, EFalse);
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
@@ -458,6 +527,20 @@
     TBool aUseSubmenuTextsIfAvailable,
     TBool aSetAsItemSpecific)
     {        
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuPane:%x",&aMenuPane);
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+    _AKNTRACE("aBaseMenuCmdId:%x",aBaseMenuCmdId);
+    _AKNTRACE("aUseSubmenuTextsIfAvailable:%x",aUseSubmenuTextsIfAvailable);
+    _AKNTRACE("aSetAsItemSpecific:%x",aSetAsItemSpecific);
+    
+    TInt count = aInParamList.Count();
+    for(TInt i=0;i<count;i++)
+        {
+        _AKNTRACE("i:%d, InParamList[i].SemanticId():%x",i,aInParamList[i].SemanticId());
+        AknTracePrint(_L("i:%d, InParamList[i].Value():%S"),i,&(aInParamList[i].Value().AsDes()));
+        
+        }
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -592,11 +675,16 @@
                 }
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 TInt CAiwServiceHandlerImpl::ServiceCmdByMenuCmd(TInt aMenuCmdId) const
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuCmdId:%x",aMenuCmdId);
+    
     for (TInt i = 0; i < iMenuBindings.Count(); i++)
         {
         if ((IsInLastInitialized(iMenuBindings[i]->MenuPane())) &&
@@ -606,6 +694,8 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
+    
     return 0;   
     }
 
@@ -618,6 +708,27 @@
     TUint aCmdOptions,
     MAiwNotifyCallback* aCallback)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuCmdId:%x",aMenuCmdId);
+     
+    RProcess pro;
+    AknTracePrint(_L("process name:%S"),&(pro.FileName()));
+    
+    TInt count = aInParamList.Count();
+    for (TInt i = 0; i < count; i++)
+        {
+        _AKNTRACE("i:%d, InParamList[i].SemanticId():%x",i,aInParamList[i].SemanticId());
+        AknTracePrint(_L("i:%d, InParamList[i].Value():%S"),i,&(aInParamList[i].Value().AsDes()));
+
+        }
+        
+    count = iProviders.Count();
+    for (TInt i = 0; i < count; i++)
+        {
+        AknTracePrint(_L("i:%d, iProviders[i]->ImplementationUid():%x"),i,iProviders[i]->ImplementationUid().iUid);
+        AknTracePrint(_L("i:%d, iProviders[i]:%x"),i,iProviders[i]);
+        }
+    
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -653,12 +764,17 @@
                 }
             }
         }
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, TInt aInterestResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+    _AKNTRACE("aInterestResourceId:%x",aInterestResourceId);
+    
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -681,12 +797,17 @@
     CleanupStack::PopAndDestroy(); // reader
     CleanupStack::Pop(); // filtered
     CleanupStack::Pop(); // interest
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, TResourceReader& aReader)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+        
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -707,11 +828,16 @@
     CleanupStack::PopAndDestroy(); // reader
     CleanupStack::Pop(); // filtered
     CleanupStack::Pop(); // interest
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::AttachMenuL(TInt aMenuResourceId, const RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+        
     // CCoeEnv/CEikonEnv needs to be accessible.
     if(!iCoeEnv)
         {
@@ -736,6 +862,12 @@
         item->SetDefaultProvider( (aInterest[i]->DefaultProvider()).iUid );
         item->SetMaxProviders(     aInterest[i]->MaxProviders()          );       
         
+        _AKNTRACE("aInterest[i]->Id():%x",aInterest[i]->Id());
+        _AKNTRACE("aInterest[i]->ServiceCmd():%x",aInterest[i]->ServiceCmd());
+        _AKNTRACE("aInterest[i]->ServiceClass():%x",aInterest[i]->ServiceClass());
+        _AKNTRACE("(aInterest[i]->DefaultProvider()).iUid:%x",(aInterest[i]->DefaultProvider()).iUid);
+        _AKNTRACE("aInterest[i]->MaxProviders():%x",aInterest[i]->MaxProviders());
+        
         User::LeaveIfError(interest.Append(item));
         CleanupStack::Pop(item); 
         }
@@ -748,12 +880,19 @@
     CleanupStack::PopAndDestroy(); // reader
     CleanupStack::Pop(); // filtered
     CleanupStack::Pop(); // interest    
+    
+    _AKNTRACE_FUNC_EXIT;
     }   
 
 
 void CAiwServiceHandlerImpl::DoAttachMenuL(TResourceReader& aReader, TInt aMenuId, 
     RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
+    RProcess pro;
+    AknTracePrint(_L("process name:%S"),&(pro.FileName()));
+        
     TInt menuCmd;
     TInt count = aReader.ReadInt16();
     TBool bound;
@@ -833,6 +972,8 @@
             }
         SkipMenuFields(aReader);  // Jump to next menu item
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
@@ -849,6 +990,10 @@
 
 void CAiwServiceHandlerImpl::DetachMenu(TInt aMenuResourceId, TInt aInterestResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+    _AKNTRACE("aInterestResourceId:%x",aInterestResourceId);
+        
     // If interest resource id is null, then detach all items in the given menu.
     if (!aInterestResourceId)
         {
@@ -874,11 +1019,16 @@
         
         interest.ResetAndDestroy();
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
         
 
 void CAiwServiceHandlerImpl::DoDetachMenu(TInt aMenuResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+        
     // First, delete the relevant menu bindings.
     for (TInt i = 0; i < iMenuBindings.Count(); i++)
         {
@@ -895,11 +1045,16 @@
     
     // Finally check if there were left obselete providers and remove them.
     RemoveObsoleteProviders();  
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
     
 void CAiwServiceHandlerImpl::DoDetachMenu(TInt aMenuResourceId, RCriteriaArray& aInterest)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aMenuResourceId:%x",aMenuResourceId);
+    
     // First, remove relevant criteria items from relevant menu bindings.
     for (TInt i = 0; i < iMenuBindings.Count(); i++)
         {
@@ -931,12 +1086,16 @@
     RemoveObsoleteCriteriaItems();
     
     // Finally check if there were left obselete providers and remove them.
-    RemoveObsoleteProviders();        
+    RemoveObsoleteProviders();      
+    
+    _AKNTRACE_FUNC_EXIT;
     }    
     
     
 void CAiwServiceHandlerImpl::RemoveObsoleteCriteriaItems()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     for (TInt i = 0; i < iInterestList.Count(); i++)
         {
         CAiwCriteriaItem* criteria = iInterestList[i];
@@ -973,11 +1132,15 @@
             i--;
             }
         }    
+    
+    _AKNTRACE_FUNC_EXIT;
     }
     
     
 void CAiwServiceHandlerImpl::RemoveObsoleteProviders()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     for (TInt i = 0; i < iProviders.Count(); i++)
         {
         CAiwServiceIfBase* provider = iProviders[i];
@@ -1014,24 +1177,33 @@
             i--;
             }
         }    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 TBool CAiwServiceHandlerImpl::IsSubMenuEmpty(TInt aSubMenuId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aSubMenuId:%d",aSubMenuId);
+  
     for (TInt i = 0; i < iMenuBindings.Count(); i++)
         {
         if (iMenuBindings[i]->MenuId() == aSubMenuId)
             {
             if (iMenuBindings[i]->NumberOfProviders() > 0)
                 {
+                _AKNTRACE("return false");
+                _AKNTRACE_FUNC_EXIT;
                 return EFalse;
                 }
 
+            _AKNTRACE("return true");
+            _AKNTRACE_FUNC_EXIT;
             return ETrue;
             }
         }
-
+    
+    _AKNTRACE_FUNC_EXIT;
     return EFalse;
     }
 
@@ -1041,16 +1213,21 @@
 CAiwMenuBinding* CAiwServiceHandlerImpl::AlreadyBound(TInt aMenuId, TInt aMenuCmd, 
     TInt aMenuItemIndex) const
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     for (TInt i = 0; i < iMenuBindings.Count(); i++)
         {
         if ((iMenuBindings[i]->MenuId() == aMenuId) &&
             (iMenuBindings[i]->MenuCmd() == aMenuCmd) &&
             (iMenuBindings[i]->MenuItemIndex() == aMenuItemIndex))
             {
+            _AKNTRACE("iMenuBindings[i]:%x",iMenuBindings[i]);
+            _AKNTRACE_FUNC_EXIT;
             return iMenuBindings[i];
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return NULL;
     }
 
@@ -1062,6 +1239,21 @@
     TUint aCmdOptions,
     MAiwNotifyCallback* aCallback)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aCmdId:%x",aCmdId);
+    _AKNTRACE("aCmdOptions:%x",aCmdOptions);
+    
+    RProcess pro;
+    AknTracePrint(_L("process name:%S"),&(pro.FileName()));
+
+    TInt count = aInParamList.Count();
+    for (TInt i = 0; i < count; i++)
+        {
+        _AKNTRACE("i:%d, InParamList[i].SemanticId():%x",i,aInParamList[i].SemanticId());
+        AknTracePrint(_L("i:%d, InParamList[i].Value():%S"),i,&(aInParamList[i].Value().AsDes()));
+
+        }
+        
     for (TInt i = 0; i < iBaseBindings.Count(); i++)
         {
         if(iBaseBindings[i]->HasServiceCmd(aCmdId))
@@ -1077,6 +1269,8 @@
                 }
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
@@ -1084,6 +1278,8 @@
 void CAiwServiceHandlerImpl::ReadInterestListL(TResourceReader& aReader, 
     RPointerArray<CAiwCriteriaItem>& aResult)  
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     const TInt count = aReader.ReadInt16();
     for (TInt ii = 0; ii < count; ++ii)
         {
@@ -1092,11 +1288,15 @@
         User::LeaveIfError(aResult.Append(item));
         CleanupStack::Pop(); // item
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 TInt CAiwServiceHandlerImpl::ResolveProvidersL(CAiwBinding* aBinding, CAiwCriteriaItem* aItem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     RImplInfoPtrArray infoArray;
     TInt result = 0;
 
@@ -1157,6 +1357,8 @@
 
     CleanupStack::PopAndDestroy(); // infoArray     
 
+    _AKNTRACE_FUNC_EXIT;
+    
     return result;
     }
 
@@ -1164,6 +1366,8 @@
 
 void CAiwServiceHandlerImpl::FilterInfoArray(RImplInfoPtrArray& aArray, CAiwCriteriaItem* aItem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     if (aItem->MaxProviders() <= 0)
         {
         aArray.ResetAndDestroy();
@@ -1185,6 +1389,8 @@
                 }
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
@@ -1221,6 +1427,7 @@
 
 TBool CAiwServiceHandlerImpl::IsInLastInitialized(CAiwMenuPane* aiwPane) const
     {
+    _AKNTRACE_FUNC_ENTER;
     if (aiwPane)
         {
         if (iSubmenu == aiwPane)
@@ -1237,6 +1444,7 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return EFalse;
     }
 
@@ -1269,6 +1477,8 @@
 CAiwMenuPane* CAiwServiceHandlerImpl::CreateEmptyAiwMenuPaneL(TInt aBaseMenuCmdId, 
     TInt aResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CAiwMenuPane* result = NULL;
     TResourceReader reader; 
     
@@ -1301,12 +1511,16 @@
     
     result->SetResourceSlotId( id );
     
+    _AKNTRACE_FUNC_EXIT;
+    
     return result;
     }
 
 
 void CAiwServiceHandlerImpl::DeleteAiwMenuPane(CAiwMenuPane* aAiwPane)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     delete aAiwPane->iMenuPane;
     aAiwPane->iMenuPane = NULL;
 
@@ -1339,6 +1553,8 @@
     
     delete aAiwPane;
     aAiwPane = NULL;    
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 const TInt resourceSlotIds[KMaxMenuResources] =
@@ -1364,11 +1580,14 @@
 
 TInt CAiwServiceHandlerImpl::ResourceIdForNextFreeSlot()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     if (iNextFreeSlot < KMaxMenuResources)
         {
         return resourceSlotIds[iNextFreeSlot++];
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return -1;
     }
 
@@ -1385,42 +1604,60 @@
 
 void Cleanup( TAny* aAny )
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     RImplInfoPtrArray* implArray = 
         reinterpret_cast< RImplInfoPtrArray*> ( aAny );
     implArray->ResetAndDestroy();
     implArray->Close();
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void InterestCleanup( TAny* aAny )
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     RPointerArray<CAiwCriteriaItem>* interestArray = 
         reinterpret_cast<RPointerArray<CAiwCriteriaItem>*> ( aAny );
 
-    interestArray->ResetAndDestroy();   
+    interestArray->ResetAndDestroy();
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 void FilteredCleanup( TAny* aAny )
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     RPointerArray<CAiwCriteriaItem>* filteredArray = 
         reinterpret_cast<RPointerArray<CAiwCriteriaItem>*> ( aAny );
 
-    filteredArray->Reset();   
+    filteredArray->Reset();
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void IntArrayCleanup(TAny* aAny)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     RArray<TInt>* intArray = 
         reinterpret_cast<RArray<TInt>*> ( aAny );
 
     intArray->Close();
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::CopyMenuItemsL(CAiwMenuPane* aSource, CEikMenuPane& aDest, 
     TInt aStartIndex, TBool aIsSubmenu, TBool aSetAsItemSpecific)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt cmdId;
     TInt inPos = aStartIndex;
 
@@ -1451,12 +1688,16 @@
             aDest.InsertMenuItemL(itemData, inPos++);
             }   
         }   
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 TInt CAiwServiceHandlerImpl::SlotItemCmd(CEikMenuPane& aPane)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt index;
 
     for (TInt i = 0; i < KMaxMenuResources; i++)
@@ -1467,6 +1708,7 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return -1;
     }
 
@@ -1474,6 +1716,8 @@
 
 CAiwMenuPane* CAiwServiceHandlerImpl::MenuPaneForSlotCmd(TInt aCmdId)
     {
+    _AKNTRACE_FUNC_ENTER;    
+
     TInt index = aCmdId - EAiwMenuSlotBase; 
 
     if (index < KMaxMenuResources)
@@ -1488,6 +1732,8 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
+
     return NULL;
     }
 
@@ -1496,8 +1742,11 @@
 CAiwServiceHandlerImpl::TAiwPlaceholderType CAiwServiceHandlerImpl::PlaceholderType(
     CEikMenuPane& aPane, TInt aCmd, TBool& aTitleLocked)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CEikMenuPaneItem::SData& itemData = aPane.ItemData(aCmd);
-
+    _AKNTRACE("itemData.iCascadeId:%x",itemData.iCascadeId);
+    
     aTitleLocked = EFalse;
 
     if ((itemData.iCascadeId & AIW_CASCADE_ID) == AIW_CASCADE_ID)
@@ -1517,6 +1766,7 @@
         return EAiwPlaceholderIntelligentCascade;
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return EAiwPlaceholderNormal;
     }
 
@@ -1524,6 +1774,8 @@
 void CAiwServiceHandlerImpl::ConvertPlaceholderL(CEikMenuPane& aPane, TInt aCmd, 
     CAiwMenuPane& aAiwPane, const TDesC& aTitle, TBool aSetAsItemSpecific)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CEikMenuPaneItem::SData itemData = aPane.ItemData(aCmd);
     TInt index;
 
@@ -1551,12 +1803,16 @@
 
     // Insert cascade item.
     aPane.InsertMenuItemL(itemData, index);
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::UnCascadeL(CEikMenuPane& aPane, TInt aCmd,
     CAiwMenuPane& aAiwPane, TBool aSetAsItemSpecific)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CEikMenuPaneItem::SData itemData = aAiwPane.MenuPane().ItemData(aAiwPane.FindCmdId(0));
     TInt index;
 
@@ -1576,12 +1832,16 @@
 
     // Insert cascade item.
     aPane.InsertMenuItemL(itemData, index);     
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::SkipMenuFields(TResourceReader& aReader)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     aReader.ReadInt32(); // Skip cascade id
     aReader.ReadInt32(); // Skip flags
     aReader.ReadTPtrC(); // Skip text
@@ -1590,11 +1850,15 @@
     aReader.ReadInt16(); // Skip bmpid.
     aReader.ReadInt16(); // Skip bmpmask. 
     aReader.ReadInt32(); // Skip extension.   
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 TBool CAiwServiceHandlerImpl::IsAiwMenu(TInt aMenuResourceId)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i;
 
     // First check if this is aiw submenu id
@@ -1615,6 +1879,8 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
+    
     return EFalse;
     }
 
@@ -1622,6 +1888,7 @@
 
 TBool CAiwServiceHandlerImpl::HandleSubmenuL(CEikMenuPane& aPane)
     {
+    _AKNTRACE_FUNC_ENTER;
     TInt slotcmd = SlotItemCmd(aPane);
     if (slotcmd >= 0)
         {
@@ -1637,6 +1904,7 @@
             }
         }
 
+    _AKNTRACE_FUNC_EXIT;
     return EFalse;
     }
 
@@ -1644,6 +1912,8 @@
 
 TBool CAiwServiceHandlerImpl::GetSubmenuTitle(CEikMenuPane& aPane, TDes& aResult)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt index;
     
     aResult.Zero();
@@ -1657,7 +1927,8 @@
         aPane.DeleteMenuItem(AIW_SUBMENU_TITLE);
         return ETrue;
         }
-
+  
+    _AKNTRACE_FUNC_EXIT;
     return EFalse;
     }
 
@@ -1687,6 +1958,8 @@
 void CAiwServiceHandlerImpl::FilterInterestListL(RPointerArray<CAiwCriteriaItem>& aOriginal,
     RPointerArray<CAiwCriteriaItem>& aFiltered)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     CAiwCriteriaItem* item;
 
     while (aOriginal.Count() > 0)
@@ -1697,12 +1970,16 @@
         User::LeaveIfError(aFiltered.Append(item));
         }
     aOriginal.Reset();
+   
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 void CAiwServiceHandlerImpl::RemoveProvider(TInt aImplUid)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i;
 
     // First go through bindings and remove all the 
@@ -1727,11 +2004,16 @@
             i--;
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::AddProviderL(TUid aImplUid, CAiwCriteriaItem* aItem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aImplUid:%x",aImplUid.iUid);
+    
     TInt i;
     CAiwServiceIfBase* iface = iEcomMonitor->CreateImplementationL(aImplUid);
     
@@ -1760,14 +2042,22 @@
                 }               
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 
 TInt CAiwServiceHandlerImpl::SynchronizeCallBack(TAny* aImpl)
     {
+    _AKNTRACE_FUNC_ENTER;
+    _AKNTRACE("aImpl:%x",aImpl);
+    
     CAiwServiceHandlerImpl* impl = reinterpret_cast<CAiwServiceHandlerImpl*>(aImpl);
     TRAPD(err, impl->SynchronizeDbL());
+    
+    _AKNTRACE_FUNC_EXIT;
+    
     return err;
     }
 
@@ -1775,6 +2065,8 @@
 
 void CAiwServiceHandlerImpl::SynchronizeDbL()
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i;
     RArray<TInt> providers;
     RImplInfoPtrArray infoArray;
@@ -1798,12 +2090,16 @@
         }
 
     CleanupStack::PopAndDestroy(2); // providers, infoArray
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::HandleRemovedProviders(RArray<TInt>& aInMemory, 
     RImplInfoPtrArray& aInSystem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i, j;
 
     for (i = 0; i < aInMemory.Count(); i++)
@@ -1820,12 +2116,16 @@
             RemoveProvider(aInMemory[i]);
             }
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 
 void CAiwServiceHandlerImpl::HandleNewProvidersL(RArray<TInt>& aInMemory, 
     RImplInfoPtrArray& aInSystem, CAiwCriteriaItem* aItem)
     {
+    _AKNTRACE_FUNC_ENTER;
+    
     TInt i;
 
     for (i = 0; i < aInSystem.Count(); i++)
@@ -1835,10 +2135,14 @@
             AddProviderL(aInSystem[i]->ImplementationUid(), aItem);
             }       
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
     
 void CAiwServiceHandlerImpl::MenuLaunched()
     {  
+    _AKNTRACE_FUNC_ENTER;
+    
     ClearMenuPaneArray();
     iNextFreeSlot = 0;
     iLastInitialized.Reset();
@@ -1848,6 +2152,8 @@
         {
         iMenuBindings[i]->SetMenuPane(NULL);
         }
+    
+    _AKNTRACE_FUNC_EXIT;
     }
 
 // End of file
--- a/classicui_plat/aiw_provider_utility_api/tsrc/group/testdomaiwpro.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/aiw_provider_utility_api/tsrc/group/testdomaiwpro.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 LIBRARY         euser.lib
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         servicehandler.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_plat/aiw_service_interface_base_api/tsrc/group/testdomserviceib.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/aiw_service_interface_base_api/tsrc/group/testdomserviceib.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -34,7 +34,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-     MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH      ../src
 
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
@@ -50,9 +52,9 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         ServiceHandler.lib
+LIBRARY         servicehandler.lib
 
 
 LANG            SC
--- a/classicui_plat/aiw_service_interface_menu_api/tsrc/group/testdomserviceim.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/aiw_service_interface_menu_api/tsrc/group/testdomserviceim.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -34,8 +34,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-        MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
 
+SOURCEPATH      ../src
 
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
@@ -50,8 +51,8 @@
 SOURCE          testserviceifmenuprotected.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         ServiceHandler.lib
+LIBRARY         servicehandler.lib
 
 LANG            SC
--- a/classicui_plat/alarm_api/tsrc/group/testdomalarm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/alarm_api/tsrc/group/testdomalarm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,10 +49,10 @@
 SOURCE          testdomalarmblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY			eiksrv.lib
-LIBRARY			eikalert.lib
+LIBRARY			Eikalert.lib
 
 LANG            SC
 
--- a/classicui_plat/application_switching_api/tsrc/group/testdomapplicationswitching.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/application_switching_api/tsrc/group/testdomapplicationswitching.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -38,7 +38,7 @@
 SOURCE          testdomserappuiderive.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eiksrv.lib
 LIBRARY         eiksrvui.lib
--- a/classicui_plat/avkon_fonts_api/tsrc/group/testdomakfonts.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/avkon_fonts_api/tsrc/group/testdomakfonts.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -34,8 +34,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-      MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
 
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -50,11 +51,11 @@
 SOURCE          testdomakfontsblockslayoutfont.cpp 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         uiklaf.lib
 LIBRARY         avkon.lib
-LIBRARY         fontutils.lib 
+LIBRARY         fontutils.lib
 LIBRARY         gdi.lib
 LIBRARY         eikcore.lib
 LIBRARY         cone.lib
--- a/classicui_plat/avkon_localised_texts_api/loc/avkon.loc	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/avkon_localised_texts_api/loc/avkon.loc	Mon Aug 23 15:39:03 2010 +0100
@@ -4317,5 +4317,10 @@
 //
 #define qtn_navi_pane_marking_mode "Marking mode"
 
+//d: handwriting setting menu items.
+//l: list_single_pane_t1_cp2/opt3
+//r: TB9.2
+#define qtn_handwriting_input_options "Handwriting input settings"
+
 // End of File
 
--- a/classicui_plat/avkon_secondary_display_support_api/tsrc/group/testdomasds.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/avkon_secondary_display_support_api/tsrc/group/testdomasds.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -51,7 +51,7 @@
 SOURCE          testdomasdsblocksdata.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikdlg.lib 
 LIBRARY         estor.lib 
--- a/classicui_plat/avkon_testability_api/tsrc/group/testplattestability.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/avkon_testability_api/tsrc/group/testplattestability.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -38,7 +38,7 @@
 SOURCE          testplattestabilityblocksakntashook.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_plat/avkon_ui_server_api/tsrc/group/testdomuiserver.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/avkon_ui_server_api/tsrc/group/testdomuiserver.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -51,7 +51,7 @@
 SOURCE          testdomuiserverblocksakncapserverclient.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         apparc.lib
 LIBRARY         cone.lib
--- a/classicui_plat/battery_pane_api/tsrc/group/testdombatterypane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/battery_pane_api/tsrc/group/testdombatterypane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 SOURCE          testdombpprotectedclass.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_plat/common_file_dialogs_filter_factory_api/tsrc/group/testdomcfdfilterfactory.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/common_file_dialogs_filter_factory_api/tsrc/group/testdomcfdfilterfactory.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,11 +66,11 @@
 SOURCE          testdomcfdfilterfactoryblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         bafl.lib
 LIBRARY         cone.lib 
-LIBRARY         CommonDialogs.lib
+LIBRARY         commondialogs.lib
 
 LANG            SC
 
--- a/classicui_plat/custom_cursors_api/tsrc/group/testdomcustomcursors.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/custom_cursors_api/tsrc/group/testdomcustomcursors.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomcustomcursorsblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         gdi.lib
--- a/classicui_plat/eikon_server_extension_client_api/tsrc/group/testdomesec.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/eikon_server_extension_client_api/tsrc/group/testdomesec.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomesecblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/emergency_call_support_api/inc/AknEcs.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/emergency_call_support_api/inc/AknEcs.h	Mon Aug 23 15:39:03 2010 +0100
@@ -45,7 +45,7 @@
 _LIT( KAknEcsSeparator, " ");
 
 // Maximum time in Microseconds between keys in a valid emergency call entry:
-const TInt KEcsInterKeyTimeout = 4000000;
+const TInt KEcsInterKeyTimeout = 10000000;
 
 // Deprecated
 const TInt KAknMaxEmergencyNumberString = 200;
--- a/classicui_plat/emergency_call_support_api/tsrc/group/testdomemergencycallsupport.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/emergency_call_support_api/tsrc/group/testdomemergencycallsupport.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomecsprotectedclass.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_plat/extended_aiw_criteria_api/tsrc/group/testdomextaiwcriteria.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_aiw_criteria_api/tsrc/group/testdomextaiwcriteria.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -44,11 +44,11 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
-LIBRARY         vpbkeng.lib
-LIBRARY         PbkEng.lib
+LIBRARY         VPbkEng.lib
+LIBRARY         pbkeng.lib
 
 LANG            SC
 
--- a/classicui_plat/extended_animation_api/tsrc/group/testdomextanimation.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_animation_api/tsrc/group/testdomextanimation.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 SOURCE          testdomextanimationcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/extended_buttons_api/tsrc/group/testdomextbuttons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_buttons_api/tsrc/group/testdomextbuttons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,7 +52,7 @@
 SOURCE          testaknview.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         aknicon.lib
--- a/classicui_plat/extended_editors_api/inc/AknPhoneNumberEditor.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_editors_api/inc/AknPhoneNumberEditor.h	Mon Aug 23 15:39:03 2010 +0100
@@ -280,7 +280,7 @@
      * Report event to pen input method.
      * @param aStateEvent, MAknEdStateObserver::EAknEdwinStateEvent     
      */
-    void ReportAknEdStateEventL( 
+    void ReportAknEdStateEvent( 
              MAknEdStateObserver::EAknEdwinStateEvent aStateEvent );
     /**
      * close VKB .    
--- a/classicui_plat/extended_editors_api/tsrc/group/testdomeditor.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_editors_api/tsrc/group/testdomeditor.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 SOURCE          testdomeditorcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_plat/extended_grids_api/tsrc/group/testdomgrids.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_grids_api/tsrc/group/testdomgrids.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomgridscontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/extended_indicators_api/tsrc/group/testdomindicator.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_indicators_api/tsrc/group/testdomindicator.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomindicatorcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/extended_initialization_api/tsrc/group/testdomextinit.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_initialization_api/tsrc/group/testdomextinit.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,9 +49,9 @@
 SOURCE          testdomextinitblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         avkon.LIB
+LIBRARY         avkon.lib
 
 LANG            SC
 
--- a/classicui_plat/extended_input_capabilities_api/inc/aknextendedinputcapabilities.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_input_capabilities_api/inc/aknextendedinputcapabilities.h	Mon Aug 23 15:39:03 2010 +0100
@@ -150,7 +150,9 @@
                 Parameter not used. */
             EOpenStylusMenuCcpu,
             /** Close pen input (VKB or HWR), parameter not used */
-            EClosePenInputRequest
+            EClosePenInputRequest,
+            /**Signals observer (MFNE) to change AM to PM*/
+            EChangeAmPm
             };
             
         /**
@@ -198,7 +200,9 @@
         EInputEditorDisableVKB = 0x00000100,
         EInputEditorRevealSecretText = 0x00000200,
         EInputEditorQwertyInputActive = 0x00000400,
-        EInputEditorPartialScreen = 0x00000800
+        EInputEditorPartialScreen = 0x00000800,
+        //support to fep to change AM to PM in MFNE
+        EInputEditorAmPm = 0x00001000
         };
     static const TInt KAknEditorAlignMask = 0x000000f0;
        
--- a/classicui_plat/extended_input_capabilities_api/tsrc/group/testdominputcap.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_input_capabilities_api/tsrc/group/testdominputcap.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdominputcapext.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikctl.lib
 
--- a/classicui_plat/extended_lists_api/tsrc/group/testdomlists.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_lists_api/tsrc/group/testdomlists.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 SOURCE          testdomlistsext.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/extended_notes_api/tsrc/group/testdomextnotes.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_notes_api/tsrc/group/testdomextnotes.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomextnotesblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcdlg.lib
--- a/classicui_plat/extended_notifiers_api/inc/AknSignalNotify.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_notifiers_api/inc/AknSignalNotify.h	Mon Aug 23 15:39:03 2010 +0100
@@ -209,6 +209,24 @@
     * Reserved for future use.
     */
     IMPORT_C void CAknNotifyBase_Reserved();
+
+public:
+    
+    /** 
+    * Set UMA indicator state. Available states from avkon.hrh:
+    *
+    * EAknSignalUmaIndicatorOff = 0x600,
+    * EAknSignalUmaIndicatorAvailable,
+    * EAknSignalUmaIndicatorAttached,    
+    * EAknSignalUmaIndicatorEstablishingContext,
+    * EAknSignalUmaIndicatorContext,
+    * EAknSignalUmaIndicatorSuspended,
+    * EAknSignalUmaIndicatorMultipdp
+    *
+    * @param aUmaState UMA indicator state.
+    */
+    IMPORT_C void SetUmaStateL(TInt aUmaState);
+    
     };
 
 #endif // __AKNSIGNALNOTIFY_H__
--- a/classicui_plat/extended_notifiers_api/tsrc/group/testdomextnotifiers.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_notifiers_api/tsrc/group/testdomextnotifiers.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -8,7 +8,7 @@
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
-*  Version:   %version: 2.1.2 %
+*  Version:   %version: be1nfmx1#2.1.4 %
 *
 * Contributors:
 *
@@ -53,7 +53,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         aknnotifyplugin.lib
 LIBRARY         akndynamicsoftnote.lib
--- a/classicui_plat/extended_options_menu_api/inc/aknitemactionmenu.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_options_menu_api/inc/aknitemactionmenu.h	Mon Aug 23 15:39:03 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -238,6 +238,13 @@
      * @return ETrue if collection has marked items.
      */
     TBool CollectionHasMarkedItems();
+    
+    /**
+     * Hides this item action menu.
+     * 
+     * @internal
+     */
+    void HideMenu();
 
 private:
 
--- a/classicui_plat/extended_options_menu_api/tsrc/group/testdomoptionsmenu.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_options_menu_api/tsrc/group/testdomoptionsmenu.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -42,7 +42,7 @@
 //RESOURCE        resource_file2
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY			avkon.lib
--- a/classicui_plat/extended_setting_pages_api/tsrc/group/testdomsetpage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_setting_pages_api/tsrc/group/testdomsetpage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testdomsetpageext.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         bafl.lib
--- a/classicui_plat/extended_sounds_api/tsrc/group/testplatextsound.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_sounds_api/tsrc/group/testplatextsound.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -38,9 +38,9 @@
 SOURCE          testplatextsoundblocksataudioeventapi.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         ATSoundServerClient.lib
+LIBRARY         atsoundserverclient.lib
 
 LANG            SC
 
--- a/classicui_plat/extended_status_pane_api/inc/aknsgcc.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_status_pane_api/inc/aknsgcc.h	Mon Aug 23 15:39:03 2010 +0100
@@ -98,8 +98,33 @@
     IMPORT_C static void MoveApp(TInt aAppWindowGroupId, TSgcMoveAppToWhere aWhere);
 	IMPORT_C static void SetImpl(CAknSgcImpl* aImpl);
 
-	// internal
-    static void RelinquishPriorityToForegroundAppLC(TBool aIsForeground);
+	/**
+     * Relinquishes priority for the foreground application during layout
+     * switches and skin change events. During these events the process
+     * priorities are adjusted so that the priorities of the processes at the
+     * background are lowered so that the foreground process gets more CPU
+     * time in order to be able to quickly process the events.
+     *
+     * @internal Used internally by the UI Framework.
+     *
+     * @param  aIsForeground  @c ETrue if the application is currently on
+     *                        foreground, @c EFalse otherwise.
+     */
+    static void RelinquishPriorityToForegroundAppLC( TBool aIsForeground );
+    
+    /**
+     * Enables or disables the foreground process priority maintaining
+     * during priority relinquishment. With this enabled the application can
+     * be set to the foreground process priority even if it's actually
+     * on the background, to handle the events where priority relinquishment
+     * is used faster.
+     *
+     * @internal Used internally by the UI Framework.
+     *
+     * @param  aUseForeground  @c ETrue to maintain the foreground priority,
+     *                         @c EFalse otherwise.
+     */
+    static void UseForegroundPriorityDuringRelinquish( TBool aUseForeground );
 
 protected:
 	CAknSgcClient();
--- a/classicui_plat/extended_status_pane_api/tsrc/group/testdomstatuspane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_status_pane_api/tsrc/group/testdomstatuspane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -53,7 +53,7 @@
 SOURCE          testdomstatuspaneblockssyncdraw.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/extended_utilities_api/tsrc/group/testdomextendedutlts.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/extended_utilities_api/tsrc/group/testdomextendedutlts.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomextendedutltsblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikcoctl.lib 
--- a/classicui_plat/find_item_ui_api/inc/finditemdialog.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/find_item_ui_api/inc/finditemdialog.h	Mon Aug 23 15:39:03 2010 +0100
@@ -196,6 +196,15 @@
          */
         void HandlePointerEventL ( const TPointerEvent& aPointerEvent );
 
+		/**
+        * Sets AIW submenu item visibility 
+        * Must be called before displaying the dialog
+        * 
+        * @since S60 5.2
+        * @param aVisible AIW submenu item visibility
+        */
+        IMPORT_C void SetCallSubMenuVisibility( TBool aVisible );
+
     protected:  // Functions from base classes
 
         /**
@@ -447,18 +456,6 @@
          */
         void DoHandlePointerEventL ( const TPointerEvent& aPointerEvent );
 
-        /**
-         * Returns ETrue if current item has visible highlight
-         *
-         * @return ETrue if current item has visible highlight
-         */
-        TBool CurrentItemHasHighlight();
-        
-        /**
-         * Highlights current item.
-         */
-        void HighlightCurrentItem();
-
 
     private: //data
         // Pointer to controller which controls engine and dialog
@@ -553,6 +550,9 @@
 
         // Tactile Feedback interface
         MTouchFeedback* iFeedback;        		
+
+		// Hide AIW submenu
+        TBool iHideCallSubMenu;
 		
     public: // new methods
         void DeleteMeL();
--- a/classicui_plat/find_item_ui_api/inc/finditemmenu.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/find_item_ui_api/inc/finditemmenu.h	Mon Aug 23 15:39:03 2010 +0100
@@ -309,6 +309,15 @@
         IMPORT_C void SetMenuItemVisibility( 
             CFindItemMenu::TMenuItem aItem,
             TBool aVisible );                           
+
+		/**
+        * Sets AIW submenu item visibility 
+        * Must be called before displaying the menu
+        * 
+        * @since S60 5.2
+        * @param aVisible AIW submenu item visibility
+        */
+        IMPORT_C void SetCallSubMenuVisibility( TBool aVisible );
                   
     private:
 
@@ -479,6 +488,9 @@
         */
         TInt iMenuItemFlags;
         MPBAiwNotify iCallback;
+
+		// Hide AIW submenu
+        TBool iHideCallSubMenu;
    };
 
 #endif      // FINDITEMMENU_H
--- a/classicui_plat/find_item_ui_api/tsrc/group/testdomfinditem.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/find_item_ui_api/tsrc/group/testdomfinditem.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,7 +66,7 @@
 SOURCE          testdomfinditemcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         commonui.lib
--- a/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h	Mon Aug 23 15:39:03 2010 +0100
@@ -808,6 +808,8 @@
     TBool iObserverNotified;
 
     TRect iOpenedItemRect;
+    
+    TBool iRotatedDraw;
     };
 
        
--- a/classicui_plat/ganes_api/tsrc/group/testplatgane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/ganes_api/tsrc/group/testplatgane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE 		testplatganeblockshgsingletextlistwithicon.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         ganes.lib
 LIBRARY         ws32.lib 
--- a/classicui_plat/generic_parameter_api/tsrc/group/testdomgenparam.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/generic_parameter_api/tsrc/group/testdomgenparam.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomgenparamext.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         commonui.lib
 LIBRARY         cone.lib
--- a/classicui_plat/global_popup_priority_controller_api/tsrc/group/testdomgppc.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/global_popup_priority_controller_api/tsrc/group/testdomgppc.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomgppcblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_plat/indicator_plugin_api/tsrc/group/testdomindiplugin.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/indicator_plugin_api/tsrc/group/testdomindiplugin.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -54,7 +54,7 @@
 SOURCE          testdomindipluginext.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_plat/input_block_api/tsrc/group/testdominputblk.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/input_block_api/tsrc/group/testdominputblk.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -34,8 +34,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-	    MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
 
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -51,9 +52,9 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         Avkon.lib
+LIBRARY         avkon.lib
 
 LANG            SC
 
--- a/classicui_plat/item_finder_api/tsrc/group/testdomitemfinder.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/item_finder_api/tsrc/group/testdomitemfinder.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomitemfinderblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         commonui.lib
 LIBRARY         egul.lib 
--- a/classicui_plat/japanese_reading_api/tsrc/group/testdomjapanesereading.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/japanese_reading_api/tsrc/group/testdomjapanesereading.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,9 +52,9 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         ptiengine.lib 
+LIBRARY         ptiengine.lib
 LIBRARY         aknjapanesereading.lib
 
 LANG            SC
--- a/classicui_plat/key_rotator_api/tsrc/group/testdomkeyrotator.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/key_rotator_api/tsrc/group/testdomkeyrotator.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,9 +49,9 @@
 SOURCE          testdomkeyrotatorblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         aknkeyrotator.lib
+LIBRARY         AknKeyRotator.lib
 
 LANG            SC
 
--- a/classicui_plat/layout_configuration_api/tsrc/group/testdomlayoutcfg.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/layout_configuration_api/tsrc/group/testdomlayoutcfg.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomlayoutcfgblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_plat/list_effects_api/tsrc/group/testdomlisteffects.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/list_effects_api/tsrc/group/testdomlisteffects.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomlisteffectscontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         aknlistloadertfx.lib
--- a/classicui_plat/long_tap_animation_api/tsrc/group/testdomlongtap.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/long_tap_animation_api/tsrc/group/testdomlongtap.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomlongtapblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_plat/media_shared_document_api/tsrc/group/testdommediashareddoc.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/media_shared_document_api/tsrc/group/testdommediashareddoc.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdommediashareddocblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcore.lib 
 LIBRARY         apparc.lib
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         efsrv.lib
 
--- a/classicui_plat/memory_card_ui_api/tsrc/group/testdommemorycard.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/memory_card_ui_api/tsrc/group/testdommemorycard.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdommemorycardblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         aknmemorycardui.lib
 
--- a/classicui_plat/number_grouping_api/tsrc/group/testdomnumbergrouping.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/number_grouping_api/tsrc/group/testdomnumbergrouping.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -35,8 +35,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-        MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
 
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -51,10 +52,10 @@
 SOURCE          testdomnumbergroupingblocksnumgrping.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         AVKON.LIB
-LIBRARY         NumberGrouping.lib
+LIBRARY         avkon.lib
+LIBRARY         numbergrouping.lib
 
 LANG            SC
 
--- a/classicui_plat/personalisation_framework_api/tsrc/group/testdompslnframework.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/personalisation_framework_api/tsrc/group/testdompslnframework.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -77,7 +77,7 @@
 SOURCE          testdompslnfwbv.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         pslnframework.lib
 LIBRARY         cone.lib
@@ -87,7 +87,7 @@
 LIBRARY         eiksrv.lib
 LIBRARY         avkon.lib
 LIBRARY         egul.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         ecom.lib
 
 LANG            SC
--- a/classicui_plat/phone_number_text_utilities_api/tsrc/group/testdomphonecontentutil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/phone_number_text_utilities_api/tsrc/group/testdomphonecontentutil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomphonecontentutilblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/physics_api/tsrc/group/testplatphysics.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/physics_api/tsrc/group/testplatphysics.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -40,7 +40,7 @@
 SOURCE          testplatphysicscontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         aknphysics.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_plat/pointer_event_modifier_api/tsrc/group/testdompoieventmod.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/pointer_event_modifier_api/tsrc/group/testdompoieventmod.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdompoieventmodcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
--- a/classicui_plat/popup_form_api/tsrc/group/testdompopupform.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/popup_form_api/tsrc/group/testdompopupform.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_plat/server_application_services_api/tsrc/group/testdomserverappservice.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/server_application_services_api/tsrc/group/testdomserverappservice.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomserverappserviceblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         servicehandler.lib
 LIBRARY         avkon.lib
--- a/classicui_plat/signal_pane_api/inc/aknsignal.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/signal_pane_api/inc/aknsignal.h	Mon Aug 23 15:39:03 2010 +0100
@@ -225,6 +225,21 @@
 private: // From CCoeControl
     IMPORT_C virtual void Draw(const TRect& aRect) const;
 
+public:
+    /** 
+     * Set UMA state. Available UMA states are (avkon.hrh): 
+     * EAknSignalUmaIndicatorOff = 0x600,
+     * EAknSignalUmaIndicatorAvailable,
+     * EAknSignalUmaIndicatorAttached,
+     * EAknSignalUmaIndicatorEstablishingContext,
+     * EAknSignalUmaIndicatorContext,
+     * EAknSignalUmaIndicatorSuspended,
+     * EAknSignalUmaIndicatorMultipdp
+     * 
+     * @param aUmaIconState UMA state.
+     */
+    IMPORT_C void ShowUmaIconL(TInt aUmaIconState);
+    
 private:
    	static TInt TickerCallback(TAny* aThis);
     TInt DoTick();
--- a/classicui_plat/signal_pane_api/tsrc/group/testdomsignalpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/signal_pane_api/tsrc/group/testdomsignalpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 SOURCE          testdomsignalprotected.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_plat/skinnable_clock_api/tsrc/group/testdomskinnableclock.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/skinnable_clock_api/tsrc/group/testdomskinnableclock.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,14 +50,14 @@
 SOURCE          testdomclockcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcore.lib 
-LIBRARY         commonui.lib 
+LIBRARY         commonui.lib
 LIBRARY         cone.lib 
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
-LIBRARY         aknswallpaperutils.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
+LIBRARY         aknswallpaperutils.lib
 LIBRARY         apparc.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
--- a/classicui_plat/special_character_table_api/inc/AknCharMap.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/special_character_table_api/inc/AknCharMap.h	Mon Aug 23 15:39:03 2010 +0100
@@ -412,6 +412,7 @@
     TInt Category();
     TBool IsSupportCategoryButtonUi() const;
     TBool IsJapaneseSctUi() const;
+    TBool IsKoreanSctUi() const;
     const TDesC* TitleWithSelectingSpecialChar();
 
 private:
--- a/classicui_plat/special_character_table_api/tsrc/group/testdomspecialchartab.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/special_character_table_api/tsrc/group/testdomspecialchartab.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomcharmap.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         cone.lib
--- a/classicui_plat/stylus_activated_popup_api/tsrc/group/testdomstylusactivepopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/stylus_activated_popup_api/tsrc/group/testdomstylusactivepopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -62,7 +62,7 @@
 SOURCE          testdomstylusactivepopupcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcore.lib
 LIBRARY         bafl.lib
--- a/classicui_plat/task_list_api/tsrc/group/testdomtasklist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/task_list_api/tsrc/group/testdomtasklist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomtasklistblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib 
 LIBRARY         avkon.lib
--- a/classicui_plat/text_scroller_api/tsrc/group/testdomtextscroller.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/text_scroller_api/tsrc/group/testdomtextscroller.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,12 +50,12 @@
 SOURCE          testdomtextscrollercontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib
 LIBRARY         cone.lib
-LIBRARY         AKNLAYOUT2SCALABLE.LIB
+LIBRARY         AknLayout2Scalable.lib
 
 
 LANG            SC
--- a/classicui_plat/touch_gesture_framework_api/tsrc/group/akntouchgesturefwtest.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/touch_gesture_framework_api/tsrc/group/akntouchgesturefwtest.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -40,7 +40,7 @@
 SOURCE          akntouchgesturefwtestsubscribercontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         akntouchgesturefw.lib
 LIBRARY         cone.lib
--- a/classicui_plat/touch_pane_api/tsrc/group/testsdktouchpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/touch_pane_api/tsrc/group/testsdktouchpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -41,7 +41,7 @@
     TARGETPATH RESOURCE_FILES_DIR
     HEADER
     END
-
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -64,7 +64,7 @@
 SOURCE          testsdktptouchpanefeppen.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         cone.lib
--- a/classicui_plat/transition_effect_parameters_api/tsrc/group/testdomtransitioneffectpara.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/transition_effect_parameters_api/tsrc/group/testdomtransitioneffectpara.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testdomtransitioneffectparablocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 
 LANG            SC
--- a/classicui_plat/transition_effect_utilities_api/tsrc/group/testdomtransitioneffectutilities.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/transition_effect_utilities_api/tsrc/group/testdomtransitioneffectutilities.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -53,7 +53,7 @@
 SOURCE          testdomutilitiescontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         apparc.lib
 LIBRARY         cone.lib
@@ -64,8 +64,8 @@
 LIBRARY         eikdlg.lib
 LIBRARY         eiksrvui.lib
 LIBRARY         commonui.lib
-LIBRARY         commonengine.lib
-LIBRARY         sortutil.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         SortUtil.lib
 
 LANG            SC
 
--- a/classicui_plat/volume_popup_api/tsrc/group/testdomvolumepopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_plat/volume_popup_api/tsrc/group/testdomvolumepopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testdomvolumepopupcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib 
--- a/classicui_pub/aiw_criteria_api/tsrc/group/testsdkaiwcri.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/aiw_criteria_api/tsrc/group/testsdkaiwcri.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,7 +66,7 @@
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib 
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         servicehandler.lib
 
--- a/classicui_pub/aiw_generic_parameter_api/inc/AiwGenericParam.hrh	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/aiw_generic_parameter_api/inc/AiwGenericParam.hrh	Mon Aug 23 15:39:03 2010 +0100
@@ -192,6 +192,12 @@
     EGenericParamLastName               = 1921,
     EGenericParamNickname               = 1922
 // BRANCH_END 08-28-08: gronoff
+    
+    ,
+    EGenericParamHideCallSubmenu        = 1950,
+    EGenericParamVoiceCall              = 1951,
+    EGenericParamVideoCall              = 1952,
+    EGenericParamVoIPCall               = 1953   
     };
 
 
--- a/classicui_pub/aiw_generic_parameter_api/tsrc/group/testsdkaiwgp.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/aiw_generic_parameter_api/tsrc/group/testsdkaiwgp.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,9 +49,9 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         ServiceHandler.lib
+LIBRARY         servicehandler.lib
 LIBRARY         estor.lib
 LIBRARY         efsrv.lib
 
--- a/classicui_pub/aiw_service_handler_api/tsrc/group/testsdkaiwservicehandler.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/aiw_service_handler_api/tsrc/group/testsdkaiwservicehandler.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -54,7 +54,7 @@
 SOURCE          testsdkaiwservicehandlerblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         servicehandler.lib
 LIBRARY         eikcore.lib 
--- a/classicui_pub/animation_api/tsrc/group/testsdkanimation.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/animation_api/tsrc/group/testsdkanimation.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 SOURCE          testsdkacontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
--- a/classicui_pub/application_framework_api/tsrc/group/testsdkappfw.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/application_framework_api/tsrc/group/testsdkappfw.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -71,7 +71,7 @@
 SOURCE          testsdkappfwviewappui.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib
--- a/classicui_pub/base_controls_api/tsrc/group/testsdkbasecontrols.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/base_controls_api/tsrc/group/testsdkbasecontrols.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -47,7 +47,7 @@
 SOURCE          testsdkbasecontrolsblockseikalign.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/buttons_api/inc/EIKBTGPC.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/buttons_api/inc/EIKBTGPC.H	Mon Aug 23 15:39:03 2010 +0100
@@ -102,7 +102,8 @@
         EDelayActivation = 0x02, ///< If set, the container is not activated during construction.
         EUseMaxSize      = 0x04,  ///< Not used.
         EIsEmbedded      = 0x08, ///< Embedded in a dialog or popup.
-        EParentIsControl = 0x10  ///< Parent window group is treated as CCoeControl.
+        EParentIsControl = 0x10, ///< Parent window group is treated as CCoeControl.
+        EAlwaysShown     = 0x20  ///< Left softkey is not automatically hidden 
         };
         
     /**
--- a/classicui_pub/buttons_api/tsrc/group/testsdkbuttons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/buttons_api/tsrc/group/testsdkbuttons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,7 +52,7 @@
 SOURCE          testsdkbuttonscontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         bafl.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_pub/choice_list_api/tsrc/group/testsdkchoicelist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/choice_list_api/tsrc/group/testsdkchoicelist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,12 +64,12 @@
 SOURCE          testsdkchoicelistcontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         bafl.lib
-LIBRARY         AVKON.LIB
+LIBRARY         avkon.lib
 LIBRARY         cone.lib
-LIBRARY         EIKCOCTL.LIB
+LIBRARY         eikcoctl.lib
 LIBRARY         eikcore.lib
 
 LANG            SC
--- a/classicui_pub/common_file_dialogs_api/tsrc/group/testsdkcfd.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/common_file_dialogs_api/tsrc/group/testsdkcfd.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -87,7 +87,7 @@
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib 
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         commondialogs.lib
 
--- a/classicui_pub/context_pane_api/tsrc/group/testsdkcontextpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/context_pane_api/tsrc/group/testsdkcontextpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testsdkcpcontextpane.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY			avkon.lib
 LIBRARY			cone.lib
--- a/classicui_pub/dialog_shutter_api/tsrc/group/testsdkdialogshutter.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/dialog_shutter_api/tsrc/group/testsdkdialogshutter.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 SOURCE          testsdkdialogshutterblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikdlg.lib
--- a/classicui_pub/dialogs_api/tsrc/group/testsdkdialogs.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/dialogs_api/tsrc/group/testsdkdialogs.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,7 +67,7 @@
 SOURCE          testsdkdialogscontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikdlg.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/document_handler_api/tsrc/group/testsdkdocumenthandler.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/document_handler_api/tsrc/group/testsdkdocumenthandler.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -40,7 +40,7 @@
 SOURCE          testsdkdocumenthandlerobserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         commonui.lib
 LIBRARY         eikcore.lib
@@ -48,8 +48,8 @@
 LIBRARY         efsrv.lib
 LIBRARY         apmime.lib
 LIBRARY         avkon.lib
-LIBRARY         APPARC.LIB
-LIBRARY         PlatformEnv.lib
+LIBRARY         apparc.lib
+LIBRARY         platformenv.lib
 
 LANG            SC
 
--- a/classicui_pub/editors_api/inc/EIKEDWIN.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/editors_api/inc/EIKEDWIN.H	Mon Aug 23 15:39:03 2010 +0100
@@ -495,6 +495,11 @@
 		 * Record enableSmiley is supported.
 		 */
 		TBool iEnableSmileySupported;
+		
+		/**
+		 * Record if text view has been actually hidden.
+		 */
+		TBool iTextViewHidden;
         };
 
 public:
@@ -2438,6 +2443,19 @@
 		ESuppressNotifyDraw  = 0x00000040,
 		ESuppressFormatting  = 0x00000080, // Suppresses calls to formatting
 		ESkipBackgroundDrawer = 0x00000100
+		/* NOTE : If you want to add new flags here please be carefull. There are other 
+		flags are defined as
+	    enum
+	        { // internal flags
+	        EWysiwygOn                   = 0x00000200,
+	        EUnderOneScreenFormattedText = 0x00000400,
+	        EPictureDelimits             = 0x00000800,
+	        EPunctuationDelimits         = 0x00001000,
+	        EPasteFromIrStore            = 0x00002000,
+	        ELockScrollBarState          = 0x00004000,
+	        EOnReformatting              = 0x00008000
+	        };
+	    */
         };
 
 protected: // from MEditObserver
@@ -2682,19 +2700,20 @@
      * @return Pointer to Edwin's extension. 
      */
     IMPORT_C CEikEdwinExtension* EdwinExtension();
-
 private:
-
-	enum
-		{ // internal flags
-		EWysiwygOn						=0x00000010,
-		EUnderOneScreenFormattedText	=0x00000020,
-		EPictureDelimits				=0x00000040,
-		EPunctuationDelimits			=0x00000080,
-		EPasteFromIrStore				=0x00000100,
-		ELockScrollBarState				=0x00000200,
-		EOnReformatting					=0x00000400
-		};
+    // NOTE : the follow enume and the enum TEikEdwinFlags are both used for iEdwinInternalFlags
+    // it is very easy to conflict !!! So if you want add new flag please check if it has been
+    // declared in enum TEikEdwinFlags
+    enum
+        { // internal flags
+        EWysiwygOn                   = 0x00000200,
+        EUnderOneScreenFormattedText = 0x00000400,
+        EPictureDelimits             = 0x00000800,
+        EPunctuationDelimits         = 0x00001000,
+        EPasteFromIrStore            = 0x00002000,
+        ELockScrollBarState          = 0x00004000,
+        EOnReformatting              = 0x00008000
+        };
 
 private: // from CCoeControl
 
--- a/classicui_pub/editors_api/inc/EIKMFNE.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/editors_api/inc/EIKMFNE.H	Mon Aug 23 15:39:03 2010 +0100
@@ -62,6 +62,11 @@
 // Extension object within CEikMfne
 class CEikMfneExtension;
 
+// Extension object within CEikTimeAndDateEditor
+class CEikTimeAndDateEditorExtension;
+
+// Extension object within CEikTimeEditorExtension
+class CEikTimeEditorExtension;
 //
 /**
  * Abstract base class for fields within a multi-field numeric editor.
@@ -816,7 +821,9 @@
         
         ELaunchPenInputAutomatic,
 
-        EPartialScreenInput
+        EPartialScreenInput,
+        /* Support the feature change AM and PM with pressing on touch input*/
+        EChangeAmPm
         };
     /** Parameter for finger support feature: 
       * 0 means disable the suppor; 
@@ -1247,6 +1254,9 @@
 	const CFont* iFont;
     TInt iAlignment;
     TBitFlags iFlags;
+private:
+friend class CEikTimeEditor;
+friend class CEikTimeAndDateEditor; 
 	};
 
 inline TInt CEikMfne::CurrentField() const
@@ -1749,11 +1759,16 @@
     * From CAknControl
     */
     IMPORT_C void* ExtensionInterface( TUid aInterface );
+    void ChangeAmPm();
+   
 private:
 	CTimeEditor* iTimeEditor;
 	TTime iMinimumTime;
 	TTime iMaximumTime;
-	TInt iSpare;
+	CEikTimeEditorExtension* iTimeExtension;
+	
+private:
+    friend class CEikTimeEditorExtension; 
 	};
 
 
@@ -2161,12 +2176,16 @@
     * From CAknControl
     */
     IMPORT_C void* ExtensionInterface( TUid aInterface );
+    void ChangeAmPm();
+    
 private:
 	CTimeEditor* iTimeEditor;
 	CDateEditor* iDateEditor;
 	TTime iMinimumTimeAndDate;
 	TTime iMaximumTimeAndDate;
-	TInt iSpare;
+    CEikTimeAndDateEditorExtension* iTimeDateExtension;
+private:    
+    friend class CEikTimeAndDateEditorExtension; 
 	};
 
 
--- a/classicui_pub/editors_api/tsrc/group/testsdkeditors.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/editors_api/tsrc/group/testsdkeditors.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -92,7 +92,7 @@
 SOURCE          testedwindialog.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcdlg.lib
@@ -107,15 +107,15 @@
 LIBRARY         form.lib
 LIBRARY         uiklaf.lib
 LIBRARY         eikcore.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 LIBRARY         insock.lib
 LIBRARY         fepbase.lib
 LIBRARY         etext.lib
 LIBRARY         field.lib
 LIBRARY         efsrv.lib
 LIBRARY         gdi.lib
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
 LIBRARY         fbscli.lib
 LIBRARY         print.lib
--- a/classicui_pub/error_ui_api/tsrc/group/testsdkerrui.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/error_ui_api/tsrc/group/testsdkerrui.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkerruiblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         commonui.lib
--- a/classicui_pub/fonts_api/tsrc/group/testsdkfonts.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/fonts_api/tsrc/group/testsdkfonts.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,13 +57,13 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib
 LIBRARY         cone.lib
 LIBRARY         eikcoctl.lib
-LIBRARY         fontutils.lib 
+LIBRARY         fontutils.lib
 LIBRARY         uiklaf.lib 
 LIBRARY         gdi.lib 
 
--- a/classicui_pub/form_api/tsrc/group/testsdkform.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/form_api/tsrc/group/testsdkform.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testsdkformcontrol.cpp 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         cone.lib
--- a/classicui_pub/generic_button_api/inc/AknButton.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/generic_button_api/inc/AknButton.h	Mon Aug 23 15:39:03 2010 +0100
@@ -1485,9 +1485,24 @@
 
         /**
          * Converts text to visual and clips it. This is called when there
-         * are possible changes in visual text.
+         * are possible changes in visual text or text area changed.
+         * Notice that if the text area size is changed, clipped visual text 
+         * should be regenerated. 
+         *
+         * @param aRect new text area.         
+         *         
          */
-        void ConvertTextToVisualAndClip() const; 
+        void ConvertTextToVisualAndClip( const TRect& aRect ) const; 
+        
+        /*
+         * Get rect for icon and text of the current button state .
+         * 
+         * @param aIconRect the rectangle for icon. If no icon used in current state,
+         *                 this will be EUninitialized.
+         * @param aTextRect the rectangle for text. If no text in current state,
+         *                 this will be EUninitialized.
+         */
+        void GetCurrentStateTextAndIconRect( TRect& aIconRect, TRect& aTextRect ) const;
 
     protected: // Data
 
--- a/classicui_pub/generic_button_api/tsrc/group/testsdkgenericbutton.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/generic_button_api/tsrc/group/testsdkgenericbutton.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,16 +68,16 @@
 SOURCE          animatorcallback.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         EIKCOCTL.LIB
+LIBRARY         eikcoctl.lib
 LIBRARY         bafl.lib
 LIBRARY         egul.lib 
 LIBRARY         aknskins.lib
 LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
 LIBRARY         fbscli.lib 
-LIBRARY         aknicon.lib 
+LIBRARY         aknicon.lib
 LIBRARY         cone.lib
 LIBRARY         bitgdi.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/grids_api/tsrc/group/testsdkgrids.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/grids_api/tsrc/group/testsdkgrids.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -75,10 +75,10 @@
 SOURCE          stifgridview.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         grid.lib 
 LIBRARY         cone.lib
 LIBRARY         ws32.lib
--- a/classicui_pub/hierarchical_lists_api/tsrc/group/testsdkhierarchicallists.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/hierarchical_lists_api/tsrc/group/testsdkhierarchicallists.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -35,8 +35,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-    MW_LAYER_SYSTEMINCLUDE
+MW_LAYER_SYSTEMINCLUDE
 
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -54,7 +55,7 @@
 SOURCE          testsdkhierarchicallistsordering.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         apparc.lib
 LIBRARY         cone.lib
@@ -62,13 +63,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         efsrv.lib
 LIBRARY         aknhlist.lib
 LIBRARY         aknicon.lib
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
 
 LANG            SC
--- a/classicui_pub/hotkeys_api/tsrc/group/testsdkeikhkeyt.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/hotkeys_api/tsrc/group/testsdkeikhkeyt.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -43,6 +43,7 @@
 LANGUAGE_IDS
 END
 
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 USERINCLUDE     ../data
@@ -63,7 +64,7 @@
 SOURCE          testsdkeikhkeytblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         cone.lib
--- a/classicui_pub/images_api/tsrc/group/testsdkimages.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/images_api/tsrc/group/testsdkimages.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testsdkimagesblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         fbscli.lib
--- a/classicui_pub/indicators_api/tsrc/group/testsdkindicators.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/indicators_api/tsrc/group/testsdkindicators.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testsdkindicatorsindicators.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         bafl.lib 
 LIBRARY         avkon.lib 
--- a/classicui_pub/info_popup_note_api/tsrc/group/testsdkinfopopupnote.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/info_popup_note_api/tsrc/group/testsdkinfopopupnote.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkinfopopupnoteblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         bafl.lib 
--- a/classicui_pub/information_preview_popup_api/inc/AknPreviewPopUpController.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/information_preview_popup_api/inc/AknPreviewPopUpController.h	Mon Aug 23 15:39:03 2010 +0100
@@ -61,7 +61,8 @@
             EFixedMode     = 0x0008, // fixed position and size are used
             EExcludeFrames = 0x0010, // frames and heading area are excluded in fixed mode
             EAutoMirror    = 0x0020, // opening direction is automatically mirrored in left-to-right layouts
-            EDontClose     = 0x0040  // popup not closed when pointer up received outside popup 
+            EDontClose     = 0x0040, // popup not closed when pointer up received outside popup
+            EConsumeKeys   = 0x0080  // popup consumes key events
     };
             
         enum TAknPreviewPopUpContentSize
--- a/classicui_pub/information_preview_popup_api/tsrc/group/testsdkinformationpreviewpopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/information_preview_popup_api/tsrc/group/testsdkinformationpreviewpopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkinformationpreviewpopupblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib 
 LIBRARY         avkon.lib
--- a/classicui_pub/initialization_api/tsrc/group/testsdkinitialization.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/initialization_api/tsrc/group/testsdkinitialization.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -51,7 +51,7 @@
 SOURCE          testsdkinitializationblocksco.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib
--- a/classicui_pub/input_frame_api/tsrc/group/testsdkif.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/input_frame_api/tsrc/group/testsdkif.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,9 +58,9 @@
 SOURCE          testsdkifcontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
-LIBRARY         aknicon.lib 
+LIBRARY         aknicon.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib 
@@ -70,8 +70,8 @@
 LIBRARY         egul.lib 
 LIBRARY         cone.lib 
 LIBRARY         bafl.lib 
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
 
 
--- a/classicui_pub/keylock_api/tsrc/group/testsdkkeylock.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/keylock_api/tsrc/group/testsdkkeylock.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkkeylockblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_pub/labels_api/tsrc/group/testsdklabels.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/labels_api/tsrc/group/testsdklabels.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -72,7 +72,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         gdi.lib
--- a/classicui_pub/lists_api/inc/EIKLBI.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/lists_api/inc/EIKLBI.H	Mon Aug 23 15:39:03 2010 +0100
@@ -350,7 +350,13 @@
          * This flag is used during scrolling to indicate that background has
          * been already drawn.
          */
-        EBackgroundDrawn = 0x1000
+        EBackgroundDrawn = 0x1000,
+
+        /**
+         * Override text color from skin 
+         */
+        EUseOverrideSkinTextColor = 0x2000
+
         };
 
 public:
--- a/classicui_pub/lists_api/inc/EIKLBV.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/lists_api/inc/EIKLBV.H	Mon Aug 23 15:39:03 2010 +0100
@@ -858,6 +858,20 @@
      *                                          this class. 
      */
     void ClearSelection( TBool aDrawItems );
+    
+    /**
+     * Sets all items selected.
+     *
+     * @param  aDrawItems  Whether or not to draw the items which are
+     *                     selected.
+     *
+     * @panic EEikPanicListBoxNoSelIndexArray Panics if selection indexes have 
+     *        not been defined for this class. 
+     *        
+     * @panic EEikPanicListBoxNoModel Panics if listbox model not existing.
+     * 
+     */
+    void SelectAllL( TBool aDrawItems );
 
 protected:
 
--- a/classicui_pub/lists_api/tsrc/group/testsdklists.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/lists_api/tsrc/group/testsdklists.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -98,7 +98,7 @@
 SOURCE          testsdklistsblocksaknlists.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikctl.lib
@@ -114,7 +114,7 @@
 LIBRARY         gdi.lib
 LIBRARY         CommonEngine.lib
 LIBRARY         bitgdi.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         aknskins.lib
 LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
--- a/classicui_pub/misc_controls_api/inc/EIKCAPC.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/misc_controls_api/inc/EIKCAPC.H	Mon Aug 23 15:39:03 2010 +0100
@@ -168,7 +168,6 @@
 public:
     TInt MaximumNumberOfControlLinesOnVisiblePage() const;
 	TInt NumberOfLines() const;
-	TInt NumberOfLinesForScrollBar() const;
 public:
     TBool ControlIsAnEdwin(TInt aControlType) const;
     TBool ControlIsAMfne(TInt aControlType) const;
@@ -212,18 +211,6 @@
 public:
     void RegisterPageWithCaptionControl(CEikDialogPage* aPage);
 
-public: // internal layout properties
-	//void SetProperties(const TRegion &aRegion, const RArray<TCapCProperty> &aProperties);
-	//TRect Line(TInt aLineIndex); // text line rectangles
-	//TInt LineIndex(TPoint aPoint);
-	//TPoint LineControlPoint(TInt aLineIndex);
-	//RArray<TInt> LineIndexesIntersecting(TRect aRect);
-	//void SetProperty(TInt aLine, TCapCProperty &aProperty);
-	//void ClearProperty(TInt aLine, TCapCProperty &aProperty);
-	//TCapCProperty Properties(TInt aLine);
-	//void LineRegions(TRegion &aRegion);
-	//void SetVisibleArea(TRect aRect);
-	//void RemoveVisibleArea();
 private: // from CCoeControl
     IMPORT_C TInt CountComponentControls() const;
     IMPORT_C CCoeControl* ComponentControl(TInt aIndex) const;
@@ -264,7 +251,6 @@
     IMPORT_C void SetEditableL( TBool aEditable, TBool aShowEmptyFields = ETrue ) ;
     
     IMPORT_C void SetFormFlags( TInt aFlags ) ;
-    void GetAknLayoutValuesL() ;  // Visible within DLL only.
     TBool HasSeparator() const;
     /** GetFullCaptionText() gets caption descriptor
      *
@@ -316,33 +302,10 @@
      */    
     void SetCurrent(TBool aSelected, TBool aRedraw );
     
-protected:
-    TRect ViewRect() const;
-    TRect EditRect() const;
-
-private:
-    enum TWhichEars
-        {
-        ENoEar=0x00,
-        ELeftEar=0x01,
-        ERightEar=0x02,
-        EBothEars=0x03
-        };
 private: // new functions
-    TInt WidthForEars(TInt aWidthRemaining) const;
-    void DrawEarsNow(TWhichEars aEar) const;
-    void DrawEars(TWhichEars aEar) const;
-    void DrawSingleEar(TWhichEars aEar,TBool aPressed) const;
-    TRect EarRect(TWhichEars aEar) const;
-    void FireEarL(TWhichEars aEar,TInt aEarRepeat);
-    TInt SquashComponentWidth(TInt& aTotalWidth,const TInt aComponentWidthHint);
     void StretchComponents();
-    void SetVertEdgeSpacing( TInt aVertEdgeSpacing );
-    void SetHorzEdgeSpacing( TInt aHorzEdgeSpacing );
     void SquashComponents();
     void CalculateNumberOfLinesForControl( TInt aLines ) ;
-    void SizeDialogComponents() ;
-    void PositionDialogComponents() ;
     static TInt PictographAnimationCallBack( TAny* aPtr );
     /**
     * Sets a size for a bitmap that has already been loaded.
@@ -372,17 +335,15 @@
 public:
     void DrawClosingLine() const;
 	const CEikDialogPage* DialogPage() const { return iDialogPage; }
-	void SetPartiallyVisible( TBool aPVisible );
     TBool PressedDownState() const;
 	void SetPressedDownState( TBool aPressed );
 private:
-    TSize EditorControlSize() const ;
     void SetElementBrushColorsL( TRgb aColor ) ;
     void SetElementTextColorsL( TRgb aColor ) ;
 
     TBool ShowBitmap() const;
-    void  LayoutBitmap(const TRect& aRect);
-    void  LayoutCaption(const TRect& aRect);
+    void LayoutBitmap(const TRect& aRect);
+    void LayoutCaption(const TRect& aRect);
     void DoFormCaptionSettingsL(const TDesC& aText);
 private:
     static void FormLayoutControlBitmap(CEikImage* aBitmap, const TRect& aParent, TBool aIsEditable, TBool aSingleLayout, TInt aNumberOfLines);
@@ -392,8 +353,6 @@
     void FormLayoutControlPopfield(CAknPopupField* aPopfield, const TRect& aParent, TBool aIsEditable, TBool aSingleLayout, TInt aNumberOfLines, TBool aBitmapPresent, TBool aIsFocused);
     void FormLayoutControlSecretEditor(CEikSecretEditor* aSecretEd, const TRect& aParent, TBool aIsEditable, TBool aSingleLayout, TInt aNumberOfLines, TBool aBitmapPresent, TBool aIsFocused );
     static void FormLayoutControlSlider(CAknSlider* aSlider, const TRect& aParent, TBool aIsEditable, TBool aSingleLayout, TInt aNumberOfLines, TBool aBitmapPresent);
-    static void ConvertViewRectToEditRect(TRect& aRect);
-    static void ConvertEditRectToViewRect(TRect& aRect);
 
     /*	
     *
@@ -439,7 +398,6 @@
     CCoeControl* iControl;
     CEikCapCLabel* iCaption;
     HBufC* iCaptionText;
-
     CEikLabel* iTrailer;
     TInt iId;
     TInt iControlType;
@@ -449,42 +407,24 @@
     TBool iIsEditable ;
 
 private:
-    TBool iHasAppendedEditIndicator;
-    TSize iMinSize;
-    TInt  iCapCFlags;
-    TInt  iCaptionWidth;
-    TInt  iFullWidth;
-    TSize iNormalSize ;
-    HBufC*iToolTipText ;
-    TBool iDoNotDisplay ;
-
-    TInt iVertEdgeSpacing ;
-    TInt iHorzEdgeSpacing ;
-    TInt iOriginalHeight ;
-
-    TSize iEditorControlSize ;
-    TInt iNumberOfLines ;
-
+    TInt iSpare1[3];
+    TInt iCapCFlags;
+    TInt iCaptionWidth;
+    TInt iFullWidth;
+    TInt iSpare2[9];
+    TInt iNumberOfLines;
     friend class CEikCapCArray;
-
-    enum { ENotSupplied = -1 } ;
-    TInt iFlags ;
-
-    TBool iRefresh ;
-
-    TInt iCaptionFontId ;
-    TInt iEditorFontId ;
-    TInt iVerticalLineXPosition; //iAknTopSpacing ;         
+    enum { ENotSupplied = -1 };
+    TInt iFlags;
+    TInt iSpare3;
+    TInt iCaptionFontId;
+    TInt iEditorFontId;
+    TInt iVerticalLineXPosition;
     CCoeControl* iHighlightControl;
-    CEikCapCExtension* iExtension ;  // BC extension for additional Data members.
-    TInt iAknFormControlHeight ;
-    TInt iAknFormControlWidth ;
-    TInt iPenColor ;
-    TInt iShadowColor ;
+    CEikCapCExtension* iExtension;  // BC extension for additional Data members.
+    TInt iSpare4[4];
     TBool iIsCurrentLine;
     CEikDialogPage* iDialogPage;
-
-
     };
 
 
--- a/classicui_pub/misc_controls_api/inc/eikcapca.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/misc_controls_api/inc/eikcapca.h	Mon Aug 23 15:39:03 2010 +0100
@@ -112,21 +112,12 @@
   	 */
 	IMPORT_C void SetDensePacking(TBool aDensePacking);
 	TBool CalcItemIndexes(TInt &aTopItemIndex, TInt &aMiddleItems, TInt &aBottomItemIndex, TSize aAreaSize);
-	TInt NumberOfTextLines() const; // for scrollbar
-	TInt NumberOfTextLinesBeforeLine(TInt aLine) const;
-	TInt FindItemFromTextLine(TInt aTextLine) const;
 	TRect Rect() const;
 	void SetRect(const TRect& aRect, TInt aTop, TInt aMiddle, TInt aBottom);
-	TInt YPosToLine(const TRect &aRect, TInt aTop, TInt aMiddle, TInt aBottom, TInt aYCoord);
 	void CreateExtensionL();
 	CEikCapCArrayExtension *ExtensionOrNull() const;
 	
 	/**
-     * Scrolls each item by aDelta pixels in y direction.
-     */
-	TInt ScrollByPixels( TInt aDelta );
-	
-	/**
      * Return the index of the line at aYPos.
      */
 	TInt YPositionToLineIndex( TInt aYPos ) const;
@@ -159,10 +150,8 @@
     void SetRealRect( const TRect& aRect, TInt aTop, TInt aBottom );
 	
 private:
-	//TInt iCaptionWidth;
 	CEikCapCArrayExtension *iExtension;
 	TBool iDensePacking;
-	//TRect iRect;
 	};
 
 #endif
--- a/classicui_pub/misc_controls_api/tsrc/group/testsdkmisccontrols.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/misc_controls_api/tsrc/group/testsdkmisccontrols.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -73,7 +73,7 @@
 SOURCE          testsdkcapcsubprotectedclass.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib 
 LIBRARY         eikcoctl.lib 
@@ -82,10 +82,10 @@
 LIBRARY         gdi.lib 
 LIBRARY         eikcore.lib 
 LIBRARY         avkon.lib 
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
-LIBRARY         aknswallpaperutils.lib 
-LIBRARY         aknicon.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
+LIBRARY         aknswallpaperutils.lib
+LIBRARY         aknicon.lib
 
 
 
--- a/classicui_pub/navigation_pane_api/tsrc/group/testsdknavipane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/navigation_pane_api/tsrc/group/testsdknavipane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -78,7 +78,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         bafl.lib
--- a/classicui_pub/notes_api/inc/aknnotecontrol.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/notes_api/inc/aknnotecontrol.h	Mon Aug 23 15:39:03 2010 +0100
@@ -369,7 +369,7 @@
             * @return Left index into table "Note With Image Popup Window
             * Texts Line 1".
             */
-			TInt NWIPWindowTextsLine1L(TInt aLineNum) const;
+			TInt NWIPWindowTextsLine1Left(TInt aLineNum) const;
 
         	/**
             * Return Right index into table "Note With Image Popup Window
@@ -385,7 +385,7 @@
             * @return Right index into table "Note With Image Popup Window
             * Texts Line 1".
             */
-			TInt NWIPWindowTextsLine1R(TInt aLineNum) const;
+			TInt NWIPWindowTextsLine1Right(TInt aLineNum) const;
 
 			/**
             * Return Bottom index into table "Note With Image Popup Window
--- a/classicui_pub/notes_api/tsrc/group/testsdknotes.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/notes_api/tsrc/group/testsdknotes.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -83,7 +83,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcdlg.lib
@@ -98,15 +98,15 @@
 LIBRARY         form.lib
 LIBRARY         uiklaf.lib
 LIBRARY         eikcore.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 LIBRARY         insock.lib
 LIBRARY         fepbase.lib
 LIBRARY         etext.lib
 LIBRARY         field.lib
 LIBRARY         efsrv.lib
 LIBRARY         gdi.lib
-LIBRARY         aknskins.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskins.lib
+LIBRARY         aknskinsrv.lib
 LIBRARY         aknswallpaperutils.lib
 LIBRARY         fbscli.lib
 LIBRARY         print.lib
--- a/classicui_pub/notifiers_api/tsrc/group/testsdknotifiers.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/notifiers_api/tsrc/group/testsdknotifiers.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -48,7 +48,7 @@
 SOURCE          activeexample.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eiksrv.lib 
 LIBRARY         aknnotify.lib
--- a/classicui_pub/options_menu_api/tsrc/group/testsdkoptionsmenu.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/options_menu_api/tsrc/group/testsdkoptionsmenu.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,17 +66,17 @@
 SOURCE          testoptionsmenu.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikcore.lib
 LIBRARY         egul.lib 
-LIBRARY         aknicon.lib 
+LIBRARY         aknicon.lib
 LIBRARY         cone.lib 
 LIBRARY         avkon.lib 
 LIBRARY         apparc.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY	        efsrv.lib
 LIBRARY         bafl.lib
--- a/classicui_pub/popups_api/tsrc/group/testsdkpopups.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/popups_api/tsrc/group/testsdkpopups.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -78,7 +78,7 @@
 SOURCE          testsdkpopupsspsp.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikcoctl.lib 
--- a/classicui_pub/private_ui_framework_api/inc/EIKDPAGE.H	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/private_ui_framework_api/inc/EIKDPAGE.H	Mon Aug 23 15:39:03 2010 +0100
@@ -184,11 +184,9 @@
      * Scrolls cached drawing commands by @c aDelta pixels in y direction.
      * 
      * @param  aDelta     A y-asix base on the sliding control's coordinate.
-     * @param  aDebugMsg  Not used.
      * @param  aDrawNow   Whether or not the view should be drawn.  
      */
     void ScrollCacheByPixels( TInt aDelta,
-                              const TDesC& aDebugMsg,
                               TBool aDrawNow = ETrue );
     
     /**
@@ -229,8 +227,6 @@
     TInt BottomFocusableLine() const;
     TBool LineIsFocusable(TInt aLine) const;
     TBool ResizeEdwinToFitTextL(CEikEdwin* aEdwin, TDrawNow aDrawNow, TSize aDesirableEdwinSize);
-    TInt YPosToLine2(TInt aYPos) const;
-    TInt LineToYPos(TInt& aLine) const;
     void ExposeLine(TInt aLine, TBool aForceResize, TBool aShowWholeLine = EFalse );
     void PassOnEventL(CCoeControl* aControl,MCoeControlObserver::TCoeEvent aEvent);
     CEikCaptionedControl* ConstructLineL(TInt aResourceId);
@@ -279,11 +275,6 @@
     void RecordLineL( TInt aLine );
     
     /**
-    * Scrolls all lines by aPixels in y direction.
-    */
-    void ScrollByPixels( TInt aDelta );
-    
-    /**
     * Removes pressed down highlight.
     */
     void RemovePressedDownHighlight();
@@ -307,9 +298,7 @@
 
 public: 
     TBool AnythingToDisplay() const;
-    void DrawVerticalLine() const;
     CEikCaptionedControl* LineOnPageOrNull(TInt aLine) const;
-    TSize RealDataSize() const;
     TInt NumberOfLines() const;
     CEikCaptionedControl* LineByIndex(TInt aIndex) const;
 
@@ -419,7 +408,7 @@
 public:
     TBool HitRegionContains( const TPoint& aPoint, const CCoeControl& aControl ) const;
 public:
-    void SetPageFormSized();
+    void SetPageFormSized(const TRect& aRect);
 protected:  // from CCoeControl
     virtual void SizeChanged();
     virtual TInt CountComponentControls() const;
--- a/classicui_pub/private_ui_framework_api/tsrc/group/testsdkprivateuiframework.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/private_ui_framework_api/tsrc/group/testsdkprivateuiframework.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib 
 LIBRARY         eikcore.lib 
--- a/classicui_pub/queries_api/tsrc/group/testsdkqueries.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/queries_api/tsrc/group/testsdkqueries.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 SOURCE          testsdkaknquerydialogprotected.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikcoctl.lib
@@ -75,7 +75,7 @@
 LIBRARY         bafl.lib
 LIBRARY         aknicon.lib
 LIBRARY         egul.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 LIBRARY         insock.lib
 
 LANG            SC
--- a/classicui_pub/screen_clearer_api/tsrc/group/testsdkscreenclearer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/screen_clearer_api/tsrc/group/testsdkscreenclearer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,7 +59,7 @@
 SOURCE          testsdkscscreenclearerbase.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikctl.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_pub/screen_mode_api/tsrc/group/testsdkscreenmode.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/screen_mode_api/tsrc/group/testsdkscreenmode.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkscreenmodeblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         cone.lib
--- a/classicui_pub/screen_saver_api/tsrc/group/testsdkscreensaver.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/screen_saver_api/tsrc/group/testsdkscreensaver.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -37,7 +37,7 @@
 SOURCE          testsdkscreensaverblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         ecom.lib
 
--- a/classicui_pub/scroller_api/tsrc/group/testsdkscroller.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/scroller_api/tsrc/group/testsdkscroller.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -55,7 +55,7 @@
 SOURCE          testsdkscrollereikscrlb.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/searchfield_api/tsrc/group/testsdksearchfield.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/searchfield_api/tsrc/group/testsdksearchfield.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -34,8 +34,9 @@
 #ifdef SBSV2
 USERINCLUDE     ../inc 
 
-    MW_LAYER_SYSTEMINCLUDE
-
+MW_LAYER_SYSTEMINCLUDE
+    
+SOURCEPATH      ../src
 #else // SBSV2 not defined
 USERINCLUDE     ../inc 
 
@@ -51,10 +52,10 @@
 SOURCE          testsdksfastobserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         cone.lib
 LIBRARY         ws32.lib
 LIBRARY         eikcore.lib
--- a/classicui_pub/server_application_api/tsrc/group/testsdkserverapplication.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/server_application_api/tsrc/group/testsdkserverapplication.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -41,7 +41,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
--- a/classicui_pub/setting_pages_api/tsrc/group/testsdksettingpages.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/setting_pages_api/tsrc/group/testsdksettingpages.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -86,7 +86,7 @@
 SOURCE          testaknradiobuttonsettingpageprotected.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         bafl.lib
--- a/classicui_pub/slider_api/tsrc/group/testsdkslider.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/slider_api/tsrc/group/testsdkslider.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 SOURCE          testsdksliderview.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         bafl.lib 
--- a/classicui_pub/sounds_api/tsrc/group/testsdksounds.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/sounds_api/tsrc/group/testsdksounds.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -37,7 +37,7 @@
     MW_LAYER_SYSTEMINCLUDE
 
 
-    START RESOURCE ../data/testsdktestsdksounds.rss
+    START RESOURCE ../data/testsdksounds.rss
         TARGETPATH RESOURCE_FILES_DIR
         HEADER
         END
@@ -62,7 +62,7 @@
 SOURCE          testsdksoundsblocksaknsoundsystem.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         estor.lib
--- a/classicui_pub/status_pane_api/tsrc/group/testsdkstatuspane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/status_pane_api/tsrc/group/testsdkstatuspane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -55,7 +55,7 @@
 SOURCE          testsdkstatuspanevisitor.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         cone.lib
--- a/classicui_pub/stylus_popup_menu_api/inc/aknstyluspopupmenu.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/stylus_popup_menu_api/inc/aknstyluspopupmenu.h	Mon Aug 23 15:39:03 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -54,6 +54,12 @@
         EPositionTypeRightBottom,
         EPositionTypeLeftBottom      
         };
+
+    enum TStylusPopupMode
+        {
+        EConsumeKeyEvents = 0x01 // Consumes key events
+        };
+
     /**
      * Two-phased constructor
      *
@@ -73,6 +79,22 @@
      * @param aObserver Menu observer (not owned) that handles 
      *                  stylus popup events.
      * @param aPoint The position where stylus was tapped
+     * @param aPopup Preview popup from which stylus popup
+     *               menu was launched, can be NULL.
+     * @param aFlags Optional parameters
+     */
+
+    static CAknStylusPopUpMenu* NewL( MEikMenuObserver* aObserver,
+            const TPoint& aPoint,
+            CAknPreviewPopUpController* aPopup,
+            const TInt aFlags );
+
+    /**
+     * Two-phased constructor
+     *
+     * @param aObserver Menu observer (not owned) that handles
+     *                  stylus popup events.
+     * @param aPoint The position where stylus was tapped
      */
     IMPORT_C static CAknStylusPopUpMenu* NewL( MEikMenuObserver* aObserver, 
                                          const TPoint& aPoint );
@@ -156,6 +178,14 @@
      * @since s60 v5.2
      */
     void Clear();
+    
+    /**
+     * Hides the stylus popup menu.
+     *
+     * @internal
+     * @since S60 v5.2
+     */
+    void HideMenu();
 
 // from base class CCoeControl
 
@@ -188,9 +218,11 @@
      * @param aPoint The position where stylus was tapped
      * @param aPopup Preview popup from which stylus popup
      *               menu was launched, can be NULL.
+     * @param aFlags Optional parameters
      */
     CAknStylusPopUpMenu( MEikMenuObserver* aObserver, const TPoint& aPoint,
-                         CAknPreviewPopUpController* aPopup );
+                         CAknPreviewPopUpController* aPopup,
+                         const TInt aFlags = 0 );
 
     /**
      * 2nd phase constructor
@@ -274,6 +306,11 @@
      * Used to track if object has been deleted while calling client callback.
      */
     TBool* iIsDeleted;
+
+    /**
+     * Mode flags.
+     */
+    TInt iModeFlags;
     };
 
 
--- a/classicui_pub/stylus_popup_menu_api/tsrc/group/testsdkstyluspopupmenu.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/stylus_popup_menu_api/tsrc/group/testsdkstyluspopupmenu.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 SOURCE          testsdkmenuobserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         eikcore.lib
 LIBRARY         eikcoctl.lib
--- a/classicui_pub/tabs_api/inc/akntabgrp.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tabs_api/inc/akntabgrp.h	Mon Aug 23 15:39:03 2010 +0100
@@ -355,7 +355,16 @@
     void SizeChangedInNormalLayout();
     void SizeChangedInFlatLayout();
     void SizeChangedInNarrowLayout();
-
+    
+    /**
+     * Sets the flag to indicate the highlight status
+     * 
+     * @param  aHighlight  highlight status
+     *                     default is EFalse
+     */
+    void SetHighlight(TBool aHighlight);
+    
+    
 private:
 
     CEikLabel* iLabel;
@@ -863,6 +872,13 @@
     void SetNaviArrowsVisible( TBool aVisible );
 
 private:
+    /**
+     * Resets the highlight status for tabs
+     */
+    void ResetHighlightStatus();
+        
+
+private:
     CArrayPtr<CAknTab>*     iTabArray;
     TInt                    iActiveTab;
     TRect                   iSpareRect;
--- a/classicui_pub/tabs_api/tsrc/group/testsdktabgrp.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tabs_api/tsrc/group/testsdktabgrp.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 SOURCE          testsdktabgrpcontrol.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/title_pane_api/tsrc/group/testsdktitlepane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/title_pane_api/tsrc/group/testsdktitlepane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         bafl.lib
--- a/classicui_pub/toolbar_api/tsrc/group/testsdktoolbar.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/toolbar_api/tsrc/group/testsdktoolbar.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         eikcoctl.lib
--- a/classicui_pub/touch_ui_utilities_api/tsrc/group/testsdktouchuiutil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/touch_ui_utilities_api/tsrc/group/testsdktouchuiutil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,7 +52,7 @@
 
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestaknsound/group/bctestaknsound.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestaknsound/group/bctestaknsound.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestappfrm/group/bctestappfrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestappfrm/group/bctestappfrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -72,7 +72,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestbuttons/group/bctestbuttons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestbuttons/group/bctestbuttons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestcmdlg/group/bctestcmdlg.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestcmdlg/group/bctestcmdlg.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -69,7 +69,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestdocandinit/group/bctestDocAndInit.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestdocandinit/group/bctestDocAndInit.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,13 +63,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY			commonui.lib
 LIBRARY			apmime.lib 
-LIBRARY			PlatformEnv.lib 
+LIBRARY			platformenv.lib
 LIBRARY			eikctl.lib
 LIBRARY			sysutil.lib 
 LIBRARY                 bafl.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteditor/group/bctesteditor.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteditor/group/bctesteditor.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteh/group/bctesteh.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteh/group/bctesteh.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,12 +63,12 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY	        commonui.lib 
-LIBRARY         commonengine.lib
+LIBRARY	        commonui.lib
+LIBRARY         CommonEngine.lib
 
 START RESOURCE ../group/bctesteh_reg.rss
 DEPENDS bctesteh.rsg
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteikbctrl/group/bctesteikbctrl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteikbctrl/group/bctesteikbctrl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         cone.lib
 LIBRARY         eikcore.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteikfrm/group/bctesteikfrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctesteikfrm/group/bctesteikfrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,7 +66,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestfontinput/group/bctestfontinput.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestfontinput/group/bctestfontinput.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,13 +64,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
 LIBRARY         fbscli.lib
 LIBRARY         akninputlanguage.lib
-LIBRARY		    fontutils.lib 
+LIBRARY		    fontutils.lib
 LIBRARY         uiklaf.lib 
 LIBRARY         gdi.lib 
 LIBRARY         egul.lib 
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestform/group/bctestForm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestform/group/bctestForm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,11 +64,11 @@
 LIBRARY         aknnotify.lib
 LIBRARY		    bafl.lib
 LIBRARY         bctestutil.lib
-LIBRARY         commonengine.lib
-LIBRARY         AknSkins.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         aknskins.lib
 LIBRARY         egul.lib
-LIBRARY         AknIcon.lib
-LIBRARY         CentralRepository.lib
+LIBRARY         aknicon.lib
+LIBRARY         centralrepository.lib
 
 // Changes for Scalable UI:
 // New registration resource defined.
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestgrids/group/bctestgrids.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestgrids/group/bctestgrids.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,7 +66,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestimage/group/bctestimage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestimage/group/bctestimage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestkeylock/group/bctestkeylock.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestkeylock/group/bctestkeylock.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestlabelinfoindicators/group/bctestlabelinfoindicators.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestlabelinfoindicators/group/bctestlabelinfoindicators.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,8 +57,8 @@
 
 SYSTEMINCLUDE   . /epoc32/include
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestlist/group/bctestlist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestlist/group/bctestlist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -75,8 +75,8 @@
 LIBRARY         eikctl.lib 
 LIBRARY         bafl.lib
 LIBRARY         eikdlg.lib                                                  
-LIBRARY         AknSkins.lib
-LIBRARY         AknIcon.lib
+LIBRARY         aknskins.lib
+LIBRARY         aknicon.lib
 LIBRARY         egul.lib
 LIBRARY         gdi.lib
 LIBRARY         efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestmenu/group/bctestmenu.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestmenu/group/bctestmenu.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestmisccontrol/group/bctestmisccontrol.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestmisccontrol/group/bctestmisccontrol.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,8 +63,8 @@
 
 SYSTEMINCLUDE   . /epoc32/include
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestnote/group/bctestnote.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestnote/group/bctestnote.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -69,8 +69,8 @@
 
 SYSTEMINCLUDE   . /epoc32/include
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestnotifier/group/bctestnotifier.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestnotifier/group/bctestnotifier.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,12 +66,12 @@
 LIBRARY         insock.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
 LIBRARY         estor.lib 
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 LIBRARY         bafl.lib
 
 // Changes for Scalable UI:
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestpane/group/bctestpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestpane/group/bctestpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestpopups/group/bctestpopups.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestpopups/group/bctestpopups.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,8 +63,8 @@
 
 SYSTEMINCLUDE   . /epoc32/include
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestprivateuifrm/group/bctestprivateuifrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestprivateuifrm/group/bctestprivateuifrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestptieng/group/bctestptieng.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestptieng/group/bctestptieng.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestquery/group/bctestquery.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestquery/group/bctestquery.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,8 +67,8 @@
 LIBRARY         eikctl.lib 
 LIBRARY         bafl.lib
 LIBRARY         eikdlg.lib                                                  
-LIBRARY         AknSkins.lib
-LIBRARY         AknIcon.lib
+LIBRARY         aknskins.lib
+LIBRARY         aknicon.lib
 LIBRARY         egul.lib
 LIBRARY         gdi.lib
 LIBRARY         efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestscreenclearer/group/bctestscreenclearer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestscreenclearer/group/bctestscreenclearer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestscrollerbar/group/bctestscroller.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestscrollerbar/group/bctestscroller.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         avkon.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsearchfield/group/bctestsearchfield.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsearchfield/group/bctestsearchfield.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestserverapp/group/bctestserverapp.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestserverapp/group/bctestserverapp.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,11 +63,11 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY			AknSkinSrv.lib
+LIBRARY			aknskinsrv.lib
 
 START RESOURCE ../group/bctestserverapp_reg.rss
 DEPENDS bctestserverapp.rsg
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsettingpage/group/bctestsettingpage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsettingpage/group/bctestsettingpage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -74,7 +74,7 @@
 LIBRARY         insock.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestskins/group/bctestskins.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestskins/group/bctestskins.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,7 +67,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestutilities/group/bctestutilities.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestutilities/group/bctestutilities.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestvolume/group/bctestvolume.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.0/bctestvolume/group/bctestvolume.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,7 +66,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestlocation/group/bctestlocation.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestlocation/group/bctestlocation.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,12 +63,12 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY         eikctl.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 
 START RESOURCE ../group/BCTestLocation_reg.rss
 DEPENDS bctestlocation.rsg
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestmisc/group/bctestmisc.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestmisc/group/bctestmisc.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestocr/group/bctestocr.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.1/bctestocr/group/bctestocr.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,8 +58,8 @@
 
 SYSTEMINCLUDE   . /epoc32/include
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         bafl.lib 
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestlocalizer/group/bctestlocalizer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestlocalizer/group/bctestlocalizer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestmisc32/group/bctestmisc32.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestmisc32/group/bctestmisc32.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestpreviewpopup/group/bctestpreviewpopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestpreviewpopup/group/bctestpreviewpopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestservicehandler/group/bctestservicehandler.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestservicehandler/group/bctestservicehandler.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestuniteditor/group/bctestuniteditor.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK3.2/bctestuniteditor/group/bctestuniteditor.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestbutton/group/bctestbutton.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestbutton/group/bctestbutton.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestchoicelist/group/bctestchoicelist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestchoicelist/group/bctestchoicelist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestpane/group/bctestpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctestpane/group/bctestpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttoolbar/group/bctesttoolbar.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttoolbar/group/bctesttoolbar.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttouchpane/group/bctesttouchpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttouchpane/group/bctesttouchpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttreelist/group/bctesttreelist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/S60_SDK5.0/bctesttreelist/group/bctesttreelist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/bctestlauncher/group/bctestlauncher.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/bctestlauncher/group/bctestlauncher.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,17 +64,17 @@
 
 
 
-LIBRARY         EUSER.LIB   
-LIBRARY         WS32.LIB
-LIBRARY         CONE.LIB
-LIBRARY         EIKCORE.LIB 
-LIBRARY         AVKON.LIB
-LIBRARY         APPARC.LIB
+LIBRARY         euser.lib
+LIBRARY         ws32.lib
+LIBRARY         cone.lib
+LIBRARY         eikcore.lib
+LIBRARY         avkon.lib
+LIBRARY         apparc.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         efsrv.lib
 LIBRARY	        apgrfx.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
 LIBRARY         bafl.lib
 LIBRARY         sysutil.lib
 LIBRARY         estor.lib 
--- a/classicui_pub/tsrc/bc/apps/bctesttemplate/group/bctesttemplate.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/bctesttemplate/group/bctesttemplate.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/classicui_pub/tsrc/bc/apps/bctestutil/group/bctestutil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/tsrc/bc/apps/bctestutil/group/bctestutil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,9 +49,9 @@
 LIBRARY    cone.lib
 LIBRARY    eikcore.lib
 LIBRARY    aknnotify.lib
-LIBRARY    commonengine.lib
+LIBRARY    CommonEngine.lib
 LIBRARY    avkon.lib
-LIBRARY    CentralRepository.lib
+LIBRARY    centralrepository.lib
 LIBRARY    sysutil.lib
 LIBRARY		 estor.lib
 
--- a/classicui_pub/ui_framework_definitions_api/inc/EIKON.HRH	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/ui_framework_definitions_api/inc/EIKON.HRH	Mon Aug 23 15:39:03 2010 +0100
@@ -220,6 +220,12 @@
 #define EAknEditorFlagEnablePartialScreen             0x200000
 #define EAknEditorFlagLaunchPenInputAutomatic         0x400000
 #define EAknEditorFlagHideTextView                    0x800000
+#define EAknEditorFlagCursorLedingEdge                0x1000000
+#define EAknEditorFlagNeedWholeTextData               0x2000000
+// Avkon secret editor and web secret editor has different behavior, this flag 
+// is used to distinguish them for FEP 
+#define EAknEditorFlagAvkonSecretEditor               0x4000000
+
 // NOTICE! Flag value 0x80000000 is reserved for internal use by FEP.
 
 // EIKLABEL.HRH
--- a/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh	Mon Aug 23 15:39:03 2010 +0100
@@ -394,6 +394,12 @@
     EAknCmdMarkingModeUnmarkAll,
 
     /**
+     * Command ids for switching to portrait or landscape FSQ.
+     */
+    EPeninputCmdPortraitEditor,
+    EPeninputCmdLandscapeEditor,
+
+    /**
     * @deprecated
     * Do not use.
     */
@@ -1300,7 +1306,16 @@
     EAknSignalHsdpaIndicatorEstablishingContext,
     EAknSignalHsdpaIndicatorContext,
     EAknSignalHsdpaIndicatorSuspended,
-    EAknSignalHsdpaIndicatorMultipdp
+    EAknSignalHsdpaIndicatorMultipdp,
+
+    // UMA indicator states
+    EAknSignalUmaIndicatorOff = 0x600,
+    EAknSignalUmaIndicatorAvailable,
+    EAknSignalUmaIndicatorAttached,
+    EAknSignalUmaIndicatorEstablishingContext,
+    EAknSignalUmaIndicatorContext,
+    EAknSignalUmaIndicatorSuspended,
+    EAknSignalUmaIndicatorMultipdp
     };
 
 #define KAknSignalOffLineMode 0x00010000
--- a/classicui_pub/ui_framework_definitions_api/tsrc/group/testsdkuiframedefinitions.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/ui_framework_definitions_api/tsrc/group/testsdkuiframedefinitions.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkuiframedefinitionsblocks.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 
--- a/classicui_pub/ui_framework_utilities_api/tsrc/group/testsdkuifwutil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/ui_framework_utilities_api/tsrc/group/testsdkuifwutil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 SOURCE          testsdkuifwutilview.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         cone.lib
 LIBRARY         avkon.lib
--- a/classicui_pub/uikon_core_controls/tsrc/group/testsdkuikoncc.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/uikon_core_controls/tsrc/group/testsdkuikoncc.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -62,7 +62,7 @@
 SOURCE          testsdkuikonccobserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         eikcore.lib
--- a/classicui_pub/volume_control_api/tsrc/group/testsdkvolumecontrol.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/volume_control_api/tsrc/group/testsdkvolumecontrol.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 SOURCE          testsdkvolumecontainer.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib 
 LIBRARY         cone.lib 
--- a/classicui_pub/window_server_event_observer_api/tsrc/group/testsdkwinsereventobserver.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/classicui_pub/window_server_event_observer_api/tsrc/group/testsdkwinsereventobserver.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,7 +50,7 @@
 SOURCE          testsdkeventobserver.cpp
 
 LIBRARY         euser.lib
-LIBRARY         stiftestinterface.lib
+LIBRARY         StifTestInterface.lib
 LIBRARY         stiftestengine.lib
 LIBRARY         avkon.lib
 LIBRARY         bafl.lib
--- a/commonuis/CommonDialogs/group/CommonDialogs.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonDialogs/group/CommonDialogs.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -91,18 +91,18 @@
 LIBRARY         eikcore.lib
 LIBRARY         eikdlg.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib // StringLoader
+LIBRARY         CommonEngine.lib // StringLoader
 LIBRARY         apparc.lib
 LIBRARY         directorylocalizer.lib // Build this first!
 LIBRARY         featmgr.lib // Feature manager
-LIBRARY         AknSkins.lib // Skins
+LIBRARY         aknskins.lib // Skins
 LIBRARY         egul.lib // CGulIcon
 LIBRARY         apgrfx.lib // CApaMaskedBitmap,RApaLsSession
 LIBRARY         apmime.lib // TDataType
 LIBRARY         fbscli.lib // CFbsBitmap
 LIBRARY         aknmemorycardui.lib
 LIBRARY         platformenv.lib // PathInfo
-LIBRARY         AknIcon.lib
+LIBRARY         aknicon.lib
 LIBRARY         rsfwmountman.lib
 //#include "CommonDialogsMbm.inc"
 
--- a/commonuis/CommonDialogs/group_test/CommonDialogs.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonDialogs/group_test/CommonDialogs.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -87,18 +87,18 @@
 LIBRARY         eikcore.lib
 LIBRARY         eikdlg.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib // StringLoader
+LIBRARY         CommonEngine.lib // StringLoader
 LIBRARY         apparc.lib
 LIBRARY         directorylocalizer.lib // Build this first!
 LIBRARY         featmgr.lib // Feature manager
-LIBRARY         AknSkins.lib // Skins
+LIBRARY         aknskins.lib // Skins
 LIBRARY         egul.lib // CGulIcon
 LIBRARY         apgrfx.lib // CApaMaskedBitmap,RApaLsSession
 LIBRARY         apmime.lib // TDataType
 LIBRARY         fbscli.lib // CFbsBitmap
 LIBRARY         aknmemorycardui.lib
 LIBRARY         platformenv.lib // PathInfo
-LIBRARY         AknIcon.lib
+LIBRARY         aknicon.lib
 
 //#include "CommonDialogsMbm.inc"
 
--- a/commonuis/CommonDialogs/src/AknCFDUtility.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonDialogs/src/AknCFDUtility.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -795,24 +795,21 @@
                         
         if (( aFreeSpace >= KHundredNum ) && ( aFreeSpace < KMegaNum ))
             {
-            tempNum /= KThousandNum; // Divide to kilobytes
-            tempNum = TReal32( TInt( tempNum * 10 ) ) / 10;
+            tempNum /= TReal64( KThousandNum ); // Divide to kilobytes
             unitBuf = StringLoader::LoadLC(
                                     R_CFD_QTN_MEMC_UNITS_KILOBYTE,
                                     CCoeEnv::Static());                              
             }
         else if (( aFreeSpace >= KMegaNum ) && ( aFreeSpace < KGigaNum ))
             {                             
-            tempNum /= KMegaNum; // Divide to Megabytes
-            tempNum = TReal32( TInt( tempNum * 10 ) ) / 10;
+            tempNum /= TReal64( KMegaNum ); // Divide to Megabytes
             unitBuf = StringLoader::LoadLC(
                                     R_CFD_QTN_MEMC_UNITS_MEGABYTE,
                                     CCoeEnv::Static());            
             }
         else if (aFreeSpace >= KGigaNum )   
             {
-            tempNum /= KGigaNum; // Divide to Gigabytes
-            tempNum = TReal32( TInt( tempNum * 10 ) ) / 10;
+            tempNum /= TReal64( KGigaNum ); // Divide to Gigabytes
             unitBuf = StringLoader::LoadLC(
                                     R_CFD_QTN_MEMC_UNITS_GIGABYTE,
                                     CCoeEnv::Static());            
--- a/commonuis/CommonDialogs/src/CAknFileSelectionModel.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonDialogs/src/CAknFileSelectionModel.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -312,7 +312,7 @@
     TInt entryIndex = 0;
     for ( TInt i( 0 ); i < itemCount; i++ ) // Add entry or not
         {
-        const TEntry& entry = ( *entryArray )[i];
+        TEntry entry = ( *entryArray )[i];
         if ( EntryIsAccepted( entry ) )
             {
              // Add entry
Binary file commonuis/CommonUi/CenRep/keys_commonui.xls has changed
--- a/commonuis/CommonUi/EABI/CommonUIU.DEF	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/EABI/CommonUIU.DEF	Mon Aug 23 15:39:03 2010 +0100
@@ -121,4 +121,6 @@
 	_ZN12MPBAiwNotify13HandleNotifyLEiiR20CAiwGenericParamListRKS0_ @ 120 NONAME
 	_ZN11CItemFinder22SetItemFinderObserverLEP22MAknItemFinderObserver @ 121 NONAME
 	_ZN15CFindItemDialog17EnableSingleClickEi @ 122 NONAME
+	_ZN13CFindItemMenu24SetCallSubMenuVisibilityEi @ 123 NONAME
+	_ZN15CFindItemDialog24SetCallSubMenuVisibilityEi @ 124 NONAME
 
--- a/commonuis/CommonUi/bwins/CommonUIU.def	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/bwins/CommonUIU.def	Mon Aug 23 15:39:03 2010 +0100
@@ -91,4 +91,6 @@
 	?HandleNotifyL@MPBAiwNotify@@UAEHHHAAVCAiwGenericParamList@@ABV2@@Z @ 90 NONAME ; int MPBAiwNotify::HandleNotifyL(int, int, class CAiwGenericParamList &, class CAiwGenericParamList const &)
 	?SetItemFinderObserverL@CItemFinder@@QAEXPAVMAknItemFinderObserver@@@Z @ 91 NONAME ; void CItemFinder::SetItemFinderObserverL(class MAknItemFinderObserver *)
 	?EnableSingleClick@CFindItemDialog@@QAEXH@Z @ 92 NONAME ; void CFindItemDialog::EnableSingleClick(int)
+	?SetCallSubMenuVisibility@CFindItemMenu@@QAEXH@Z @ 93 NONAME ; void CFindItemMenu::SetCallSubMenuVisibility(int)
+	?SetCallSubMenuVisibility@CFindItemDialog@@QAEXH@Z @ 94 NONAME ; void CFindItemDialog::SetCallSubMenuVisibility(int)
 
Binary file commonuis/CommonUi/conf/commonui.confml has changed
--- a/commonuis/CommonUi/group/CommonUI.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/group/CommonUI.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -96,31 +96,31 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         eikdlg.lib
-LIBRARY         ServiceHandler.lib
-LIBRARY         cdlengine.lib
+LIBRARY         servicehandler.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         ecom.lib
 LIBRARY         CommonEngine.lib        // For class Stringloader, etc.
 LIBRARY         apgrfx.lib              // For class RApaLsSession, class TApaTask
-LIBRARY         FeatMgr.lib             // For class FeatureManager
+LIBRARY         featmgr.lib             // For class FeatureManager
 #ifdef __SERIES60_MMC
-LIBRARY         CommonDialogs.lib
+LIBRARY         commondialogs.lib
 #endif
 
 // FindUI
 LIBRARY         etext.lib               // For class CPlainText, class TCharFormat
 LIBRARY         form.lib                // For class CTextLayout
 LIBRARY         eikctl.lib              // For class CRichText
-LIBRARY         FavouritesEngine.lib    // For class CFavouritesItem, etc.
+LIBRARY         favouritesengine.lib    // For class CFavouritesItem, etc.
 LIBRARY         sendui.lib              // For class CSendUi, class CMessageData
 #ifndef RD_VIRTUAL_PHONEBOOK
-LIBRARY         PbkView.lib             // For class RPbkViewResourceFile, class CPbkDataSaveAppUi
-LIBRARY         PbkEng.lib              // For class CPbkContactEngine, class CPbkFieldInfo
+LIBRARY         pbkview.lib             // For class RPbkViewResourceFile, class CPbkDataSaveAppUi
+LIBRARY         pbkeng.lib              // For class CPbkContactEngine, class CPbkFieldInfo
 #endif // !RD_VIRTUAL_PHONEBOOK
-LIBRARY         CentralRepository.lib   // For class CRepository
-LIBRARY         CenRepNotifHandler.lib  // For CRepository things
+LIBRARY         centralrepository.lib   // For class CRepository
+LIBRARY         cenrepnotifhandler.lib  // For CRepository things
 #ifdef __VOIP
 #ifndef RD_VOIP_REL_2_2
-LIBRARY         RCSE.lib
+LIBRARY         rcse.lib
 #else // RD_VOIP_REL_2_2
 LIBRARY         serviceprovidersettings.lib
 #endif // !RD_VOIP_REL_2_2
@@ -131,14 +131,14 @@
 LIBRARY         efsrv.lib               // For file handling operations
 LIBRARY         apparc.lib              // For Application lauching
 LIBRARY         apmime.lib              // For mime type handling (class TDataType)
-LIBRARY         SysUtil.lib             // For checking the filesystem space
+LIBRARY         sysutil.lib             // For checking the filesystem space
 LIBRARY         estor.lib               // For class RDesReadStream in GameHandler
-LIBRARY         PlatformEnv.lib         // For finding correct paths for files (class PathInfo)
+LIBRARY         platformenv.lib         // For finding correct paths for files (class PathInfo)
 #ifdef RD_CONTENTNOTIFICATION
 LIBRARY         contentnotification.lib // For notifying Media Gallery about new content.
 #endif
-LIBRARY         SWInstCli.lib           // For Application installer launching
-LIBRARY         CharConv.lib            // For class CCnvCharacterSetConverter
+LIBRARY         swinstcli.lib           // For Application installer launching
+LIBRARY         charconv.lib            // For class CCnvCharacterSetConverter
 #ifdef __DRM
 LIBRARY         DRMCommon.lib
 LIBRARY         DcfRep.lib
@@ -150,7 +150,7 @@
 LIBRARY         aknnotify.lib           // For Global note (class CAknGlobalNote)
 LIBRARY         aknskins.lib            // Skins support
 
-LIBRARY         EGUL.LIB
+LIBRARY         egul.lib
 
 #ifdef __KEEP_DRM_CONTENT_ON_PHONE
 LIBRARY         distributablechecker.lib    // generic API for determining if content is protected
--- a/commonuis/CommonUi/inc/DocDefaultHandler.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/inc/DocDefaultHandler.h	Mon Aug 23 15:39:03 2010 +0100
@@ -228,6 +228,16 @@
         *               constant declared in CDocumentHandler.h
         */
         TInt SetSrcFileName( const TDesC& aFileName );
+        
+        /**
+        * Set source file.
+        *
+        * @param aFile Source file handle
+        *
+        * @return       KErrNone if success. If fail, a fail reason
+        *               constant declared in CDocumentHandler.h
+        */
+        TInt SetSrcFile( const RFile& aFile );
 
         /**
         * Set destination file name.
@@ -696,7 +706,14 @@
         * Source filename
         */
         TFileName iSourceFile;
-
+        
+        /**
+        * Source file handle
+        */
+        RFile iFile;
+        
+        TBool iFileHandleSet;
+        
         /**
         * Request status for the latest operation.
         */
--- a/commonuis/CommonUi/inc/DocHandlerBase.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/inc/DocHandlerBase.h	Mon Aug 23 15:39:03 2010 +0100
@@ -129,6 +129,16 @@
         *                   constant declared in CDocumentHandler.h
         */
         virtual TInt SetSrcFileName( const TDesC& aFileName ) = 0;
+        
+        /**
+        * Set the source file where the content must be fetched.
+        *
+        * @param aFile Source file handle
+        *
+        * @return           KErrNone if success. If fail, a fail reason 
+        *                   constant declared in CDocumentHandler.h
+        */
+        virtual TInt SetSrcFile( const RFile& aFile ) = 0;
 
         /**
         * Set the root path of the memory where the file should be moved.
--- a/commonuis/CommonUi/src/DocDefaultHandler.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/src/DocDefaultHandler.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -106,7 +106,8 @@
         iStatus( KErrNone ),
         iUid( aUid ),
         iOpenService( NULL ),
-        iMMCSaveAllowed ( ETrue )
+        iMMCSaveAllowed ( ETrue ),
+        iFileHandleSet( EFalse )
     {
     }
     
@@ -550,6 +551,13 @@
     return SetAndReturnStatus( KErrNone );
     }
 
+TInt CDocDefaultHandler::SetSrcFile( const RFile& aFile )
+	{
+	TInt err = iFile.Duplicate( aFile );
+	iFileHandleSet = ( err == KErrNone ) ? ETrue : EFalse;
+	return SetAndReturnStatus( KErrNone );
+	}
+
 // ---------------------------------------------------------
 // CDocDefaultHandler::SetDestName()
 // Check the name and set iDestFile.
@@ -1657,43 +1665,49 @@
         TBuf<6> ext;
 
 		CContent* content = NULL;
-        TRAPD(err,content = CContent::NewL( iSourceFile ));
-
-		if(err == KErrNone)
-			{	
-			CleanupStack::PushL(content);
-			content->GetAttribute( ContentAccess::EIsProtected, ret  );
-			if ( ret )
+		if( iFileHandleSet )
+			{
+		    content = CContent::NewL( iFile );
+		    iFile.Close();
+		    iFileHandleSet = EFalse;
+			}
+		else
+			{
+		    content = CContent::NewL( iSourceFile );
+			}
+		
+		CleanupStack::PushL(content);
+		content->GetAttribute( ContentAccess::EIsProtected, ret  );
+		if ( ret )
+			{
+			content->GetAttribute( EFileType, ret );
+            
+			#ifdef _DEBUG             
+			RDebug::Print( _L("DocumentHandler: CDocDefaultHandler::CheckFileNameExtensionL: GetAttribute called, ret =%d"), ret);
+			#endif 
+    
+			if ( ret == EOma1Dcf )
 				{
-				content->GetAttribute( EFileType, ret );
-            
-				#ifdef _DEBUG             
-				RDebug::Print( _L("DocumentHandler: CDocDefaultHandler::CheckFileNameExtensionL: GetAttribute called, ret =%d"), ret);
-				#endif 
-    
-				if ( ret == EOma1Dcf )
+				// change extension to .dcf
+				ext.Copy( KOma1DcfExtension );         
+				ReplaceExtension( aFileName, ext );            
+				CleanupStack::PopAndDestroy();  // content
+				return;            
+				}
+			else if ( ret == EOma2Dcf )
+	            {
+		        // change extension to .odf if not already .o4a, .o4v or .odf
+			    ext.Copy( KOma2DcfExtension );
+				if ( NeedsToReplaceDcf2Extension( aFileName ) )
 					{
-					// change extension to .dcf
-					ext.Copy( KOma1DcfExtension );         
-					ReplaceExtension( aFileName, ext );            
-					CleanupStack::PopAndDestroy();  // content
-					return;            
-					}
-				else if ( ret == EOma2Dcf )
-	                {
-		            // change extension to .odf if not already .o4a, .o4v or .odf
-			        ext.Copy( KOma2DcfExtension );
-				    if ( NeedsToReplaceDcf2Extension( aFileName ) )
-					    {
-						ReplaceExtension( aFileName, ext );
-	                    }
-		            CleanupStack::PopAndDestroy();  // content
-			        return;            
-				    }
+				    ReplaceExtension( aFileName, ext );
+	                }
+		        CleanupStack::PopAndDestroy();  // content
+			    return;            
 				}
-			CleanupStack::PopAndDestroy();  // content
 			}
-        }
+		CleanupStack::PopAndDestroy();  // content
+		}
 
     //if mime type=oma 2 dcf check extension separately
     if ( aDataType.Des8().FindF( KOma2DcfContentType ) != KErrNotFound )
--- a/commonuis/CommonUi/src/DocumentHandler.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/src/DocumentHandler.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -445,6 +445,7 @@
 	TFileName filenameold;
     aFileOld.FullName( filenameold );
     iHandler->SetSrcFileName( filenameold );
+    iHandler->SetSrcFile( aFileOld );
 
     // If aFileNameNew is not set, use source file name
     if (aFileNameNew.Length() != 0)
--- a/commonuis/CommonUi/src/FindItemDialog.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/src/FindItemDialog.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -476,11 +476,6 @@
     else
         {
         DoHandlePointerEventL( aPointerEvent );
-        if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
-            {
-            iEdwin->ClearSelectionL();
-            iEdwin->DrawDeferred();
-            }
         }
     }
 
@@ -958,24 +953,6 @@
 //
 EXPORT_C void CFindItemDialog::ProcessCommandL( TInt aCommandId )
     {
-    TBool selectionVisibility ( ETrue );
-    if ( iSingleClick && iEdwin && iEdwin->TextView() )
-        {
-        selectionVisibility = iEdwin->TextView()->SelectionVisible();
-        iEdwin->TextView()->SetSelectionVisibilityL( EFalse );
-
-        CFindItemEngine::SFoundItem item;
-        TBool founditem = iController->Item( item );
-        if ( founditem )
-            {
-            iEdwin->SetSelectionL( item.iStartPos, item.iStartPos + item.iLength );
-            }
-        else
-            {
-            iEdwin->SetSelectionL( iLastTappedItem.iX, iLastTappedItem.iY );
-            }
-        }
-
     CAknDialog::ProcessCommandL( aCommandId );
     switch (aCommandId)
         {
@@ -1014,10 +991,42 @@
             }
         // Phone number cmds
         case EFindItemCmdCall:
-            { // bit awkward but correct functionality provided.
-            TKeyEvent keyEvent;
-            keyEvent.iCode = EKeyPhoneSend;
-            OfferKeyEventL( keyEvent, EEventKey );
+            {
+            if ( !iHideCallSubMenu )
+                { // bit awkward but correct functionality provided.
+                TKeyEvent keyEvent;
+                keyEvent.iCode = EKeyPhoneSend;
+                OfferKeyEventL( keyEvent, EEventKey );
+                }
+            else
+                {
+                if ( !iDialData )
+                    {
+                    break;
+                    }
+                FormatDialDataL( aCommandId );
+
+                CAiwGenericParamList& paramList =
+                    iServiceHandler->InParamListL();
+
+                if ( iFindItemVoIPExtension->VoIPProfilesExistL() &&
+                    ( iSearchCase ==
+                    CFindItemEngine::EFindItemSearchMailAddressBin ||
+                    iSearchCase == KSearchTelInternetNumber ) )
+                    {
+                    //voip
+                    iDialData->SetCallType( CAiwDialData::EAIWVoiP );
+                    }
+
+                iDialData->FillInParamListL( paramList );
+
+                iServiceHandler->ExecuteServiceCmdL(
+                    KAiwCmdCall,
+                    paramList,
+                    iServiceHandler->OutParamListL(),
+                    0, // No options used.
+                    NULL ); // Dial results are not wanted.
+                }
             break;
             }
         // fix for FAMZ-7JVQ4Y
@@ -1087,12 +1096,6 @@
             {
             if ( LaunchGenericUriL() )
                 {
-                if ( iSingleClick && iEdwin && iEdwin->TextView() )
-                    {
-                    iEdwin->TextView()->SetSelectionVisibilityL( selectionVisibility );
-                    iEdwin->ClearSelectionL();
-                    iEdwin->DrawDeferred();
-                    }
                 return;
                 }
             break;
@@ -1164,15 +1167,6 @@
             break;
             }
         }
-    if ( iSingleClick && iEdwin && iEdwin->TextView() )
-        {
-        iEdwin->TextView()->SetSelectionVisibilityL( selectionVisibility );
-        if ( aCommandId != EFindItemCmdNextItem && aCommandId != EFindItemCmdPrevItem )
-            {
-            iEdwin->ClearSelectionL();
-            }
-        iEdwin->DrawDeferred();
-        }
     }
 
 // -----------------------------------------------------------------------------
@@ -1290,43 +1284,6 @@
 
         aMenuPane->AddMenuItemsL( resource, EAknFormMaxDefault - 1, ETrue );
 
-        if ( iSingleClick && !foundItem )
-            {
-            switch ( resource )
-                {
-                case (R_FINDITEM_MAIL_ADDRESS_MENU):
-                    {
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCopy, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemSubMenuSend, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCreateContactCard, ETrue );
-                    break;
-                    }
-
-                case (R_FINDITEM_URL_ADDRESS_MENU):
-                    {
-                    aMenuPane->SetItemDimmed ( EFindItemCmdGoToUrl, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdAddToBookmark, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCreateContactCard, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCopy, ETrue );
-                    break;
-                    }
-
-                case (R_FINDITEM_PHONENUMBER_MENU): // fall through
-                case (R_FINDITEM_TELINTERNETNUMBER_MENU):
-                    {
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCall, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCopy, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemSubMenuSend, ETrue );
-                    aMenuPane->SetItemDimmed ( EFindItemCmdCreateContactCard, ETrue );
-                    break;
-                    }
-
-                default:
-                    {
-                    break;
-                    }
-                }
-            }
 
         if ( iSearchCase == KSearchTelInternetNumber &&
             iFindItemVoIPExtension->VoIPProfilesExistL() ||
@@ -1352,15 +1309,12 @@
             }
         else if (
             iSearchCase & CFindItemEngine::EFindItemSearchPhoneNumberBin &&
-            !iHideCallMenu )
+            !iHideCallMenu && !iHideCallSubMenu )
             {
-            if ( !iSingleClick || foundItem )
-                {
-                aMenuPane->SetItemDimmed( EFindItemCmdCall, ETrue );
-                aMenuPane->AddMenuItemsL(
-                    R_FINDITEM_CALLUI_AIW_ITEM,
-                    EFindItemCmdCall );
-                }
+            aMenuPane->SetItemDimmed( EFindItemCmdCall, ETrue );
+            aMenuPane->AddMenuItemsL(
+                R_FINDITEM_CALLUI_AIW_ITEM,
+                EFindItemCmdCall );
             }
 
         aMenuPane->DeleteMenuItem( EAknFormCmdEdit );
@@ -1370,20 +1324,14 @@
         aMenuPane->DeleteMenuItem( EAknFormCmdDelete );
 
 #ifndef RD_VIRTUAL_PHONEBOOK
-        if ( !iSingleClick || foundItem )
-            {
-            iPbkDataSave->AddMenuItemsL(
-                aMenuPane,
-                EFindItemCmdCreateContactCard );
-            }
+        iPbkDataSave->AddMenuItemsL(
+            aMenuPane,
+            EFindItemCmdCreateContactCard );
 #else
-        if ( !iSingleClick || foundItem )
-            {
-            aMenuPane->SetItemDimmed( EFindItemCmdCreateContactCard, ETrue );
-            aMenuPane->AddMenuItemsL(
-                R_FINDITEM_CONTACTS_AIW_ITEM,
-                EFindItemCmdCreateContactCard );
-            }
+        aMenuPane->SetItemDimmed( EFindItemCmdCreateContactCard, ETrue );
+        aMenuPane->AddMenuItemsL(
+            R_FINDITEM_CONTACTS_AIW_ITEM,
+            EFindItemCmdCreateContactCard );
 #endif // !RD_VIRTUAL_PHONEBOOK
 
         // Delete next/prev item items from menu if a last/next
@@ -1425,6 +1373,18 @@
         }
     }
 
+
+// -----------------------------------------------------------------------------
+// CFindItemDialog::SetCallSubMenuVisibility
+// Sets AIW submenu visibility
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CFindItemDialog::SetCallSubMenuVisibility( TBool aVisible )
+    {
+    iHideCallSubMenu = !aVisible;
+    }
+
+
 // -----------------------------------------------------------------------------
 // CFindItemDialog::OfferKeyEventL
 //  Handles key events
@@ -1452,54 +1412,24 @@
     switch ( code )
         {
         case EKeyRightArrow:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
             iController->NextItemL();
             break;
         case EKeyDownArrow:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
             iController->MoveDownL();   
             break;
         case EKeyLeftArrow:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
             iController->PrevItemL();	
             break;
         case EKeyUpArrow:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
             iController->MoveUpL();
             break;
         case EKeyOK:
         case EKeyEnter:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
             iIsSensitiveMenu = ETrue;
             iMenuBar->SetMenuType(CEikMenuBar::EMenuContext);
             CAknDialog::DisplayMenuL();
             break;
         case EKeyPhoneSend:
-            if ( iSingleClick && !CurrentItemHasHighlight() )
-                {
-                HighlightCurrentItem();
-                break;
-                }
 
             if ( !iDialData )
                 {
@@ -1926,10 +1856,7 @@
         UpdateScrollIndicatorL();
 
         iEdwin->TextView()->SetSelectionVisibilityL( ETrue );
-        if ( !iSingleClick )
-            {
-            iEdwin->SetSelectionL( item.iStartPos, item.iLength + item.iStartPos );
-            }
+        iEdwin->SetSelectionL( item.iStartPos, item.iLength + item.iStartPos );
         }
     else
         {// Let's show a information note if no items were found
@@ -2406,49 +2333,6 @@
         }    
     }
 
-// ----------------------------------------------------------------------------
-// CFindItemDialog::CurrentItemHasHighlight
-// ----------------------------------------------------------------------------
-//
-TBool CFindItemDialog::CurrentItemHasHighlight()
-    {
-    CFindItemEngine::SFoundItem item;
-    TBool foundItem = iController->Item( item );
-
-    // foundItem remains as ETrue, if item found by controller is exactly
-    // same as highlighted selection
-    
-    TCursorSelection selection( iEdwin->Selection() );
-    TInt selectionLength = iEdwin->SelectionLength();
-
-    foundItem = foundItem && ( ( item.iLength == selectionLength ) && ( item.iStartPos == Min( selection.iCursorPos, selection.iAnchorPos ) ) );
-
-    foundItem = foundItem && ( iEdwin && iEdwin->TextView()
-        && iEdwin->TextView()->SelectionVisible() );
-
-    return foundItem;
-    }
-
-// ----------------------------------------------------------------------------
-// CFindItemDialog::HighlightCurrentItem
-// ----------------------------------------------------------------------------
-//
-void CFindItemDialog::HighlightCurrentItem()
-    {
-    CFindItemEngine::SFoundItem item;
-    TBool found = iController->Item( item );
-
-    if ( found && iEdwin && iEdwin->TextView() )
-        {
-        TRAPD( err, iEdwin->TextView()->SetSelectionVisibilityL( ETrue ) );
-        if ( KErrNone == err )
-            {
-            //When set selection leaves, we can't highlight the item, so just ignore this leave.
-            TRAP_IGNORE( iEdwin->SetSelectionL( item.iStartPos, item.iStartPos + item.iLength ) );
-            }
-        }
-    }
-
 
 //
 // CONTAINER CLASS
--- a/commonuis/CommonUi/src/FindItemMenu.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/commonuis/CommonUi/src/FindItemMenu.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -623,19 +623,17 @@
                     tempBuf);
                 index = EFindItemCmdGoToUrl;
 
-                if ( !iIsContextMenu )
-                    {
-                    // Add bookmark
-                    iCoeEnv->ReadResourceL(
-                        tempBuf, R_FINDITEMMENU_ADD_BOOKMARK );
-                    AddMenuItemL(
-                        *iMenuPane,
-                        EFindItemCmdAddToBookmark,
-                        index,
-                        0,
-                        tempBuf );
-                    index = EFindItemCmdAddToBookmark;
-                    }
+                // Add bookmark
+                iCoeEnv->ReadResourceL(
+                    tempBuf, R_FINDITEMMENU_ADD_BOOKMARK );
+                AddMenuItemL(
+                    *iMenuPane,
+                    EFindItemCmdAddToBookmark,
+                    index,
+                    0,
+                    tempBuf );
+                index = EFindItemCmdAddToBookmark;
+                   
                 }
             else
                 {
@@ -647,18 +645,16 @@
                     tempBuf );
                 index = EFindItemCmdGoToRstp;
 
-                if ( !iIsContextMenu )
-                    {
-                    iCoeEnv->ReadResourceL(
-                        tempBuf, R_FINDITEMMENU_ADD_TO_GALLERY );
-                    AddMenuItemL(
-                        *iMenuPane,
-                        EFindItemCmdAddToGallery,
-                        index,
-                        0,
-                        tempBuf );
-                    index = EFindItemCmdAddToGallery;
-                    }
+                iCoeEnv->ReadResourceL(
+                    tempBuf, R_FINDITEMMENU_ADD_TO_GALLERY );
+                AddMenuItemL(
+                    *iMenuPane,
+                    EFindItemCmdAddToGallery,
+                    index,
+                    0,
+                    tempBuf );
+                index = EFindItemCmdAddToGallery;
+                  
                 }
             break;
             }
@@ -842,8 +838,6 @@
 
      // Add to contacts
      if ( ( itemType != CItemFinder::EUriScheme ) &&
-        !( itemType == CItemFinder::EUrlAddress &&
-        iIsContextMenu ) &&
         ( ( ( ( !iIsSenderKnown &&
         iSenderDescriptor->Length() ) ||
         iCallbackNumber ) &&
@@ -893,7 +887,8 @@
     if ( ( !iHideCallMenu ||
         ( iFindItemVoIPExtension->IsVoIPSupported() &&
         iFindItemVoIPExtension->VoIPProfilesExistL() ) ) &&
-        iMenuPane->MenuItemExists( EFindItemCmdCall, dummy ) )
+        iMenuPane->MenuItemExists( EFindItemCmdCall, dummy ) &&
+        !iHideCallSubMenu )
         {
         iMenuPane->SetItemDimmed( EFindItemCmdCall, ETrue );
         iMenuPane->AddMenuItemsL(
@@ -902,6 +897,18 @@
         }
     }
 
+
+// -----------------------------------------------------------------------------
+// CFindItemMenu::SetCallSubMenuVisibility
+// Sets AIW submenu visibility
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CFindItemMenu::SetCallSubMenuVisibility( TBool aVisible )
+    {
+    iHideCallSubMenu = !aVisible;
+    }
+
+
 EXPORT_C void CFindItemMenu::HandleItemFinderCommandL( TInt aCommand )
     {
     switch ( aCommand )
--- a/lafagnosticuifoundation/cone/src/COEMAIN.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/lafagnosticuifoundation/cone/src/COEMAIN.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -231,6 +231,9 @@
 	case KErrServerTerminated:
 		return;
 	default:
+#ifdef _DEBUG
+	    RDebug::Print( _L("CCoeEnv's iStatus = %d"), iStatus.Int() );
+#endif
 		Panic(ECoePanicWservBlindCommandFailed);
 		}
 	TWsEvent event;
--- a/lafagnosticuifoundation/cone/src/COEPRIV.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/lafagnosticuifoundation/cone/src/COEPRIV.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -66,6 +66,8 @@
 
 void CCoeRedrawer::RunL()
 	{
+    User::LeaveIfError( iStatus.Int() );
+
 	TWsRedrawEvent redraw;
 	iWsSession.GetRedraw(redraw);
 	const TUint handle = redraw.Handle();
@@ -104,3 +106,21 @@
 	{
 	iWsSession.RedrawReadyCancel();
 	}
+
+/**
+  Log the error (debug builds) before panicking.
+  The panic code is consistent with that in CCoeEnv::RunL().
+ */
+TInt CCoeRedrawer::RunError( TInt aError )
+    {
+#ifdef _DEBUG
+    RDebug::Print( _L("CCoeRedrawer's iStatus = %d"), iStatus.Int() );
+#endif
+
+    Panic( ECoePanicWservBlindCommandFailed );
+    aError = KErrNone;
+
+    return aError;
+    }
+
+
--- a/lafagnosticuifoundation/cone/src/coepriv.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/lafagnosticuifoundation/cone/src/coepriv.h	Mon Aug 23 15:39:03 2010 +0100
@@ -35,11 +35,14 @@
 public:
 	CCoeRedrawer(RWsSession& aWsSession);
 	~CCoeRedrawer();
+
 private:
 	void Queue();
 	// from CActive
 	virtual void RunL();
 	virtual void DoCancel();
+	virtual TInt RunError( TInt aError );
+
 private:
 	RWsSession& iWsSession;
 	TBool iFirstRunL;
--- a/psln/Group/Psln.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/Group/Psln.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -99,13 +99,13 @@
 LIBRARY                 mgfetch.lib
 LIBRARY                 aknskinsrv.lib
 LIBRARY                 aknskins.lib
-LIBRARY                 commonengine.lib
+LIBRARY                 CommonEngine.lib
 LIBRARY                 aknnotify.lib
 LIBRARY                 hlplch.lib
-LIBRARY                 drmhelper.lib
+LIBRARY                 DrmHelper.lib
 LIBRARY                 pslnengine.lib
 LIBRARY                 pslnframework.lib
-LIBRARY                 cdlengine.lib
+LIBRARY                 CdlEngine.lib
 LIBRARY                 aknicon.lib
 LIBRARY                 ecom.lib
 LIBRARY                 centralrepository.lib
--- a/psln/PslnFramework/PslnFramework.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/PslnFramework/PslnFramework.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 LIBRARY     apparc.lib
 LIBRARY     avkon.lib
 LIBRARY     bafl.lib
-LIBRARY     commonengine.lib           // for RConeResourceLoader
+LIBRARY     CommonEngine.lib           // for RConeResourceLoader
 LIBRARY     cone.lib
 LIBRARY     ecom.lib
 LIBRARY     efsrv.lib
--- a/psln/PslnGSPlugin/group/PslnGSPlugin.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/PslnGSPlugin/group/PslnGSPlugin.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -56,15 +56,15 @@
 LIBRARY             apparc.lib
 LIBRARY             avkon.lib
 LIBRARY             bafl.lib
-LIBRARY             commonengine.lib
+LIBRARY             CommonEngine.lib
 LIBRARY             cone.lib
 LIBRARY             ecom.lib
 LIBRARY             efsrv.lib
 LIBRARY             eikcoctl.lib
 LIBRARY             eikcore.lib
 LIBRARY             euser.lib
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             GSFramework.lib
+LIBRARY             gsecomplugin.lib
+LIBRARY             gsframework.lib
 LIBRARY             ws32.lib
 
 // End of File
--- a/psln/PslnLibraryLoaders/group/pslnprofilesettingsloader.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/PslnLibraryLoaders/group/pslnprofilesettingsloader.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -38,9 +38,9 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY                 euser.lib
-LIBRARY                 profileengine.lib
-LIBRARY                 profileEng.lib
-LIBRARY                 drmhelper.lib
+LIBRARY                 ProfileEngine.lib
+LIBRARY                 profileeng.lib
+LIBRARY                 DrmHelper.lib
 #ifdef RD_CONTENTNOTIFICATION
 LIBRARY                 contentnotification.lib
 #endif //RD_CONTENTNOTIFICATION
--- a/psln/Src/PslnScreenSaverContainer.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/Src/PslnScreenSaverContainer.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -123,6 +123,7 @@
             delete itemBuf;
             }
         }
+    iListBox->HandleItemAdditionL();
 
     // Create pre- and post-text icons.
     CPslnFWIconHelper* iconHelper = CPslnFWIconHelper::NewL();
Binary file psln/help/data/xhtml.zip has changed
--- a/psln/pslnengine/group/PslnEngine.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/pslnengine/group/PslnEngine.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,10 +52,10 @@
 LIBRARY                 efsrv.lib
 LIBRARY                 apparc.lib
 LIBRARY                 featmgr.lib
-LIBRARY                 commonengine.lib
+LIBRARY                 CommonEngine.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 aknskinsrv.lib
-LIBRARY                 drmhelper.lib
+LIBRARY                 DrmHelper.lib
 LIBRARY                 platformenv.lib
 LIBRARY                 gfxtrans.lib
 LIBRARY                 caf.lib
--- a/psln/pslnengine/src/PslnModel.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/pslnengine/src/PslnModel.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1839,6 +1839,7 @@
             {
             iScreenSaverInfo = CPslnScreenSaverInfo::NewL();
             }
+        iScreenSaverInfo->iFileName->Des().Zero();
         
         //backup current screensaver settings
         error = iScreenSaverRepository->Get(
@@ -1908,7 +1909,7 @@
             previewSsType );
 
         //restore the screen saver settings.
-        if ( previewSsType == KPslnSsObject )
+        if ( iScreenSaverInfo->iFileName->Des().Compare( KNullDesC ) )
             {
             error = iScreenSaverRepository->Set(
                 KScreenSaverPluginName,
--- a/psln/pslnslidesetdialog/group/pslnslidesetdialog.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/pslnslidesetdialog/group/pslnslidesetdialog.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,10 +64,10 @@
 LIBRARY                 featmgr.lib
 LIBRARY                 cone.lib
 LIBRARY                 efsrv.lib
-LIBRARY                 commonengine.lib
-LIBRARY                 cdlengine.lib
+LIBRARY                 CommonEngine.lib
+LIBRARY                 CdlEngine.lib
 LIBRARY                 centralrepository.lib
-LIBRARY                 drmhelper.lib
+LIBRARY                 DrmHelper.lib
 LIBRARY                 hlplch.lib
 LIBRARY                 mgfetch.lib
 LIBRARY                 aknskinsrv.lib
--- a/psln/pslnslidesetdialog/src/pslnslidesetdrmverifier.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/psln/pslnslidesetdialog/src/pslnslidesetdrmverifier.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -121,21 +121,23 @@
                 res = iDRMHelper->CanSetAutomated(
                     aSelectedFiles->MdcaPoint( index ),
                     canBeAutomated );
-                if ( !res && !canBeAutomated )
+                if ( res == KErrNone && !canBeAutomated )
                     {
                     ShowErrorNoteL( R_PSLN_SLIDE_SET_DRM_ERROR );
-                    }
-                else if( res == KErrUnderflow )
-                    {
-                    ShowErrorNoteL( R_PSLN_SLIDE_SET_IMAGE_CORRUPTED );
+                    return EFalse;
                     }
-                else if ( ( res != KErrNone ) || !canBeAutomated )
+                else if ( res != KErrNone )
                     {
-                    if ( iDRMHelper )
+                    if ( res == KErrUnderflow )
                         {
-                        iDRMHelper->HandleErrorL(
-                            res, 
+                        // Do not show error note for corrupted image and let it pass.
+                        canBeAutomated = ETrue;
+                        }
+                    else
+                        {
+                        iDRMHelper->HandleErrorL( res,
                             aSelectedFiles->MdcaPoint( index ) );
+                        return EFalse;
                         }
                     }
                 else
--- a/uifw/AknGlobalUI/AknCapServer/group/AknCapServer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/AknCapServer/group/AknCapServer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -76,20 +76,20 @@
 LIBRARY         eikcore.lib 
 LIBRARY         eikcoctl.lib 
 LIBRARY         ws32.lib 
-LIBRARY         aknskins.lib 
+LIBRARY         aknskins.lib
 LIBRARY         apfile.lib 
 LIBRARY         apgrfx.lib
 LIBRARY         avkon.lib 
 LIBRARY         aknnotifierwrapper.lib 
-LIBRARY         commonengine.lib 
-LIBRARY         aknicon.lib 
+LIBRARY         CommonEngine.lib
+LIBRARY         aknicon.lib
 LIBRARY         egul.lib 
 LIBRARY         fbscli.lib
 LIBRARY         eiksrvc.lib
 LIBRARY         efsrv.lib
 LIBRARY         bafl.lib
-LIBRARY         cdlengine.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         CdlEngine.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         eikdlg.lib
 LIBRARY         eiksrv.lib
 LIBRARY         ecom.lib
@@ -102,11 +102,11 @@
 LIBRARY         syslangutil.lib
 LIBRARY         centralrepository.lib
 LIBRARY         akntransitionutils.lib
-LIBRARY         widgetregistryclient.lib
-LIBRARY         akndynamicsoftnoteeventmanager.lib
-LIBRARY         ecompluginnotifier.lib
+LIBRARY         WidgetRegistryClient.lib
+LIBRARY         AknDynamicSoftNoteEventManager.lib
+LIBRARY         EComPluginNotifier.lib
 LIBRARY         touchfeedback.lib
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 LIBRARY         aknlistloadertfx.lib
--- a/uifw/AknGlobalUI/AknCapServer/src/AknCapServerEntry.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/AknCapServer/src/AknCapServerEntry.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1131,7 +1131,9 @@
     TBool isNumber = EFalse;
     numCategory = (TChar(aChar)).GetBdCategory();
     isNumber = ((numCategory == TChar::EEuropeanNumber) || (numCategory == TChar::EArabicNumber) ||
-               (numCategory == TChar::EEuropeanNumberTerminator) || (aChar == 0x2E) || 
+               (numCategory == TChar::EEuropeanNumberTerminator) || 
+               ( numCategory == TChar::EEuropeanNumberSeparator ) ||
+               (aChar == 0x2E) || 
                (aChar == 0x2A) || (aChar == 0x3D) || (aChar == 0x2F));
     return isNumber;
 }
--- a/uifw/AknGlobalUI/AknCapServer/src/aknKeyFilter.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/AknCapServer/src/aknKeyFilter.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -330,7 +330,8 @@
                {
                thread.SetProcessPriority(EPriorityForeground);  
                }
-               
+            thread.Close();
+
             // start different fullscreen effect when launching app by KUidApaMessageSwitchOpenFile
             GfxTransEffect::BeginFullScreen(
                 AknTransEffect::EApplicationActivate,
@@ -350,7 +351,8 @@
                {
                thread.SetProcessPriority( EPriorityForeground );  
                }
-                           
+            thread.Close();
+
             // idle will bring itself foreground when getting the message below
             task.SendMessage( KUidApaMessageSwitchOpenFile , KNullDesC8 );
             
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSystemListPopup.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSystemListPopup.h	Mon Aug 23 15:39:03 2010 +0100
@@ -24,6 +24,7 @@
 #include <eikcmobs.h>
 #include <AknNotifyStd.h>
 #include "AknListQueryNotificationDialog.h"
+#include "AknNotifierControllerPlugin.h"
 
 NONSHARABLE_CLASS(CAknGlobalListQuerySubject): 
     public CBase, 
@@ -31,7 +32,7 @@
     public MAknListQueryNotificationCallback
     {
 public:
-    static CAknGlobalListQuerySubject* NewL();
+    static CAknGlobalListQuerySubject* NewL(MAknKeyLockController* aKeyLockController);
     virtual ~CAknGlobalListQuerySubject();
     
     // From MEikSrvNotifierBase.
@@ -45,9 +46,14 @@
     
     // From MAknListQueryNotificationCallback.
     void QueryDismissedL(TInt aResult);
+    
+    TBool IsKeyLockEnable()
+        {
+        return iKeyLockController->IsKeyLockEnabled();
+        }
 
 private:
-    CAknGlobalListQuerySubject();
+    CAknGlobalListQuerySubject(MAknKeyLockController* aKeyLockController);
     void ConstructL();
 
 private:
@@ -66,6 +72,9 @@
     TBool iAppsKeySuppressed;
     
     CEikonEnv* iStoredEikonEnv;
+    
+    MAknKeyLockController* iKeyLockController;
+    
     };
 
 #endif // __AKNSYSTEMLISTPOPUP_H__
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknListQueryNotificationDialog.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknListQueryNotificationDialog.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -19,6 +19,7 @@
 #include "AknListQueryNotificationDialog.h"
 #include "AknNotifyPlugin.hrh"
 #include "avkon.hrh"
+#include "AknSystemListPopup.h"
 
 CAknListQueryNotificationDialog::CAknListQueryNotificationDialog( 
     TInt* aIndex,
@@ -121,7 +122,16 @@
     if (iPointerUpEaten && AknLayoutUtils::PenEnabled() && aButtonId == EAknSoftkeyOk)
         {
         iPointerUpEaten = EFalse;
-        return EFalse;
+        //Fix the problem where the pointer up event is handled to active the power menu item
+        //when lock screen happans before releasing the tap on power menu item
+        if(((CAknGlobalListQuerySubject*)iCallBack)->IsKeyLockEnable())
+            {
+            aButtonId = EAknSoftkeyCancel;
+            }
+        else
+            {
+            return EFalse;
+            }
         }
     
     TInt ret = -1;
@@ -140,7 +150,8 @@
 void CAknListQueryNotificationDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
     {
     iPointerUpEaten = EFalse;
-    if (aPointerEvent.iType == TPointerEvent::EButton1Up && !IsFocused())
+    
+    if (aPointerEvent.iType == TPointerEvent::EButton1Up && (!IsFocused() || ((CAknGlobalListQuerySubject*)iCallBack)->IsKeyLockEnable()))
         {
         iPointerUpEaten = ETrue;
         }
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListPopup.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListPopup.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -40,17 +40,17 @@
 const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
 const TInt KArrayGranularity = 3;
 
-CAknGlobalListQuerySubject* CAknGlobalListQuerySubject::NewL()
+CAknGlobalListQuerySubject* CAknGlobalListQuerySubject::NewL(MAknKeyLockController* aKeyLockController)
     {
-    CAknGlobalListQuerySubject* self = new (ELeave) CAknGlobalListQuerySubject(); 
+    CAknGlobalListQuerySubject* self = new (ELeave) CAknGlobalListQuerySubject(aKeyLockController); 
     CleanupStack::PushL(self);
     self->ConstructL(); 
     CleanupStack::Pop(self);
     return self;
     }
 
-CAknGlobalListQuerySubject::CAknGlobalListQuerySubject()
-: iPending(EFalse)
+CAknGlobalListQuerySubject::CAknGlobalListQuerySubject(MAknKeyLockController* aKeyLockController)
+:iPending(EFalse),iKeyLockController(aKeyLockController)
     {
     iStoredEikonEnv = CEikonEnv::Static();
     }
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/OldStylePlugin.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/OldStylePlugin.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -146,7 +146,7 @@
     // ----------------------------
     // Global list query.
     // ----------------------------
-    CAknGlobalListQuerySubject* listQuerySubject = CAknGlobalListQuerySubject::NewL();
+    CAknGlobalListQuerySubject* listQuerySubject = CAknGlobalListQuerySubject::NewL(keyLockNotifier);
     
     CleanupStack::PushL(listQuerySubject);
     subjects->AppendL(listQuerySubject);
--- a/uifw/AknGlobalUI/OldStyleNotif/group/AknOldStyleNotif.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AknGlobalUI/OldStyleNotif/group/AknOldStyleNotif.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -69,19 +69,19 @@
 LIBRARY         eikcore.lib
 LIBRARY         eiksrv.lib
 LIBRARY         avkon.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         apgrfx.lib
 LIBRARY         eiksrvui.lib
 LIBRARY         eikctl.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         featmgr.lib
 LIBRARY         aknskins.lib
 LIBRARY         aknnotifyplugin.lib
 LIBRARY         aknnotifierwrapper.lib
 LIBRARY         gdi.lib
 LIBRARY         aknlayout2.lib       
-LIBRARY         aknlayout2scalable.lib
-LIBRARY         aknnotify.lib 
+LIBRARY         AknLayout2Scalable.lib
+LIBRARY         aknnotify.lib
 LIBRARY         mediatorclient.lib
 LIBRARY         apparc.lib
 LIBRARY         centralrepository.lib
@@ -89,7 +89,7 @@
 LIBRARY         fbscli.lib
 LIBRARY         aknicon.lib
 LIBRARY         svgengine.lib
-LIBRARY         akndynamicsoftnoteeventmanager.lib
+LIBRARY         AknDynamicSoftNoteEventManager.lib
 
 LIBRARY         gfxtrans.lib
 LIBRARY         akntransitionutils.lib
--- a/uifw/AvKon/EABI/AVKONU.DEF	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/EABI/AVKONU.DEF	Mon Aug 23 15:39:03 2010 +0100
@@ -4603,4 +4603,5 @@
 	_ZN26CAknRadioButtonSettingPage15ProcessCommandLEi @ 4602 NONAME
 	_ZThn84_N20CAknPopupSettingPage15ProcessCommandLEi @ 4603 NONAME
 	_ZThn84_N26CAknRadioButtonSettingPage15ProcessCommandLEi @ 4604 NONAME
+	_ZN14CAknSignalPane12ShowUmaIconLEi @ 4605 NONAME
 
--- a/uifw/AvKon/EABI/AknNotifyU.DEF	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/EABI/AknNotifyU.DEF	Mon Aug 23 15:39:03 2010 +0100
@@ -150,3 +150,5 @@
 	_ZN22CAknGlobalListMsgQueryD2Ev @ 149 NONAME
 	_Z13AknTracePrint11TRefByValueIK7TDesC16Ez @ 150 NONAME
 	_Z13AknTracePrintPKcz @ 151 NONAME
+	_ZN16CAknSignalNotify12SetUmaStateLEi @ 152 NONAME
+
--- a/uifw/AvKon/akncompamode/group/akncompamode.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/akncompamode/group/akncompamode.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -69,10 +69,10 @@
 LIBRARY         bafl.lib
 LIBRARY         egul.lib
 LIBRARY         aknskins.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         touchfeedback.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         ecom.lib
 LIBRARY         centralrepository.lib
-LIBRARY         AknLayout2.lib
+LIBRARY         aknlayout2.lib
 
--- a/uifw/AvKon/akncompamode/gs/group/akncompags.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/akncompamode/gs/group/akncompags.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,14 +58,14 @@
 LIBRARY   eikcore.lib
 LIBRARY   egul.lib
 LIBRARY   eikdlg.lib            // eikon dialogs
-LIBRARY   CentralRepository.lib
+LIBRARY   centralrepository.lib
 
 LIBRARY   CommonEngine.lib      // For RConeResourceLoader
 LIBRARY   aknskinsrv.lib        // for enhanced skinning
 LIBRARY   aknskins.lib          // for enhanced skinning
 LIBRARY   hlplch.lib            // for "Help" options menu
-LIBRARY   GSFramework.lib       // For base classes
-LIBRARY   GSListBox.lib         // For CGSListBoxItemTextArray
-LIBRARY   GSEcomPlugin.lib
+LIBRARY   gsframework.lib       // For base classes
+LIBRARY   gslistbox.lib         // For CGSListBoxItemTextArray
+LIBRARY   gsecomplugin.lib
 
 // End of File
--- a/uifw/AvKon/akncompamode/src/akncompakb.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/akncompamode/src/akncompakb.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -270,11 +270,13 @@
     // disabled whenever screen mode changes to compa-mode by AknCapServer.
     if (iFlags.iInAknCapSrv && iFlags.iEffectsDisa != aDisable)
         {
+        TInt err = KErrNone;
         if (iCompaSrvSession.Handle() == KNullHandle)
             {
-	        User::LeaveIfError( iCompaSrvSession.Connect() );
+	        err = iCompaSrvSession.Connect();
             }
-        if (iCompaSrvSession.Handle() != KNullHandle)
+        
+        if (err == KErrNone && iCompaSrvSession.Handle() != KNullHandle)
             {
             if (aDisable)
                 {
--- a/uifw/AvKon/aknconf/group/aknconf.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/aknconf/group/aknconf.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -73,7 +73,7 @@
 LIBRARY		   cone.lib
 LIBRARY		   eikcore.lib
 LIBRARY		   avkon.lib
-LIBRARY		   commonengine.lib
+LIBRARY		   CommonEngine.lib
 LIBRARY		   efsrv.lib 
 LIBRARY		   estor.lib
 LIBRARY        aknnotify.lib
--- a/uifw/AvKon/aknhlist/group/aknhlist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/aknhlist/group/aknhlist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -71,8 +71,8 @@
 LIBRARY                 avkon.lib
 LIBRARY                 eikcoctl.lib
 LIBRARY                 cone.lib
-LIBRARY                 aknlayout2scalable.lib
-LIBRARY                 cdlengine.lib
+LIBRARY                 AknLayout2Scalable.lib
+LIBRARY                 CdlEngine.lib
 LIBRARY                 aknskins.lib
 LIBRARY                 ws32.lib 
 LIBRARY                 egul.lib
@@ -83,7 +83,7 @@
 
 LIBRARY                 aknphysics.lib    
 library                 touchfeedback.lib
-LIBRARY                 AknNotify.lib // akntrace
+LIBRARY                 aknnotify.lib // akntrace
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 LIBRARY         aknlistloadertfx.lib
 #endif //RD_UI_TRANSITION_EFFECTS_LIST
--- a/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -261,7 +261,7 @@
     if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
         {
         iTreeListView->SetPressedDownState( EFalse );
-        if ( iTreeListView->SingleClickEnabled() && !aMarking )
+        if ( iTreeListView->SingleClickEnabled() )
             {
             iHighlightTimer->Cancel();
             iTreeListView->EnableHighlight( EFalse );
@@ -337,7 +337,7 @@
                  }
             }
 
-        if ( iItemToBeSelected != NULL && !aMarking)
+        if ( iItemToBeSelected != NULL && !aMarking )
             {
             iTreeListView->SelectItem( iItemToBeSelected );
             iItemToBeSelected = NULL;
@@ -355,7 +355,7 @@
     
         if ( item && (*iItems)[ii].Rect().Contains( adjustedPosition ) )
             {        
-            if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+            if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
                 {            
                 // Marking mode 
                 if ( aMarking )
@@ -363,16 +363,26 @@
                     TBool drawNow = ( item == iTreeListView->FocusedItem() );    
                     if ( aShiftPressed )
                         {
-                        iTreeListView->MarkItems( iTreeListView->FocusedItem(), item,
-                            !item->IsMarked(), drawNow );
+                        if ( iTreeListView->HighlightEnabled() )
+                            {
+                            iTreeListView->MarkItems( iTreeListView->FocusedItem(), item,
+                                    !item->IsMarked(), drawNow );
+                            }
+                        else
+                            {
+                            iTreeListView->MarkItem( item, !item->IsMarked(), drawNow );
+                            }
                         }
                     else if ( aCtrlPressed )
                         {
                         iTreeListView->MarkItem( item, !item->IsMarked(), drawNow );
                         }
-                    }  
-                else if ( iTreeListView->SingleClickEnabled() 
-                          && !wasFlicking  )                    
+                    } 
+                }
+            else if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
+                {     
+                if ( iTreeListView->SingleClickEnabled() 
+                        && !wasFlicking  && !aMarking )                    
                     {
                     iItemToBeSelected = item;             
                     iTreeListView->SetFocusedItem( item, ii, EFalse );
@@ -430,21 +440,12 @@
                         iPlayFeedbackOnUp = ETrue;
                         }
                     }
-                if ( !aMarking )
+                // timer will be launched everytime, but not
+                // if flicking was ongoing AND it was stopped by tapping 
+                // to highlighted item or to folder (=node)   
+                if ( !( wasFlicking && iItemToBeSelected != NULL ) )
                     {
-                    // timer will be launched everytime, but not
-                    // if flicking was ongoing AND it was stopped by tapping 
-                    // to highlighted item or to folder (=node)   
-                    if ( !( wasFlicking && iItemToBeSelected != NULL ) )
-                        {
-                        LaunchHighlightTimer( wasScrolling );
-                        }
-                    }
-                else
-                    {
-                    // Pressed down highlight or highlight timer 
-                    // are not used in marking mode.
-                    SetHighlight();   
+                    LaunchHighlightTimer( wasScrolling );
                     }
                 }                      
             else if ( aPointerEvent.iType == TPointerEvent::EDrag )
@@ -824,12 +825,6 @@
     TUint /*aFlags*/ )
     {
     iScrollIndex = aNewPosition.iY - iViewRect.Height() / 2;
-    TTouchFeedbackType feedbackType = ETouchFeedbackVibra;
-    if ( iPhysics->OngoingPhysicsAction() 
-        == CAknPhysics::EAknPhysicsActionDragging )
-        {
-        feedbackType = static_cast<TTouchFeedbackType>(ETouchFeedbackAudio | ETouchFeedbackVibra);
-        }
     if ( iPhysics->OngoingPhysicsAction() 
             == CAknPhysics::EAknPhysicsActionBouncing )
         {
@@ -905,7 +900,7 @@
                 if ( bottomItem != iTree->VisibleItemCount() - 1 )
                     iFeedback->InstantFeedback( iTreeListView,
                                                 ETouchFeedbackSensitiveList,
-                                                feedbackType,
+                                                ETouchFeedbackVibra,
                                                 TPointerEvent() );
                 }
             }
@@ -915,7 +910,7 @@
                 {
                 iFeedback->InstantFeedback( iTreeListView,
                                             ETouchFeedbackSensitiveList,
-                                            feedbackType,
+                                            ETouchFeedbackVibra,
                                             TPointerEvent() );
                 }
             }
@@ -925,7 +920,7 @@
                 {
                 iFeedback->InstantFeedback( iTreeListView,
                                             ETouchFeedbackSensitiveList,
-                                            feedbackType,
+                                            ETouchFeedbackVibra,
                                             TPointerEvent() );
                 }
             }
@@ -1059,7 +1054,7 @@
         if ( handler->iTreeListView->SingleClickEnabled() 
              && !handler->iEnableEvents )
             {
-            handler->iTreeListView->EnableHighlight(ETrue);
+            handler->iTreeListView->EnableHighlight( ETrue, ETrue );
             }
         // Pressed down highlight if item still pressed down
         if ( !handler->iFlags.IsSet( EFlagButtonUpReceived )
--- a/uifw/AvKon/aknphysics/src/aknphysicsengine.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/aknphysics/src/aknphysicsengine.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -60,7 +60,11 @@
 CAknPhysicsEngine::~CAknPhysicsEngine()
     {
     DeletePhysics();
-    delete iAlfClient;
+    if ( iAlfClient )
+        {
+        iAlfClient->Close();
+        delete iAlfClient;
+        }       
     }
 
 
--- a/uifw/AvKon/animdllinc/AknAnimKeySound.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/animdllinc/AknAnimKeySound.h	Mon Aug 23 15:39:03 2010 +0100
@@ -131,7 +131,7 @@
     * @param key code to be checked.
     * @return ETrue if blocked.
     */
-    static TBool IsBlockedKeyCode( TInt aScanCode );
+    static TBool IsBlockedKeyCode( TBool aSupportQuerty , TInt aScanCode );
 
     /**
     * Checks if key code is non-blocked.
@@ -201,6 +201,9 @@
     // Extension for window group information.
     MAnimGeneralFunctionsWindowExtension* iExt;      
     
+	//support querty keypad
+    TBool iSupportQuertyKey; 
+    
     // Pointer event handling ongoing, block key events
     TBool iBlockKeyEvents;
     
--- a/uifw/AvKon/animdllsrc/AknAnimDll.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/animdllsrc/AknAnimDll.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -45,7 +45,7 @@
 LIBRARY         euser.lib
 LIBRARY         centralrepository.lib
 LIBRARY         featmgr.lib
-LIBRARY         HWRMLightClient.lib 
+LIBRARY         hwrmlightclient.lib
 LIBRARY         tactileclickplugin.lib
 
 EXPORTUNFROZEN
--- a/uifw/AvKon/animdllsrc/AknAnimKeySound.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/animdllsrc/AknAnimKeySound.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -258,6 +258,10 @@
         iPendingEvent = CAknPendingKeyEvent::NewL(iFunctions, iNoPowerKeyScanCode);
         }
 
+    
+    iSupportQuertyKey = 
+               FeatureManager::FeatureSupported( KFeatureIdQwertyInput );
+    
     FeatureManager::UnInitializeLib();
     
     // Get extension for querying and manipulating the window and screen attributes.
@@ -287,8 +291,12 @@
 // CAknAnimKeySound::IsBlockedKeyCode
 // -----------------------------------------------------------------------------
 //
-TBool CAknAnimKeySound::IsBlockedKeyCode( TInt aScanCode )
+TBool CAknAnimKeySound::IsBlockedKeyCode( TBool aSupportQuerty , TInt aScanCode )  
     {
+    if( aSupportQuerty )
+        {
+        return EFalse;
+        }
     for ( TInt ii=0; ii < KBlockedKeyCodeTableSize; ii++ )
         {
         if ( aScanCode == KBlockedKeyCodes[ii] )
@@ -738,7 +746,7 @@
             {
             TInt scan = aRawEvent.ScanCode() & 0xFFFF;
             if ( !NonBlockedKeyCode( scan ) 
-                && iKeyPressed && iEnableKeyBlock && IsBlockedKeyCode( scan ) )
+                && iKeyPressed && iEnableKeyBlock && IsBlockedKeyCode(iSupportQuertyKey, scan ) )
                 {
                 blockEvent = ETrue;
                 }
@@ -764,7 +772,7 @@
             {
             TInt scan = aRawEvent.ScanCode() & 0xFFFF;
             if ( !NonBlockedKeyCode( scan ) && iKeyPressed != scan && 
-                 iEnableKeyBlock && IsBlockedKeyCode( scan ) )
+                 iEnableKeyBlock && IsBlockedKeyCode(iSupportQuertyKey, scan ) )
                 {
                 // If down event is not passed forward, then 
                 // repeat events are not passed either.
@@ -777,7 +785,7 @@
             {
             TInt scan = aRawEvent.ScanCode() & 0xFFFF;
             if ( !NonBlockedKeyCode( scan ) && iKeyPressed != scan && 
-                 iEnableKeyBlock && IsBlockedKeyCode( scan ) )
+                 iEnableKeyBlock && IsBlockedKeyCode(iSupportQuertyKey, scan ) )
                 {
                 // Do not need to block key-up events - there's not a problem 
                 // if there's an unexpected key-up events delivery to an app
--- a/uifw/AvKon/bwins/AKNNOTIFYU.DEF	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/bwins/AKNNOTIFYU.DEF	Mon Aug 23 15:39:03 2010 +0100
@@ -124,3 +124,5 @@
 	?ShowListMsgQueryL@CAknGlobalListMsgQuery@@QAEXPBVMDesC16Array@@AAVTRequestStatus@@ABVTDesC16@@2HHHH2HHW4TTone@CAknQueryDialog@@@Z @ 123 NONAME ; void CAknGlobalListMsgQuery::ShowListMsgQueryL(class MDesC16Array const *, class TRequestStatus &, class TDesC16 const &, class TDesC16 const &, int, int, int, int, class TDesC16 const &, int, int, enum CAknQueryDialog::TTone)
 	?AknTracePrint@@YAXPBDZZ @ 124 NONAME ; void AknTracePrint(const char* aFmt, ...)
 	?AknTracePrint@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 125 NONAME ; void AknTracePrint(TRefByValue<const TDesC16> aFmt, ...)
+	?SetUmaStateL@CAknSignalNotify@@QAEXH@Z @ 126 NONAME ; void CAknSignalNotify::SetUmaStateL(int)
+
--- a/uifw/AvKon/bwins/AVKONU.def	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/bwins/AVKONU.def	Mon Aug 23 15:39:03 2010 +0100
@@ -3469,4 +3469,5 @@
 	?IsSmiley@CAknSmileyManager@@QBEHVTChar@@@Z @ 3468 NONAME ; int CAknSmileyManager::IsSmiley(class TChar) const
 	?ProcessCommandL@CAknRadioButtonSettingPage@@MAEXH@Z @ 3469 NONAME ; void CAknRadioButtonSettingPage::ProcessCommandL(int)
 	?ProcessCommandL@CAknPopupSettingPage@@MAEXH@Z @ 3470 NONAME ; void CAknPopupSettingPage::ProcessCommandL(int)
+	?ShowUmaIconL@CAknSignalPane@@QAEXH@Z @ 3471 NONAME ; void CAknSignalPane::ShowUmaIconL(int)
 
Binary file uifw/AvKon/conf/s60/avkon_101F876E.crml has changed
--- a/uifw/AvKon/group/Iconlist.txt	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/group/Iconlist.txt	Mon Aug 23 15:39:03 2010 +0100
@@ -838,3 +838,10 @@
 /1,8 qgn_stat_hdmi_connect.svg
 
 /1,8 qgn_stat_joint_im_uni.svg
+
+/c8,8 qgn_indi_signal_uma_attach.svg
+/c8,8 qgn_indi_signal_uma_context.svg
+/c8,8 qgn_indi_signal_uma_icon.svg
+/c8,8 qgn_indi_signal_uma_multipdp.svg
+/c8,8 qgn_indi_signal_uma_noservice.svg
+/c8,8 qgn_indi_signal_uma_suspended.svg
--- a/uifw/AvKon/group/avkon.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/group/avkon.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -286,10 +286,10 @@
 SOURCE          akncombinedpane.cpp
 
 LIBRARY         FontProvider.lib
-LIBRARY         FontUtils.lib
+LIBRARY         fontutils.lib
 
-LIBRARY         EUSER.LIB
-LIBRARY         EIKCORE.LIB
+LIBRARY         euser.lib
+LIBRARY         eikcore.lib
 LIBRARY         cone.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         eikctl.lib
@@ -297,12 +297,12 @@
 LIBRARY         bafl.lib
 LIBRARY         gdi.lib
 LIBRARY         fbscli.lib
-LIBRARY         APGRFX.LIB
+LIBRARY         apgrfx.lib
 LIBRARY         ws32.lib
 LIBRARY         eikdlg.lib
 LIBRARY         bitgdi.lib
 LIBRARY         etext.lib
-LIBRARY         BMPANIM.LIB
+LIBRARY         bmpanim.lib
 LIBRARY         fepbase.lib
 LIBRARY         form.lib
 LIBRARY         estor.lib
@@ -310,28 +310,28 @@
 LIBRARY         phoneclient.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib // Global Note
-LIBRARY         INSOCK.LIB // For IP address copying in CAknIpFieldSettingPage
+LIBRARY         insock.lib // For IP address copying in CAknIpFieldSettingPage
 LIBRARY         efsrv.lib
 LIBRARY         eiksrvc.lib
-LIBRARY         AknSkins.lib // Skins support
+LIBRARY         aknskins.lib // Skins support
 LIBRARY         linebreak.lib
-LIBRARY         FeatMgr.lib
-LIBRARY         NumberConversion.lib
-LIBRARY         findutil.lib
+LIBRARY         featmgr.lib
+LIBRARY         numberconversion.lib
+LIBRARY         FindUtil.lib
 LIBRARY         aknpictograph.lib
 LIBRARY         CdlEngine.lib
-LIBRARY         AknIcon.lib
-LIBRARY         ECom.lib
+LIBRARY         aknicon.lib
+LIBRARY         ecom.lib
 LIBRARY         oommonitor.lib
 LIBRARY         akncapserverclient.lib
-LIBRARY         Apmime.lib
+LIBRARY         apmime.lib
 LIBRARY         servicehandler.lib
 LIBRARY         numbergrouping.lib
-LIBRARY         AknLayout2.lib
+LIBRARY         aknlayout2.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         centralrepository.lib
 LIBRARY         cenrepnotifhandler.lib
-LIBRARY         PtiEngine.lib
+LIBRARY         ptiengine.lib
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 LIBRARY         aknlistloadertfx.lib
 #endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -344,7 +344,7 @@
 LIBRARY         tacticon.lib
 LIBRARY         viewcli.lib
 LIBRARY         aknphysics.lib
-LIBRARY         HWRMLightClient.lib
+LIBRARY         hwrmlightclient.lib
 LIBRARY         aiwdialdata.lib
 
 DEFFILE AVKON.def
--- a/uifw/AvKon/group/bld.inf	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/group/bld.inf	Mon Aug 23 15:39:03 2010 +0100
@@ -64,18 +64,24 @@
 ../srcdata/AvkonSystemSounds/battery_low.wav		/epoc32/data/z/resource/avkonsystemsounds/battery_low.wav
 ../srcdata/AvkonSystemSounds/default_beep.wav		/epoc32/data/z/resource/avkonsystemsounds/default_beep.wav
 ../srcdata/AvkonSystemSounds/battery_dead.wav		/epoc32/data/z/resource/avkonsystemsounds/battery_dead.wav
+../srcdata/AvkonSystemSounds/confirmation.wav		/epoc32/data/z/resource/avkonsystemsounds/confirmation.wav
+../srcdata/AvkonSystemSounds/warning.wav		/epoc32/data/z/resource/avkonsystemsounds/warning.wav
 
 ../srcdata/AvkonSystemSounds/volume_min.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/volume_min.wav
 ../srcdata/AvkonSystemSounds/volume_max.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/volume_max.wav
 ../srcdata/AvkonSystemSounds/battery_low.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/battery_low.wav
 ../srcdata/AvkonSystemSounds/default_beep.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/default_beep.wav
 ../srcdata/AvkonSystemSounds/battery_dead.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/battery_dead.wav
+../srcdata/AvkonSystemSounds/confirmation.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/confirmation.wav
+../srcdata/AvkonSystemSounds/warning.wav		/epoc32/release/winscw/udeb/z/resource/avkonsystemsounds/warning.wav
 
 ../srcdata/AvkonSystemSounds/volume_min.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/volume_min.wav
 ../srcdata/AvkonSystemSounds/volume_max.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/volume_max.wav
 ../srcdata/AvkonSystemSounds/battery_low.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/battery_low.wav
 ../srcdata/AvkonSystemSounds/default_beep.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/default_beep.wav
 ../srcdata/AvkonSystemSounds/battery_dead.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/battery_dead.wav
+../srcdata/AvkonSystemSounds/confirmation.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/confirmation.wav
+../srcdata/AvkonSystemSounds/warning.wav		/epoc32/release/winscw/urel/z/resource/avkonsystemsounds/warning.wav
 
 
 PRJ_MMPFILES
Binary file uifw/AvKon/group/smiley.mif has changed
--- a/uifw/AvKon/inc/AknSmileyModel.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/inc/AknSmileyModel.h	Mon Aug 23 15:39:03 2010 +0100
@@ -177,8 +177,15 @@
 
     TChar SmileyCode(TInt aIndex, TInt aVariant=0) const;
     TChar SmileyCode(const CAknSmileyIcon* aSmileyIcon) const;
+
     void LoadStillImagesL(const TDesC& aText);
+    void PlayAnimationL(const TDesC& aText, TInt aRepeat=0, TInt aDelay=0);
+    void StopAnimation(const TDesC& aText);
+    
+private:
     void LoadStillImageL(TChar aChar);
+    void PlayAnimationL(TChar aChar, TInt aRepeat=0, TInt aDelay=0);
+    void StopAnimation(TChar aChar);
 
 private:
     const TDesC& Text(TInt aIndex, TInt aVariant=0) const;
--- a/uifw/AvKon/inc/AknTabGrpGraphics.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/inc/AknTabGrpGraphics.h	Mon Aug 23 15:39:03 2010 +0100
@@ -115,21 +115,6 @@
     */
     void SetTabGroupBackgroundParent( TRect aParent );
 
-#if 0 // not used
-    /**
-    * This method draws the tab background bitmap using SVG graphics.
-    * The tab combination is given as bitmap id which refers to old style
-    * tab bitmaps.
-    *
-    * @param  aAvkonBitmapId  Bitmap index (@see avkon.mbg).
-    *
-    * @return  Struct which contains both the bitmap and the mask.
-    *          Ownership is transferred to the caller.
-    */
-    CAknTabGroupGraphics::SAknTabGroupBackground CreateTabGroupBackgroundL(
-        TInt aAvkonBitmapId );
-        
-#endif
     /**
     * Draw modes of the tab background graphics.
     */ 
@@ -187,7 +172,7 @@
     * @param  aTabsHidden      Specifies where hidden tabs are drawn.
     * @param  aAnimation       Specifies the used animation.
     */
-    void DrawTabGroupBackgroundL(
+    void DrawTabGroupBackground(
         TTabDrawMode aTabDrawMode,
         TBool aLongTabs,
         TInt aNumberOfTabs,
@@ -195,7 +180,8 @@
         CBitmapContext* aGc,
         SAknTabGroupBackgroundLayout& aLayout,
         TTabsHidden aTabsHidden,
-        TTabAnimationType aAnimation = ENoAnimation ) const;
+        TTabAnimationType aAnimation = ENoAnimation,
+        TInt aHighlightTab = 0 ) const;
 
     /**
     * Draws narrow tab background from given parameters.
@@ -213,7 +199,7 @@
     *                          @c EFalse, then the layout is calculated
     *                          to the @c aLayout. 
     */
-    void DrawTabGroupNarrowBackgroundL(
+    void DrawTabGroupNarrowBackground(
         TTabDrawMode aTabDrawMode,
         TBool aLongTabs,
         TInt aNumberOfTabs,
@@ -337,70 +323,6 @@
     CAknTabGroupGraphics::SAknTabGroupBackgroundLayout
         ThreeLongTabNarrowBackground( TInt aActiveTab ) const;
 
-    /**
-    * Methods to draw normal tab backgrounds.
-    */
-    void DrawTwoTabBackground( TTabDrawMode aDrawMode,
-                               TInt aActiveTab,
-                               CBitmapContext* aGc,
-                               SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawThreeTabBackground( TTabDrawMode aDrawMode,
-                                 TInt aActiveTab,
-                                 CBitmapContext* aGc,
-                                 SAknTabGroupBackgroundLayout& aLayout,
-                                 TTabsHidden aTabsHidden,
-                                 TTabAnimationType aAnimation = ENoAnimation ) const;
-
-    void DrawFourTabBackground( TTabDrawMode aDrawMode,
-                                TInt aActiveTab,
-                                CBitmapContext* aGc,
-                                SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawTwoLongTabBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawThreeLongTabBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    /**
-    * Methods to draw narrow tab backgrounds.
-    */
-    void DrawTwoTabNarrowBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawThreeTabNarrowBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawFourTabNarrowBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawTwoLongTabNarrowBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
-
-    void DrawThreeLongTabNarrowBackground(
-        TTabDrawMode aDrawMode,
-        TInt aActiveTab,
-        CBitmapContext* aGc,
-        SAknTabGroupBackgroundLayout& aLayout ) const;
 
     /**
     * Draws single tab graphics for an active tab.
@@ -435,6 +357,21 @@
                          TBool aFaded = EFalse ) const;
     
     /**
+     * Draws single tab graphics for a Highlight tab.
+     * 
+     * @param  aDrawMode  Mode with which the background is drawn.
+     * @param  aLeft      Rectangle of the left part of the tab.
+     * @param  aMiddle    Rectangle of the middle part of the tab.
+     * @param  aRight     Rectangle of the right part of the tab.
+     * @param  aGc        Graphics context used in drawing.
+     */
+    void DrawHighlightTabL( TTabDrawMode aDrawMode,
+                            TRect aLeft,
+                            TRect aMiddle,
+                            TRect aRight,
+                            CBitmapContext* aGc ) const;
+    
+    /**
     * Draws single tab part graphics for a passive tab.
     * Used in drawing the hidden tab bits.
     * 
@@ -458,6 +395,73 @@
     * Helper method to get the narrow tab container rect.
     */
     TRect NarrowParentRect() const;
+    
+    /**
+    * Sets the layout for tab background according to specified parameters. 
+    * Used in DrawTabGroupBackground/DrawTabGroupNarrowBackground
+    * 
+    * @param  aLayout[in,out]  Tab group background layout used in drawing.
+    *                          If the @c aLayout's @c iUse parameter is
+    *                          @c EFalse, then the layout is calculated
+    *                          to the @c aLayout. 
+    * @param  aNumberOfTabs    Number of tabs visible in the tab group (not
+    *                          the total number of tabs in the tab group).
+    * @param  aLongTabs        Active tab number in relation to the first tab
+    *                          shown. This value can be from one to
+    *                          @c aNumberOfTabs.
+    * @param  aLongTabs        Specifies whether or not long tabs are used.
+    * @param  aIsNarrow        Specifies whether or not narrow tabs are used.
+    * @param  aAnimation       Specifies the used animation.
+    */
+    void CAknTabGroupGraphics::ReviseLayoutForTabBackground(
+            SAknTabGroupBackgroundLayout& aLayout,
+            TInt aNumberOfTabs,
+            TBool aLongTabs,
+            TInt aActiveTab,
+            TBool aIsNarrow,
+            TTabAnimationType aAnimation
+            ) const;
+    
+    /**
+    * Sets active tab flag for the layout. 
+    * Used in DrawTabGroupBackground/DrawTabGroupNarrowBackground
+    * 
+    * @param  aLayout[in,out]  Tab group background layout used in drawing.
+    *                          If the @c aLayout's @c iUse parameter is
+    *                          @c EFalse, then the layout is calculated
+    *                          to the @c aLayout. 
+    * @param  aActiveTab       Active tab number in relation to the first tab
+    *                          shown. This value can be from one to
+    *                          @c aNumberOfTabs.
+    */
+    void ReviseLayoutUseFlag(
+            SAknTabGroupBackgroundLayout& aLayout,
+            TInt aActiveTab
+            ) const;
+    
+    /**
+    * Processes the instructions and draw the tab background according to instructions.
+    * Instructions are created according to drawing sequence.
+    * Used in DrawTabGroupBackground/DrawTabGroupNarrowBackground
+    * 
+    * @param aInstructions      The instructions for drawing tabs.
+    * @param aNumOfIns          The number of instructions.
+    * @param aTabDrawMode       Mode with which the background is drawn.
+    * @param aLayout[in,out]    Tab group background layout used in drawing.
+    *                           If the @c aLayout's @c iUse parameter is
+    *                           @c EFalse, then the layout is calculated
+    *                           to the @c aLayout.       
+    * @param  aGc               Graphics context used in drawing the background.
+    * 
+    */
+    void ProcessDrawTabInstructions(
+            struct TTabInstruction *aInstructions,
+            TInt aNumOfIns,
+            TTabDrawMode aTabDrawMode,
+            SAknTabGroupBackgroundLayout& aLayout,
+            CBitmapContext* aGc
+            ) const;
+    
 
 private: // Member data.
 
--- a/uifw/AvKon/memorycardui/group/AknMemoryCardUi.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/memorycardui/group/AknMemoryCardUi.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -48,7 +48,7 @@
 
 LIBRARY         centralrepository.lib
 LIBRARY         aknnotify.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         platformenv.lib // PathInfo
 LIBRARY         efsrv.lib // TDriveUnit
 
--- a/uifw/AvKon/notifsrc/AknSignalNotify.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/notifsrc/AknSignalNotify.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -215,4 +215,17 @@
     StartOrUpdateL( pckg, resp );
     }
 
+// ---------------------------------------------------------------------------
+// CAknSignalNotify::SetUmaStateL
+// Sets an UMA icon to the signal pane.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CAknSignalNotify::SetUmaStateL(TInt aUmaState)
+    {
+    if (( aUmaState >= EAknSignalUmaIndicatorOff ) && 
+        ( aUmaState <= EAknSignalUmaIndicatorMultipdp ))
+        {
+        SetStateL( aUmaState );
+        }
+    }
 // End of File
--- a/uifw/AvKon/rom/avkon.iby	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/rom/avkon.iby	Mon Aug 23 15:39:03 2010 +0100
@@ -47,6 +47,8 @@
 data=ZRESOURCE\avkonsystemsounds\default_beep.wav RESOURCE_FILES_DIR\avkonsystemsounds\default_beep.wav
 data=ZRESOURCE\avkonsystemsounds\battery_dead.wav RESOURCE_FILES_DIR\avkonsystemsounds\battery_dead.wav
 data=ZRESOURCE\avkonsystemsounds\battery_low.wav  RESOURCE_FILES_DIR\avkonsystemsounds\battery_low.wav
+data=ZRESOURCE\avkonsystemsounds\confirmation.wav  RESOURCE_FILES_DIR\avkonsystemsounds\confirmation.wav
+data=ZRESOURCE\avkonsystemsounds\warning.wav  RESOURCE_FILES_DIR\avkonsystemsounds\warning.wav
 
 
 #include "aknglobalui.iby"
--- a/uifw/AvKon/src/AknAdaptiveSearchGrid.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknAdaptiveSearchGrid.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1241,7 +1241,12 @@
             }
         }
     _AKNTRACE_FUNC_EXIT;
-    }       
+    }     
+
+static CAknButton* GetButtonHelper( RPointerArray<CAknButton> &aButtonArray, TInt aIndex )
+    {
+    return ( aIndex < aButtonArray.Count() && aIndex >= 0 ) ? aButtonArray[aIndex] : NULL;
+    }
 
 // -----------------------------------------------------------------------------
 // CAknAdaptiveSearchGrid::UpdateVisibleButtonsL()
@@ -1274,8 +1279,11 @@
         CAknButton* tmpButton = NULL;    
         for( TInt i = 0; i < iButtonArray.Count(); i++ )
             {
-            tmpButton = static_cast<CAknButton*>( iButtonArray[i] );            
-            tmpButton->MakeVisible( EFalse );
+            tmpButton = GetButtonHelper( iButtonArray, i );
+            if ( NULL != tmpButton )
+                {
+                tmpButton->MakeVisible( EFalse );
+                }
             }
                 
         TInt tempTotalGridButtons = iTotalGridButtons - KCloseAndClearButtonCount;               
@@ -1283,7 +1291,12 @@
             {       
             for ( TInt i = 0; i < tempTotalGridButtons; i++ )
                 {
-                button = static_cast<CAknButton*>( iButtonArray[tempTotalGridButtons-i-1] );
+                button = GetButtonHelper( iButtonArray, tempTotalGridButtons-i-1 );
+                if ( NULL == button )
+                    {
+                    continue;
+                    }
+                
                 TInt charPosition = numOfChars-i-1-shift_Ind;
                 if ( charPosition >= 0 ) 
                     {
@@ -1299,7 +1312,7 @@
                         button->SetIconSize( iButtonIconSize );                                      
                         }
                     else
-                        {
+                        { 
                         if( bState->Icon() )
                             {
                             bState->SetIcon( NULL );          
@@ -1356,8 +1369,13 @@
                 TInt offset = tempTotalGridButtons - charsOnLastPage;   
                 
                 for ( TInt i = tempTotalGridButtons-1 ; i >= 0 ; --i )
-                    {
-                    button = static_cast<CAknButton*>(iButtonArray[i+shift_Ind]);
+                    {                  
+                    button = GetButtonHelper( iButtonArray, i+shift_Ind );
+                    if ( NULL == button )
+                        {
+                        continue;
+                        }
+                
                     if( i < offset )
                         {
                         button->MakeVisible( EFalse );                  
@@ -1414,8 +1432,13 @@
                 for ( TInt i = 0; i < numOfChars; i++ )
                     {
                     if ( ( i >= start) && (i < end) )
-                        {   
-                        button = static_cast<CAknButton*>(iButtonArray[i-start-shift_Ind]);
+                        {                      
+                        button = GetButtonHelper( iButtonArray, i-start-shift_Ind );
+                        if ( NULL == button )
+                            {
+                            continue;
+                            }
+                    
                         bState = button->State();               
                         if( ptr.Mid(i, 1) == KSpaceCharacter )
                             {  
@@ -1468,8 +1491,12 @@
                         }
                     for ( TInt i = tempTotalGridButtons; i < tempTotalGridButtons+iNumOfCols; i++ )
                         {
-                        button = static_cast<CAknButton*>(iButtonArray[i]);
-                        button->MakeVisible( EFalse );  
+                        button = GetButtonHelper( iButtonArray, i );
+                        if ( NULL != button )
+                            {
+                            button->MakeVisible( EFalse );  
+                            }
+                        
                         }           
                 }               
             }        
--- a/uifw/AvKon/src/AknAppUi.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknAppUi.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -77,6 +77,7 @@
 #include <PtiKeyMappings.h> 
 
 #include <akntoolbar.h>
+#include <akntoolbarextension.h>
 #include <eikdialg.h>
 
 #ifdef RD_SCALABLE_UI_V2
@@ -1815,12 +1816,18 @@
 
 EXPORT_C void CAknAppUi::PrepareToExit()
     {
-    // Hide application toolbar to prevent it from showing 
-    // after views are deleted    
+    //
+    // Hide application toolbar extension view (by toolbar extension)
+    //
     if ( CurrentFixedToolbar() )
         {
-        CurrentFixedToolbar()->SetToolbarVisibility( EFalse );   
+        CAknToolbarExtension* toolbarExt = CurrentFixedToolbar()->ToolbarExtension();
+        if ( toolbarExt && toolbarExt->IsShown() )
+            {
+            toolbarExt->SetShown( EFalse );
+            }
         }
+
     if( IsForeground() && Document() )
         {
         //only if focused, otherwise next app HandleForeground may never come.
--- a/uifw/AvKon/src/AknBitmapAnimation.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknBitmapAnimation.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -557,7 +557,7 @@
 LOCAL_C TInt WaitForUiEffect(TAny* aArg)
 	{
 	CAknBitmapAnimation* self = (CAknBitmapAnimation*)aArg;
-	self->StartAnimationL();
+	TRAP_IGNORE(self->StartAnimationL());
 	return EFalse;
 	}
 #endif
--- a/uifw/AvKon/src/AknCharMap.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknCharMap.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -396,7 +396,9 @@
         void SwitchEmotionVisibilityL();
         TBool NeedEmotionSwitchIcon() const;
         HBufC* ReadEmotionHBufCL();
-        void LoadEmotionTumbnails(const TDesC& aChars);
+        void LoadEmotionTumbnails(const TDesC& aText);
+        void PlayAnimationL(const TDesC& aText);
+        void StopAnimation(const TDesC& aText);
         void SetEmotionSize(const TSize& aSize);
         TBool IsEmotionChar(TChar aChar);
         TChar SwitchToSctChar();
@@ -438,6 +440,9 @@
         // Indicates whether menu sct is highlighted or not.
         TBool iMenuSctHighlighted;
         
+        // flag for focus status of char map dialog
+        TBool iCharMapFocusGained;
+        
     public: // for Emotion
         HBufC* iCharsSmiley;
         CSmileyModel* iSmileyModel;
@@ -1071,8 +1076,8 @@
         // start complex dynamic logic to locate title rect when emotion is unable
         TInt orientation = mirrored ? -1 : 1;
         TInt newLeft = titleRect.iTl.iX + orientation*rect.Width()/2;
-        TPoint titleTL( newLeft, titleRect.iTl.iY );
-        titleRect.SetRect( titleTL, titleRect.Size() );
+        TPoint titlePoint( newLeft, titleRect.iTl.iY );
+        titleRect.SetRect( titlePoint, titleRect.Size() );
         }
     AknLayoutUtils::LayoutLabel(iTitle, titleRect, textlayout.LayoutLine());
 
@@ -1496,11 +1501,24 @@
     return charsSmiley;
     }
 
-void CAknCharMapExtension::LoadEmotionTumbnails(const TDesC& aChars)
+void CAknCharMapExtension::LoadEmotionTumbnails(const TDesC& aText)
     {
     //If emotion tumbbails can't be load, 
     // no emotion tumbnail will be dispalyed.
-    TRAP_IGNORE( iSmileyModel->LoadStillImagesL(aChars) );
+    TRAP_IGNORE( iSmileyModel->LoadStillImagesL(aText) );
+    }
+
+const TInt KAnimationRepeat = 30;
+const TInt KAnimationDelay = 150*1000;
+
+void CAknCharMapExtension::PlayAnimationL(const TDesC& aText)
+    {
+    iSmileyModel->PlayAnimationL(aText, KAnimationRepeat, KAnimationDelay);
+    }
+
+void CAknCharMapExtension::StopAnimation(const TDesC& aText)
+    {
+    iSmileyModel->StopAnimation(aText);
     }
 
 void CAknCharMapExtension::SetEmotionSize(const TSize& aSize)
@@ -2100,10 +2118,6 @@
         iShowCasesRef = &iSpecialCharCases;
         iShowPagesRef = &iSpecialCharPages;
         
-        // default
-        iSpecialCharCase = EAknSCTLowerCase;
-        iChars = iCharsBufferLower;
-        
         if(iExtension->iCharsSmiley && iExtension->IsShowingEmotion())
             {
             iChars = iExtension->iCharsSmiley;
@@ -2128,6 +2142,11 @@
             {
             iChars = iExtension->iCharsQwerty;
             }
+        else
+            {
+            iSpecialCharCase = EAknSCTLowerCase;
+            iChars = iCharsBufferLower;
+            }
         }
 
     // calculate page count for all pages
@@ -2173,9 +2192,7 @@
         UpdateScrollIndicatorL();
         }
     
-    iExtension->LoadEmotionTumbnails(*iChars);
-    
-    SetSmileyAnimationActivityInCurrentPageL(ETrue);
+    Extension()->LoadEmotionTumbnails(*iChars);
     
     }
 
@@ -2364,7 +2381,14 @@
             {
             iExtension->iKeyBrdEvent = ETrue;
             iExtension->iHighlightVisible = ETrue;
-            iCursorPos = TPoint( 0, 0 );
+            if ( LengthOfRecentChar() == 0 && CurrentPage() == 1 )
+            	{
+                iCursorPos = TPoint( 0, 1 );
+            	}
+            else
+            	{
+                iCursorPos = TPoint( 0, 0 );
+            	}
             DrawCursor();
             return EKeyWasConsumed;
             }
@@ -2764,8 +2788,6 @@
         // Sets the character case because the buffer content may have changed.
         SetCharacterCaseL(iSpecialCharCase);
         
-        SetSmileyAnimationActivityInCurrentPageL(ETrue);
-        
         TInt cursorIndexAfterSwitch;
         if ( !iExtension->iKeyBrdEvent )
             {
@@ -2789,6 +2811,8 @@
         // the new first row is the top row on the page where the new focus is.
         TInt pageVolume = iMaxColumns * iExtension->iMaxVisibleRows;
         iFirstVisibleRow = (cursorIndexAfterSwitch / pageVolume * pageVolume) / iMaxColumns;
+        
+        SetSmileyAnimationActivityInCurrentPageL(ETrue);
 
         // the cursor positions are relative to current page
         TInt cursorIndexAfterSwitchInPage = cursorIndexAfterSwitch - (iMaxColumns * iFirstVisibleRow);
@@ -2863,11 +2887,13 @@
 
     else if(aType == KEikMessageFadeAllWindows) // focus gained // KEikMessageWindowsFadeChange
         {
+        Extension()->iCharMapFocusGained = ETrue;
         SetSmileyAnimationActivityInCurrentPageL(ETrue);
         }
     
     else if(aType == KAknMessageFocusLost) // focus lost
         {
+        Extension()->iCharMapFocusGained = EFalse;
         SetSmileyAnimationActivityInCurrentPageL(EFalse);
         
         if ( iExtension->iHighlightVisible )
@@ -3444,15 +3470,17 @@
 
     TPoint pos = iGridTopLeft;
     TSize size(iGridItemWidth*iMaxColumns+1, iGridItemHeight);
+    
+    // eliminate the overlap area between menu sct and the first menu item.
+    if ( Extension()->iMenuSct )
+        {
+        // provide a dirty fix for Menu SCT, since Layout data is not suitable for this
+        size = TSize( Rect().Width()- 1, iGridItemHeight - 1 );
+        }
     if(iIsMirrored)
         {
         pos.iX += iGridItemWidth - size.iWidth;
         }
-    // eliminate the overlap area between menu sct and the first menu item.
-    if ( Extension()->iMenuSct )
-        {
-        size.iHeight--;
-        }
 
     AknsDrawUtils::Background(skin, cc, this, aGc, TRect(pos,size));
 
@@ -4851,20 +4879,29 @@
         firstCellLayRect.LayoutRect(gridRect,
             AknLayoutScalable_Avkon::cell_graphic_popup_pane_cp2(0,0,0));
 
+        TAknLayoutRect rightCellLayRect;
+        rightCellLayRect.LayoutRect(gridRect,
+            AknLayoutScalable_Avkon::cell_graphic_popup_pane_cp2(0,1,0));
         TRect firstCellRect;
+
+        // Cell width.
+        iGridItemWidth =
+            rightCellLayRect.Rect().iTl.iX - firstCellLayRect.Rect().iTl.iX;
+        if (iGridItemWidth < 0)
+            {
+            iGridItemWidth = -iGridItemWidth;
+            }
+        
         if ( Extension()->iMenuSct )
             {
             firstCellRect = TRect( TPoint(0, 0),
-                 TSize( firstCellLayRect.Rect().Width(), Rect().Height() ) );
+                 TSize( iGridItemWidth, Rect().Height() ) );
             }
         else
             {
             firstCellRect = firstCellLayRect.Rect();
             }
 
-        TAknLayoutRect rightCellLayRect;
-        rightCellLayRect.LayoutRect(gridRect,
-            AknLayoutScalable_Avkon::cell_graphic_popup_pane_cp2(0,1,0));
 
         TInt firstVisibleIndex = iFirstVisibleRow * iMaxColumns;
         // Max columns.
@@ -4874,14 +4911,6 @@
         // Max visible rows.
         iExtension->iMaxVisibleRows = gridRect.Height() / firstCellRect.Height();
 
-        // Cell width.
-        iGridItemWidth =
-            rightCellLayRect.Rect().iTl.iX - firstCellLayRect.Rect().iTl.iX;
-        if (iGridItemWidth < 0)
-            {
-            iGridItemWidth = -iGridItemWidth;
-            }
-
         // Cell height.
         if ( Extension()->iMenuSct )
             {
@@ -5653,6 +5682,11 @@
         {
         resourceId = R_AVKON_MENU_SCT_ROW_DEFAULT_CONTENTS_CHINESE;
         }
+    else if (FeatureManager::FeatureSupported(KFeatureIdKorean))
+        {
+        // Added korea character support
+        resourceId = R_AVKON_MENU_SCT_ROW_DEFAULT_CONTENTS_KOREAN;
+        }
 
     CCoeEnv::Static()->CreateResourceReaderLC( reader, resourceId );
     ConstructFromResourceL( reader );
@@ -5853,7 +5887,7 @@
             }
         
         CAknCharMapHistory::THistoryFilter historyFilter;
-        if(iExtension->IsEmotionEnabled())
+        if(Extension()->IsEmotionEnabled())
             {
             historyFilter = CAknCharMapHistory::EHistoryFilterMixed;
             }
@@ -5886,21 +5920,32 @@
                 {
                 iShowCasesRef = &iSpecialCharCases;
                 iShowPagesRef = &iSpecialCharPages;
-                iChars = iCharsBufferLower;
+
                 if (iCharsBufferUpper && iSpecialCharCase==EAknSCTUpperCase)
+                    {
                     iChars = iCharsBufferUpper;
+                    }
                 else if (iCharsBufferNumeric && iSpecialCharCase==EAknSCTNumeric)
+                    {
                     iChars = iCharsBufferNumeric;
+                    }
                 else if (iCharsBufferFull && iSpecialCharCase==EAknSCTFullCase)
+                    {
                     iChars = iCharsBufferFull;
+                    }
                 else if (iCharsBufferHalf && iSpecialCharCase==EAknSCTHalfCase)
+                    {
                     iChars = iCharsBufferHalf;
+                    }
                 else if (iExtension->iCharsQwerty && iSpecialCharCase==EAknSCTQwerty)
+                    {
                     iChars = iExtension->iCharsQwerty;
-
-                if(iChars == iCharsBufferLower)
+                    }
+                else
                     {
+                    // default
                     iSpecialCharCase = EAknSCTLowerCase;
+                    iChars = iCharsBufferLower;
                     }
                 }
             // mark that iChars doesn't point to HBufC
@@ -5957,7 +6002,10 @@
         iExtension->iFlags |= EAknCharMapCharsAllocated; // mark that iChars points to HBufC
         }
     
-    iExtension->LoadEmotionTumbnails(*iChars);
+    Extension()->LoadEmotionTumbnails(*iChars);
+    
+    // control will never get focus event while it is in EditMenu mode
+    Extension()->iCharMapFocusGained = ETrue;
 
     // The "PlayAnimationL" in "SetSmileyAnimationActivityInCurrentPageL"
     // will leave. If we ignore it, just no animation is played.
@@ -6214,9 +6262,15 @@
 
 TBool CAknCharMap::IsJapaneseSctUi() const
     {
+    //Japanese feature for SCT will not be supported since TB9.2 PS2,
+    //so it always return EFalse.
     return EFalse;
     }
 
+TBool CAknCharMap::IsKoreanSctUi() const
+    {
+    return FeatureManager::FeatureSupported( KFeatureIdKorean );
+    }
 // -----------------------------------------------------------------------------
 // CAknCharMap::TitleWithSelectingSpecialChar()
 // Return the title string with the selecting special characters
@@ -6708,37 +6762,22 @@
         }
     }
 
-const TInt KAnimationRepeat = 30;
-const TInt KAnimationDelay = 1000*1000;
-
 void CAknCharMap::SetSmileyAnimationActivityInCurrentPageL(TBool aIsActive)
     {
-    TInt begin = iFirstVisibleRow * iMaxColumns;
-    TInt end = iExtension->iMaxVisibleRows * iMaxColumns + begin;
-    if( end > iChars->Length() ) 
-        {
-        end = iChars->Length();
-        }
-
-    for( TInt i(begin); i<end; i++ )
-        {
-        TChar code = (*iChars)[i];
-        CAknSmileyIcon* icon = iExtension->EmotionIcon(code);
-        if( !icon ) 
-            {
-            continue;
-            }
-
-        if( ( aIsActive ) && 
-           ( Extension()->IsShowingEmotion() || Extension()->iMenuSctHighlighted) 
-           )
-            {
-            icon->PlayAnimationL( KAnimationRepeat, KAnimationDelay );
-            }
-        else
-            {
-            icon->StopAnimation();
-            }
+    TInt pos = iFirstVisibleRow * iMaxColumns;
+    TInt maxLength = iChars->Length() - pos;
+    TInt length = iExtension->iMaxVisibleRows * iMaxColumns;
+    if(length > maxLength) length = maxLength;
+
+    const TPtrC textInCurrentPage = iChars->Mid(pos, length);
+    
+    if(Extension()->iCharMapFocusGained && aIsActive)
+        {
+        Extension()->PlayAnimationL(textInCurrentPage);
+        }
+    else
+        {
+        Extension()->StopAnimation(textInCurrentPage);
         }
     }
 
--- a/uifw/AvKon/src/AknIncallStatusBubble.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknIncallStatusBubble.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -938,7 +938,9 @@
         AknLayoutScalable_Apps::call_type_pane( isLandscape ) );
     TRect callTypeIndicationRect( callTypeIndicationLayoutRect.Rect() );
     
-    TBool hideTypeIndication = isLandscape && !AknStatuspaneUtils::HDLayoutActive();
+    TBool hideTypeIndication = isLandscape 
+            && !AknStatuspaneUtils::HDLayoutActive() 
+            && !AknStatuspaneUtils::FlatLayoutActive();
     	
     if ( iFlags & ESBVideo )
         {
--- a/uifw/AvKon/src/AknListBoxSettingPage.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknListBoxSettingPage.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -183,15 +183,17 @@
         {   
         TKeyEvent event;
         event.iCode = EKeyOK;      
+        
         // restore highlight with simulated key event
-        TKeyResponse response = 
-            ListBoxControl()->OfferKeyEventL( event, EEventKey );        
-        
-        if ( response == EKeyWasConsumed )
-            {
-            highLightEnabled = ETrue;
-            }
-        }    
+        TRAP_IGNORE
+		    (
+            TKeyResponse response = ListBoxControl()->OfferKeyEventL( event, EEventKey );
+            if ( response == EKeyWasConsumed )
+                {
+                highLightEnabled = ETrue;
+                }
+            );
+        }
     return highLightEnabled;
     }
 
--- a/uifw/AvKon/src/AknPhoneNumberEditor.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknPhoneNumberEditor.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -375,7 +375,7 @@
         }
     if ( cousorChanged )
     	{
-        ReportAknEdStateEventL( MAknEdStateObserver::EAknCursorPositionChanged );
+        ReportAknEdStateEvent( MAknEdStateObserver::EAknCursorPositionChanged );
     	}
     // see if we want to remember the old cursor X position
     if ( targetPosUsed )
@@ -421,7 +421,7 @@
         }    
     if ( ! IsFocused() )
         {
-        TRAP_IGNORE( ReportAknEdStateEventL( MAknEdStateObserver::EAknSyncEdwinState ) );
+        ReportAknEdStateEvent( MAknEdStateObserver::EAknSyncEdwinState );
         }
     if ( aDrawNow )
         DrawNow();
@@ -500,7 +500,7 @@
     {
     iModel->SetRealCursorPosition(aCursorPos);
     iModel->SetAnchorPosition( aAnchorPos );
-    ReportAknEdStateEventL( 
+    ReportAknEdStateEvent( 
             MAknEdStateObserver::EAknCursorPositionChanged );
     }
 
@@ -510,7 +510,7 @@
     iModel->SetRealCursorPosition( aCursorPos );
     if ( aSelect )
         iModel->SetAnchorPosition( anchor );
-    ReportAknEdStateEventL( 
+    ReportAknEdStateEvent( 
         MAknEdStateObserver::EAknCursorPositionChanged );
     }
 
@@ -644,7 +644,7 @@
     iModel->SetRealCursorPosition( iModel->Uncompensate( aCursorSelection.iCursorPos ) );
     iModel->SetAnchorPosition( iModel->Uncompensate( aCursorSelection.iAnchorPos  ) );
     
-    ReportAknEdStateEventL( 
+    ReportAknEdStateEvent( 
             MAknEdStateObserver::EAknCursorPositionChanged );
     DrawNow();
     }
@@ -1126,6 +1126,19 @@
 //
 EXPORT_C void CAknPhoneNumberEditor::CcpuPasteL()
     {
+    // When we paste the buffer to phone number editor, we must get the buffer from clipboard first 
+    // and then insert buffer to phone number editor. As the main job of CcpuCanPaste() is getting and 
+    // checking the buffer in clipboard, so we must call CcpuCanPaste() first.
+    // If iExtension->iPasteText is not NULL, it means CcpuCanPaste() has been called before and the 
+    // buffer in clipboard is valid. No need to call it once again. 
+    if ( !iExtension->iPasteText )
+        {
+        // If the return value of CcpuCanPaste is EFalse, iExtension->iPasteText must be NULL,
+        // else if the return value of CcpuCanPaste is ETure, iExtension->iPasteText must not be NULL.
+        // So we don't need to check if the return value is ETure or EFalse, 
+        // we will check iExtension->iPasteText instead of that.
+        CcpuCanPaste();
+        }
     if ( iExtension->iPasteText )
         {
         iModel->Paste( iExtension->iPasteText->Des() );
@@ -1253,8 +1266,8 @@
     TUint cap = iExtension->iExtendedInputCapabilities->Capabilities();
     cap &= ~CAknExtendedInputCapabilities::EInputEditorDisableVKB;
     iExtension->iExtendedInputCapabilities->SetCapabilities( cap );
-    TRAP_IGNORE( ReportAknEdStateEventL( 
-    		     MAknEdStateObserver::EAknActivatePenInputRequest ) );
+    ReportAknEdStateEvent( 
+    		     MAknEdStateObserver::EAknActivatePenInputRequest );
     }
 
 // --------------------------------------------------------------------------
@@ -1266,14 +1279,14 @@
     TUint cap = iExtension->iExtendedInputCapabilities->Capabilities();
     cap |= CAknExtendedInputCapabilities::EInputEditorDisableVKB;
     iExtension->iExtendedInputCapabilities->SetCapabilities( cap );
-    ReportAknEdStateEventL( MAknEdStateObserver::EAknClosePenInputRequest );
+    ReportAknEdStateEvent( MAknEdStateObserver::EAknClosePenInputRequest );
     }
 
 // --------------------------------------------------------------------------
 // CAknPhoneNumberEditor::ReportAknEdStateEventL
 // --------------------------------------------------------------------------
 //
-void CAknPhoneNumberEditor::ReportAknEdStateEventL( 
+void CAknPhoneNumberEditor::ReportAknEdStateEvent( 
          MAknEdStateObserver::EAknEdwinStateEvent aStateEvent )
     {
     CAknEdwinState* edwinState = STATIC_CAST( CAknEdwinState*,State(KNullUid) );
--- a/uifw/AvKon/src/AknPopupField.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknPopupField.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -219,15 +219,15 @@
 void CAknPopupField::SetScrollBarSelectionL()
     {
     TInt selection = iValue->CurrentValueIndex();
+    //iOldItemIndex should be saved as original value.
+    if ( iExtension )
+        {
+        iExtension->iOldItemIndex = selection;
+        }
     if (IsInvalid()) selection = 0;
     __ASSERT_DEBUG(iSelectionList != NULL, Panic(EAknPanicPopupFieldSelectionListDoesntExist));
     iSelectionList->SetCurrentItemIndex(selection);
     iSelectionList->View()->SelectItemL(selection);
-
-    if ( iExtension )
-        {
-        iExtension->iOldItemIndex = iSelectionList->CurrentItemIndex();
-        }
     }
 
 
@@ -932,7 +932,7 @@
                 && iExtension && iExtension->iSingleClickEnabled )
             {
             // Edit mode to view while popup is open -> first cancel popup
-            AttemptExitL( EFalse );
+            TRAP_IGNORE(AttemptExitL( EFalse ));
             }
         else
             {
--- a/uifw/AvKon/src/AknPreviewPopUp.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknPreviewPopUp.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -30,10 +30,11 @@
 #include <aknview.h>
 #include <apgwgnam.h>
 #include <aknlayoutscalable_avkon.cdl.h>
-
+#include <akntransitionutils.h>
 #include <AknTasHook.h> // for testability hooks
 #include <touchfeedback.h>
 #include <gfxtranseffect/gfxtranseffect.h>
+#include <akntranseffect.h>
 #include <akntransitionutils.h>
 const TInt KWindowPosition = 1000;             // window's position
 
@@ -573,10 +574,16 @@
                     
                     if ( aPointerEvent.iType != TPointerEvent::EButton1Up )
                         {
+                        // popup will be hiden when EButton1Down comes.
                         MTouchFeedback* feedback = MTouchFeedback::Instance();
                         if ( feedback )
                             {
-                            feedback->InstantFeedback( ETouchFeedbackPopUp );
+                            TTouchLogicalFeedback feedbackType = ETouchFeedbackPopUp;
+                            if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) )
+                                {
+                                feedbackType = ETouchFeedbackOptionsMenuClosed;
+                                }
+                            feedback->InstantFeedback( feedbackType );
                             }        
                         iCloseMenu = ETrue; 
                         iController.HidePopUp(); 
@@ -600,13 +607,19 @@
                             }
                         else
                             {
+                            // popup will be hiden when EButton1Down comes.
+                            TTouchLogicalFeedback feedbackType = ETouchFeedbackPopUp;
+                            if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) )
+                                {
+                                feedbackType = ETouchFeedbackOptionsMenuClosed;
+                                }
                             feedback->InstantFeedback( this,
-                                                       ETouchFeedbackPopUp,
+                                                       feedbackType,
                                                        aPointerEvent );
                             }
                         }
                     iCloseMenu = ETrue;
-                    iController.HidePopUp();    
+                    iController.HidePopUp();
                     }          
                 }
                 
@@ -656,12 +669,27 @@
 // -----------------------------------------------------------------------------
 //
 TKeyResponse CAknPreviewPopUp::OfferKeyEventL( const TKeyEvent& /*aKeyEvent*/,
-                                               TEventCode /*aType*/ )
+                                               TEventCode aType )
     {
+    TKeyResponse ret ( EKeyWasNotConsumed );
+
     if ( !( iFlags & CAknPreviewPopUpController::EPermanentMode ) )
         {
-        iCloseMenu = ETrue; 
-        iController.HidePopUp();
+        if ( !( iFlags & CAknPreviewPopUpController::EConsumeKeys ) )
+            {
+            iCloseMenu = ETrue;
+            iController.HidePopUp();
+            }
+        else
+            {
+            if ( aType == EEventKey || aType == EEventKeyUp )
+                {
+                iCloseMenu = ETrue;
+                iController.HidePopUp();
+
+                ret = EKeyWasConsumed;
+                }
+            }
         }
 
     if ( CapturesPointer() )
@@ -669,7 +697,7 @@
         SetPointerCapture( EFalse );
         }
 
-    return EKeyWasNotConsumed;
+    return ret;
     }
     
 // -----------------------------------------------------------------------------
@@ -839,9 +867,9 @@
 // CAknPreviewPopUp::CleanLocalRef
 // -----------------------------------------------------------------------------
 //
-void CAknPreviewPopUp::CleanLocalRef( TAny* any )
+void CAknPreviewPopUp::CleanLocalRef( TAny* aParam )
     {
-    static_cast<CAknPreviewPopUp*>( any )->iIsDeleted = NULL;
+    static_cast<CAknPreviewPopUp*>( aParam )->iIsDeleted = NULL;
     }
 
 //  End of File  
--- a/uifw/AvKon/src/AknProgressDialog.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknProgressDialog.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -77,7 +77,7 @@
 	key.iCode=EKeyEscape;
 	key.iModifiers=0;
 	key.iScanCode = EStdKeyNull;
-	iAknProgressDialog->OfferKeyEventL(key, EEventKey);
+	TRAP_IGNORE(iAknProgressDialog->OfferKeyEventL(key, EEventKey));
 	}
 	
 CAknProgressDialog::CCancelWhileHidden::CCancelWhileHidden(CAknProgressDialog* aAknProgressDialog)
@@ -226,7 +226,7 @@
             MakeVisible(ETrue);
    			CCoeControl* cba = ButtonGroupContainer().ButtonGroup()->AsControl();
 			iEikonEnv->RemoveFromStack(cba);
-			__ASSERT_DEBUG_NO_LEAVE(iEikonEnv->EikAppUi()->AddToStackL(cba, ECoeStackPriorityCba, ECoeStackFlagRefusesFocus));	// Won't fail since we just removed it (and array will not reallocate)
+			TRAP_IGNORE(iEikonEnv->EikAppUi()->AddToStackL(cba, ECoeStackPriorityCba, ECoeStackFlagRefusesFocus));	// Won't fail since we just removed it (and array will not reallocate)
 			cba->DrawableWindow()->SetOrdinalPosition(0);
             cba->MakeVisible(ETrue);
             ReportUserActivity();
--- a/uifw/AvKon/src/AknQueryControl.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknQueryControl.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -79,7 +79,7 @@
 
 #include "akntrace.h"
 const TInt KPinCodeTacticonInterval = 30000000; // 30s
-const TInt KPinCodeMaxTacticons = 10;
+const TInt KPinCodeMaxTacticons = 5;
 /*******
  * CAknQueryControlExtension
  */
@@ -3072,8 +3072,11 @@
             DeactivateGc();
 
             // Draw the label after the background.
-            iPrompt->Line( i )->ActivateL(); // Never leaves
-            iPrompt->Line( i )->DrawNow();
+            TRAPD(err, iPrompt->Line( i )->ActivateL()); // Never leaves
+            if (err == KErrNone)
+                {
+                iPrompt->Line( i )->DrawNow();
+                }
             iPrompt->SetLineModified( i, EFalse );
             }
         }
@@ -3385,7 +3388,8 @@
 
 EXPORT_C void CAknQueryControl::HandlePointerEventL(const TPointerEvent& aPointerEvent) 
     { 
-    if ( iEditorFrame.Rect().Contains( aPointerEvent.iPosition ) )
+    if ( iHasEditor && iEditorFrame.Valid() 
+        && iEditorFrame.Rect().Contains( aPointerEvent.iPosition ) )
     	{
 		/*For the events happening inside editor frame's rect, query control will forward
 		the events to editors to handle.This is added to fix bug ESLM-85YFCH:Text editor is hard 
@@ -3788,7 +3792,8 @@
 
 EXPORT_C void CAknExtQueryControl::HandlePointerEventL(const TPointerEvent& aPointerEvent) 
     { 
-	if ( iEditorFrame.Rect().Contains( aPointerEvent.iPosition ) )
+	if ( iHasEditor && iEditorFrame.Valid() 
+	    && iEditorFrame.Rect().Contains( aPointerEvent.iPosition ) )
 		{
 		/*For the events happening inside editor frame's rect, query control will forward
 		the events to editors to handle.This is added to fix bug ESLM-85YFCH:Text editor is hard 
@@ -4074,8 +4079,11 @@
             DeactivateGc();
 
             // Draw the label after the background.
-            iPrompt->Line( i )->ActivateL(); // Never leaves
-            iPrompt->Line( i )->DrawNow();
+            TRAPD(err, iPrompt->Line( i )->ActivateL()); // Never leaves
+            if (err == KErrNone)
+                {
+                iPrompt->Line( i )->DrawNow();
+                }
             iPrompt->SetLineModified( i, EFalse );
             }
         }
--- a/uifw/AvKon/src/AknQueryDialog.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknQueryDialog.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -428,6 +428,9 @@
 
     CAknsFrameBackgroundControlContext* cc = (CAknsFrameBackgroundControlContext*)AknsDrawUtils::ControlContext( this );
     cc->SetCenter(KAknsIIDQsnFrPopupCenterQuery);
+    
+    // Check Query is wait of not.
+    TBool isWaitDialog( ( DialogFlags() & EEikDialogFlagWait ) != 0 );
 
     SetGloballyCapturing(ETrue); 
     TInt ret = CAknDialog::RunLD();
@@ -436,7 +439,12 @@
         {
         soundSystem->PopContext();
         }
-    SetGloballyCapturing(EFalse); 
+    // If wait QueryDialog, instance will be deleted right after RunLD via CBA
+    if ( !isWaitDialog )
+        {
+        SetGloballyCapturing(EFalse); 
+        }
+
     _AKNTRACE_FUNC_EXIT;
     return ret;
     }
--- a/uifw/AvKon/src/AknRadioButtonSettingPage.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknRadioButtonSettingPage.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -92,9 +92,10 @@
 
 CAknRadioButtonSettingPageExtension::CAknRadioButtonSettingPageExtension(
     CCoeControl& aOwner ) :
-    iOldFocusedItemIndex(-1), iIsDragged( EFalse ), 
-    iIsValidSelection( ETrue ),
-    iPenDownOnItem ( KErrNotFound )
+    iOldFocusedItemIndex( -1 ),
+    iIsDragged( EFalse ),
+    iPenDownOnItem ( KErrNotFound ),
+    iIsValidSelection( ETrue )
     {
     if ( static_cast<CAknAppUi*>(
             aOwner.ControlEnv()->AppUi() )->IsSingleClickCompatible() )
@@ -524,10 +525,16 @@
 EXPORT_C void CAknRadioButtonSettingPage::HandleResourceChange(TInt aType)
 	{
     if( aType == KAknsMessageSkinChange )
-    	{
-    	TRAP_IGNORE( InitialiseRadioButtonBitmapsL() );    	
-    	}
-	
+        {
+        TRAP_IGNORE( InitialiseRadioButtonBitmapsL() );    	
+        }
+    else if( aType == KEikMessageFadeAllWindows )
+        {
+        if ( iExtension )
+            {
+            iExtension->iIsValidSelection = EFalse;
+            }
+        }
 	CAknListBoxSettingPage::HandleResourceChange(aType);
 	}
 
--- a/uifw/AvKon/src/AknSctDialog.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSctDialog.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -434,10 +434,12 @@
     // to select multiple characters before.
     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
         {
-        // In Japanese UI, SCT isn't closed by pressing "Select" softkey,
+        // In Korean UI, SCT isn't closed by pressing "Select" softkey,
         // but SCT is closed by pressing "Back"(button id is EAknSoftkeyClose).
+        // Japanese feature for SCT will not be supported since TB9.2 PS2,
+        // so remove the code for Japanese SCT.
         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
-        if (charmapControl->IsJapaneseSctUi() &&
+        if ( charmapControl->IsKoreanSctUi() &&
             aButtonId != EAknSoftkeyExit &&
             handler->FocusedControl() == charmapControl)
             {
--- a/uifw/AvKon/src/AknServerApp.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknServerApp.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -21,6 +21,7 @@
 
 #include <avkon.hrh>
 #include <aknenv.h>
+#include <aknsgcc.h>
 #include "AknOpenFileServiceImpl.h"
 #include "AknNullServiceImpl.h"
 #include "AknLaunchAppServiceImpl.h"
@@ -38,6 +39,7 @@
 #endif
 	CEikonEnv* eikEnv = CEikonEnv::Static();
 	RWindowGroup& wg = eikEnv->RootWin();
+	CAknSgcClient::UseForegroundPriorityDuringRelinquish( ETrue );
     ConnectNewChildAppL(aAppUid, wg);
     }
 
@@ -50,6 +52,7 @@
 #ifdef AVKON_RDEBUG_INFO
     RDebug::Print(_L("RAknAppServiceBase::Close"));
 #endif
+    CAknSgcClient::UseForegroundPriorityDuringRelinquish( EFalse );
     REikAppServiceBase::Close();
     }
 
--- a/uifw/AvKon/src/AknSettingItemList.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSettingItemList.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -111,7 +111,7 @@
 // -------------------------------
 //
 
-NONSHARABLE_CLASS( CAknSettingItemExtension ) : CBase
+NONSHARABLE_CLASS( CAknSettingItemExtension ) : public CBase
     {
     public:
 
--- a/uifw/AvKon/src/AknSettingPage.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSettingPage.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -592,7 +592,7 @@
 
 	iEikonEnv->EikAppUi()->RemoveFromStack(this);
 
-    AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL );
+    TRAP_IGNORE(AknItemActionMenuRegister::SetOverridingMenuBarOwnerL( NULL ));
     
 	if (iMenuBar)
 		{
@@ -921,7 +921,8 @@
         iCba = CEikButtonGroupContainer::NewL( CEikButtonGroupContainer::ECba,
             CEikButtonGroupContainer::EHorizontal, 
             this, resourceId, *this, CEikButtonGroupContainer::EIsEmbedded | 
-            CEikButtonGroupContainer::EAddToStack );
+            CEikButtonGroupContainer::EAddToStack | 
+            CEikButtonGroupContainer::EAlwaysShown );
 	    }
 	
 	iExtension->CreateBackgroundContextL();
--- a/uifw/AvKon/src/AknSignalIcon.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSignalIcon.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -652,6 +652,62 @@
                                              KRgbGray );          
                 break;        
     
+            case EAknSignalUmaIndicatorOff:
+                // default icon
+                AknsUtils::CreateColorIconL(skin, KAknsIIDQgnPropSignalIcon,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_prop_signal_icon,
+                        EMbmAvkonQgn_prop_signal_icon_mask, KRgbGray );
+                break;
+
+            case EAknSignalUmaIndicatorAvailable:
+                AknsUtils::CreateColorIconL( skin,
+                        KAknsIIDQgnIndiSignalUmaIcon,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_indi_signal_uma_icon,
+                        EMbmAvkonQgn_indi_signal_uma_icon_mask,
+                        KRgbGray );                         
+                break;
+                
+            case EAknSignalUmaIndicatorAttached:
+            case EAknSignalUmaIndicatorEstablishingContext:
+                AknsUtils::CreateColorIconL(skin,
+                        KAknsIIDQgnIndiSignalUmaAttach,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_indi_signal_uma_attach,
+                        EMbmAvkonQgn_indi_signal_uma_attach_mask, KRgbGray );                  
+                break;
+                
+            case EAknSignalUmaIndicatorContext:
+                AknsUtils::CreateColorIconL(skin,
+                        KAknsIIDQgnIndiSignalUmaContext,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_indi_signal_uma_context,
+                        EMbmAvkonQgn_indi_signal_uma_context_mask, KRgbGray );                   
+                break;
+                
+            case EAknSignalUmaIndicatorSuspended:
+                AknsUtils::CreateColorIconL(skin,
+                        KAknsIIDQgnIndiSignalUmaSuspended,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_indi_signal_uma_suspended,
+                        EMbmAvkonQgn_indi_signal_uma_suspended_mask, KRgbGray );                                   
+                break;
+                
+            case EAknSignalUmaIndicatorMultipdp:
+                AknsUtils::CreateColorIconL(skin,
+                        KAknsIIDQgnIndiSignalUmaMultipdp,
+                        KAknsIIDQsnIconColors, aIconColorIndex, bitmap, mask,
+                        AknIconUtils::AvkonIconFileName(),
+                        EMbmAvkonQgn_indi_signal_uma_multipdp,
+                        EMbmAvkonQgn_indi_signal_uma_multipdp_mask, KRgbGray );                      
+                        break;
+                        
             // Default in all situations
             default:
                 AknsUtils::CreateColorIconL( skin,
--- a/uifw/AvKon/src/AknSkinnableClock.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSkinnableClock.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -417,7 +417,7 @@
     homeTime.HomeTime();
     if (iFace)
         {
-        iFace->DrawTimeToBitmapL(rect, gc, homeTime);
+        TRAP_IGNORE(iFace->DrawTimeToBitmapL(rect, gc, homeTime));
         }
     }
 
--- a/uifw/AvKon/src/AknSkinnableClockFace.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSkinnableClockFace.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -90,11 +90,6 @@
     locale.Refresh();
     TDigitType digitType( locale.DigitType() );
 
-    if ( uiLanguage == ELangUrdu )
-        {
-        return EFalse;
-        }
-
     return ( AknTextUtils::DigitModeQuery() &&
              digitType != EDigitTypeDevanagari );
     }
--- a/uifw/AvKon/src/AknSmileyImage.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSmileyImage.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -234,15 +234,15 @@
     if(iImageSkinItemId.iMinor > 0)
         {
         MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-        TRAPD(err, AknsUtils::CreateColorIconL(skin, iImageSkinItemId, 
-                                               KAknsIIDQsnTextColors,EAknsCIQsnTextColorsCG19, 
-                                               iFrame,iFrameMask, 
-                                               smileyMifName, iImageMifPkgItemId,iImageMifPkgItemId, 
-                                               AKN_LAF_COLOR(215)));
+        TRAP_IGNORE(AknsUtils::CreateColorIconL(skin, iImageSkinItemId, 
+                                                KAknsIIDQsnTextColors,EAknsCIQsnTextColorsCG19, 
+                                                iFrame,iFrameMask, 
+                                                smileyMifName, iImageMifPkgItemId,iImageMifPkgItemId, 
+                                                AKN_LAF_COLOR(215)));
         }
     else
         {
-        TRAPD(err, AknIconUtils::CreateIconL(iFrame,iFrameMask,smileyMifName,iImageMifPkgItemId,iImageMifPkgItemId));
+        TRAP_IGNORE(AknIconUtils::CreateIconL(iFrame,iFrameMask,smileyMifName,iImageMifPkgItemId,iImageMifPkgItemId));
         }
     
     if(iIsAnimation) // the first frame of animation svg is blank without correct content
--- a/uifw/AvKon/src/AknSmileyModel.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSmileyModel.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1025,12 +1025,40 @@
         }
     }
 
+void CSmileyModel::PlayAnimationL(const TDesC& aText, TInt aRepeat, TInt aDelay)
+    {
+    for(TInt i(0); i<aText.Length(); i++)
+        {
+        PlayAnimationL(aText[i], aRepeat, aDelay);
+        }
+    }
+
+void CSmileyModel::StopAnimation(const TDesC& aText)
+    {
+    for(TInt i(0); i<aText.Length(); i++)
+        {
+        StopAnimation(aText[i]);
+        }
+    }
+
 void CSmileyModel::LoadStillImageL(TChar aChar)
     {
     CSmileyIcon* icon = static_cast<CSmileyIcon*>(Smiley(aChar));
     iSmileyLoader.AddTaskL(icon);
     }
 
+void CSmileyModel::PlayAnimationL(TChar aChar, TInt aRepeat, TInt aDelay)
+    {
+    CSmileyIcon* icon = static_cast<CSmileyIcon*>(Smiley(aChar));
+    if(icon) icon->PlayAnimationL(aRepeat, aDelay);
+    }
+
+void CSmileyModel::StopAnimation(TChar aChar)
+    {
+    CSmileyIcon* icon = static_cast<CSmileyIcon*>(Smiley(aChar));
+    if(icon) icon->StopAnimation();
+    }
+
 const TDesC& CSmileyModel::Text(TInt aIndex, TInt aVariant) const
     {
     CSmileyIcon* icon = static_cast<CSmileyIcon*>((*this)[aIndex]);
--- a/uifw/AvKon/src/AknSmileyUtils.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknSmileyUtils.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -50,9 +50,10 @@
     return FALSE;
     }
 
+const TSize KSize;
 const TSize& CAknSmileyIcon::Size() const
     {
-    return TSize();
+    return KSize;
     }
 
 void CAknSmileyIcon::PlayAnimationL(TInt /*aRepeat*/, TInt /*aDelay*/)
--- a/uifw/AvKon/src/AknTabGrpGraphics.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknTabGrpGraphics.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,6 +49,76 @@
 //const TUint8 KHiddenFadeBlackMap( 20 );
 //const TUint8 KHiddenFadeWhiteMap( 255 );
 
+
+/****************************** New functions for refactoring tab drawing logic ******************************/
+/**
+ * Specifies the structure of each drawing instruction
+ */
+struct TTabInstruction
+    {
+    // 1 - Active tab, 2 - Passive tab, 3 - HighLight tab, 4 - Bit tab right, 5 - Bit tab left.
+    TInt    iTabStyle;
+
+    // 1 - iFirstTab, 2 - iSecondTab, 3 - iThirdTab, 4 - iFourthTab, 5 - iHiddenTabLeft, 6 - iHiddenTabRight.
+    TInt    iLayoutIdx;
+    
+    // Rect for DrawPassiveTabBit.
+    TRect   iBitTabRect;
+    
+    // Fade for DrawPassiveTab.
+    TBool   iPassiveFade;
+    };
+
+/******************** Three help functions for setting struct TTabInstruction. *******************/
+/**
+ * Composes the instructions used for drawing passive bit tab.
+ * 
+ */
+void AssemblyPassiveTabBitInstruction( 
+    TTabInstruction& instruction,
+    TInt aTabStyle,
+    TRect &aRect )
+    {
+    instruction.iTabStyle = aTabStyle;
+    instruction.iBitTabRect = aRect;
+    }
+
+/**
+ * Composes the instructions used for drawing passive or highlight tab.
+ * 
+ */
+void AssemblyPassiveOrHighlightTabInstruction( 
+    TTabInstruction& instruction,
+    TInt aHighlightTab, 
+    TInt aLayoutIdx, 
+    TBool aFade )
+    {
+    if (aHighlightTab != 0 && aHighlightTab == aLayoutIdx)
+        {
+        //Highlight tab
+        instruction.iTabStyle = 3;
+        }
+    else
+        {
+        instruction.iTabStyle = 2;
+        }
+    instruction.iLayoutIdx = aLayoutIdx;
+    instruction.iPassiveFade = aFade;
+    }
+
+/**
+ * Composes the instructions for drawing active tab.
+ * 
+ */
+void AssemblyActiveTabInstruction(
+    TTabInstruction& instruction,
+    TInt aLayoutIdx )
+    {
+    instruction.iTabStyle = 1;
+    instruction.iLayoutIdx = aLayoutIdx;
+    }
+
+
 // ============================ MEMBER FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -117,217 +187,11 @@
     iTabGroupBackgroundParent = aParent;
     }
     
-#if 0
-
-CAknTabGroupGraphics::SAknTabGroupBackground CAknTabGroupGraphics::CreateTabGroupBackgroundL( TInt aAvkonBitmapId)
-    {
-    CAknTabGroupGraphics::SAknTabGroupBackground emptyTabGroupBackGround;
-
-    if ( !TabGroupBackgroundAvailable() )
-        {
-        return emptyTabGroupBackGround;
-        }
-
-    TBool longTabs    = EFalse;
-    TInt numberOfTabs = 0;
-    TInt activeTab    = 0;
-
-    switch ( aAvkonBitmapId )
-        {
-        case EMbmAvkonQgn_graf_tab_21:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 2;
-            activeTab    = 1;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_22:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 2;
-            activeTab    = 2;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_31:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 3;
-            activeTab    = 1;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_32:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 3;
-            activeTab    = 2;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_33:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 3;
-            activeTab    = 3;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_41:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 4;
-            activeTab    = 1;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_42:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 4;
-            activeTab    = 2;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_43:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 4;
-            activeTab    = 3;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_44:
-            {
-            longTabs     = EFalse;
-            numberOfTabs = 4;
-            activeTab    = 4;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_long_21:
-            {
-            longTabs     = ETrue;
-            numberOfTabs = 2;
-            activeTab    = 1;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_long_22:
-            {
-            longTabs     = ETrue;
-            numberOfTabs = 2;
-            activeTab    = 2;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_long_31:
-            {
-            longTabs     = ETrue;
-            numberOfTabs = 3;
-            activeTab    = 1;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_long_32:
-            {
-            longTabs     = ETrue;
-            numberOfTabs = 3;
-            activeTab    = 2;
-            break;
-            }
-        case EMbmAvkonQgn_graf_tab_long_33:
-            {
-            longTabs     = ETrue;
-            numberOfTabs = 3;
-            activeTab    = 3;
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-        
-    return CreateTabGroupBackgroundL( longTabs, numberOfTabs, activeTab );
-    }
-
-CAknTabGroupGraphics::SAknTabGroupBackground CAknTabGroupGraphics::CreateTabGroupBackgroundL(
-    TBool aLongTabs, TInt aNumberOfTabs, TInt aActiveTab )
-    {
-    CAknTabGroupGraphics::SAknTabGroupBackground       tabGroupBackGround;
-    CAknTabGroupGraphics::SAknTabGroupBackgroundLayout tabGroupBackGroundLayout;
-
-    AknIconConfig::TPreferredDisplayMode mode;
-    AknIconConfig::PreferredDisplayMode( mode,
-                                         AknIconConfig::EImageTypeOffscreen );
-
-    TDisplayMode bitmapDisplayMode = mode.iBitmapMode;
-    TDisplayMode maskDisplayMode   = EGray256;
-    TSize size( iTabGroupBackgroundParent.Size() );
-
-    // BITMAP
-    tabGroupBackGround.iBitmap = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( tabGroupBackGround.iBitmap );
-    User::LeaveIfError( tabGroupBackGround.iBitmap->Create( size, bitmapDisplayMode ) );
-    CFbsBitmapDevice* bitmapDevice = CFbsBitmapDevice::NewL( tabGroupBackGround.iBitmap );
-    CleanupStack::PushL( bitmapDevice );
-    CFbsBitGc* bitmapGc;
-    User::LeaveIfError( bitmapDevice->CreateContext( bitmapGc ) );
-
-    // Clear background first...
-    bitmapGc->SetBrushColor( KRgbBlack );
-    bitmapGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    bitmapGc->DrawRect( iTabGroupBackgroundParent );
-
-    bitmapGc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    DrawTabGroupBackgroundL( CAknTabGroupGraphics::ENormal,
-                             aLongTabs,
-                             aNumberOfTabs,
-                             aActiveTab,
-                             bitmapGc,
-                             tabGroupBackGroundLayout,
-                             ENone );
-    delete bitmapGc;
-
-    CleanupStack::Pop( 2, tabGroupBackGround.iBitmap );
-    delete bitmapDevice;
-    bitmapGc = NULL;
-    bitmapDevice = NULL;
-
-    // MASK
-    tabGroupBackGround.iMask = new (ELeave) CFbsBitmap();
-    CleanupStack::PushL( tabGroupBackGround.iMask );
-    User::LeaveIfError( tabGroupBackGround.iMask->Create( size, maskDisplayMode ) );
-    bitmapDevice = CFbsBitmapDevice::NewL( tabGroupBackGround.iMask );
-    CleanupStack::PushL( bitmapDevice );
-    User::LeaveIfError( bitmapDevice->CreateContext( bitmapGc ) );
-
-    // Clear background first...
-    bitmapGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
-    if ( maskDisplayMode == EGray256 )
-        {
-        bitmapGc->SetBrushColor( KRgbBlack );
-        }
-    else
-        {
-        bitmapGc->SetBrushColor( KRgbWhite );
-        }
-    bitmapGc->DrawRect( iTabGroupBackgroundParent );
-
-    bitmapGc->SetBrushStyle( CGraphicsContext::ENullBrush );
-    DrawTabGroupBackgroundL( CAknTabGroupGraphics::EMaskOnly,
-                             aLongTabs,
-                             aNumberOfTabs,
-                             aActiveTab,
-                             bitmapGc,
-                             tabGroupBackGroundLayout,
-                             ENone);
-    delete bitmapGc;
-
-    CleanupStack::Pop( 2, tabGroupBackGround.iMask );
-    delete bitmapDevice;
-
-    return tabGroupBackGround;
-    }
-    
-#endif
-
-
 // ---------------------------------------------------------------------------
 // Draws normal tab background from given parameters.
 // ---------------------------------------------------------------------------
 //
-void CAknTabGroupGraphics::DrawTabGroupBackgroundL(
+void CAknTabGroupGraphics::DrawTabGroupBackground(
     TTabDrawMode aTabDrawMode,
     TBool aLongTabs,
     TInt aNumberOfTabs,
@@ -335,91 +199,210 @@
     CBitmapContext* aGc,
     SAknTabGroupBackgroundLayout& aLayout,
     TTabsHidden aTabsHidden,
-    TTabAnimationType aAnimation ) const
+    TTabAnimationType aAnimation,
+    TInt aHighlightTab ) const
     {
-    switch ( aNumberOfTabs )
+    //Set the layout for tab background;
+    ReviseLayoutForTabBackground(aLayout, aNumberOfTabs, aLongTabs, aActiveTab, EFalse, aAnimation);
+    
+    TInt insCnt = 0;
+    TTabInstruction instruction[8];
+    
+    switch (aNumberOfTabs)
         {
         case 2:
             {
-            if ( aLongTabs )
+            if (aActiveTab == 1)
                 {
-                DrawTwoLongTabBackground( aTabDrawMode,
-                                          aActiveTab,
-                                          aGc,
-                                          aLayout );
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 1);
                 }
             else
                 {
-                DrawTwoTabBackground( aTabDrawMode,
-                                      aActiveTab,
-                                      aGc,
-                                      aLayout );
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 2);
                 }
+            }
             break;
-            }
         case 3:
             {
             if ( aLongTabs )
                 {
-                DrawThreeLongTabBackground( aTabDrawMode,
-                                            aActiveTab,
-                                            aGc,
-                                            aLayout );
+                if (aActiveTab == 1)
+                    {
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                    AssemblyActiveTabInstruction(instruction[insCnt++], 1);
+                    }
+                else if ( aActiveTab == 2)
+                    {
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                    AssemblyActiveTabInstruction(instruction[insCnt++], 2);
+                    }
+                else if ( aActiveTab == 3)
+                    {
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                    AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                    }
                 }
             else
                 {
-                DrawThreeTabBackground( aTabDrawMode,
-                                        aActiveTab,
-                                        aGc,
-                                        aLayout,
-                                        aTabsHidden,
-                                        aAnimation );
+                TInt xOffset(aLayout.iFirstTab.iRight.iBr.iX - aLayout.iSecondTab.iLeft.iTl.iX);
+                
+                if (aActiveTab == 1)
+                    {
+                    if (aTabsHidden == EOnRightSide)
+                        {
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 6, ETrue);
+                        }
+                    
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                    AssemblyActiveTabInstruction(instruction[insCnt++], 1);
+                    }
+                else if (aActiveTab == 2)
+                    {
+                    switch (aTabsHidden)
+                        {
+                        case EOnLeftSide:
+                            {
+                            TRect bitRect(aLayout.iHiddenTabLeft.iLeft);
+                            bitRect.Resize(xOffset, 0);
+                            AssemblyPassiveTabBitInstruction(instruction[insCnt++], 5, bitRect);
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 5,
+                                    aAnimation != ECycleToLeft ? ETrue : EFalse);
+                            }
+                            break;
+                        case EOnRightSide:
+                            {
+                            TRect bitRect(aLayout.iHiddenTabRight.iRight);
+                            bitRect.Move(-xOffset, 0);
+                            bitRect.Resize(xOffset, 0);
+                            AssemblyPassiveTabBitInstruction(instruction[insCnt++], 4, bitRect);
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 6,
+                                    aAnimation != ECycleToRight ? ETrue : EFalse);
+                            }
+                            break;
+                        case EOnBothSides:
+                            {
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 5,
+                                    aAnimation != ECycleToLeft ? ETrue : EFalse);
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 6,
+                                    aAnimation != ECycleToRight ? ETrue : EFalse);
+                            }
+                            break;
+                        case ETwoOnBothSides:
+                            {
+                            TRect bitRect(aLayout.iHiddenTabLeft.iLeft);
+                            bitRect.Resize(xOffset, 0);
+                            AssemblyPassiveTabBitInstruction(instruction[insCnt++], 5, bitRect);
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 5,
+                                    aAnimation != ECycleToLeft ? ETrue : EFalse);
+
+                            bitRect = aLayout.iHiddenTabRight.iRight;
+                            bitRect.Move(-xOffset, 0);
+                            bitRect.Resize(xOffset, 0);
+                            AssemblyPassiveTabBitInstruction(instruction[insCnt++], 4, bitRect);
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 6,
+                                    aAnimation != ECycleToRight ? ETrue : EFalse);
+                            }
+                            break;
+                        case ENone:
+                        default:
+                            break;
+                        }
+
+                    if (aAnimation == ECycleToLeft)
+                        {
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, ETrue);
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                        AssemblyActiveTabInstruction(instruction[insCnt++], 1);
+                        }
+                    else if ( aAnimation == ECycleToRight )
+                        {
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, ETrue);
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                        AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                        }
+                    else
+                        {
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                
+                        if (aAnimation)
+                            {
+                            AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                            }
+                        else
+                            {
+                            AssemblyActiveTabInstruction(instruction[insCnt++], 2);
+                            }
+                        }
+                    }
+                else if (aActiveTab == 3)
+                    {
+                    if (aTabsHidden == EOnLeftSide)
+                        {
+                        AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 5, ETrue);
+                        }
+                    
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                    AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                    AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                    }
                 }
+            }
             break;
-            }
         case 4:
             {
-            DrawFourTabBackground( aTabDrawMode,
-                                   aActiveTab,
-                                   aGc,
-                                   aLayout );
+            if (aActiveTab == 1)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 4, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 1);
+                }
+            else if ( aActiveTab == 2 )
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 4, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 2);
+                }
+            else if ( aActiveTab == 3 )
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 4, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                }
+            else if ( aActiveTab == 4 )
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 2, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], aHighlightTab, 3, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 4);
+                }
+            }
             break;
-            }
         default:
             {
 #ifdef AVKON_RDEBUG_ERROR
-            RDebug::Print( _L("CAknTabGroupGraphics: Unknown tab layout !") );
+            RDebug::Print( _L("CAknTabGroupGraphics: Unknown tab group background !") );
 #endif
+            break;
             }
         }
-
-    if ( !aLayout.iUse )
-        {
-        aLayout.iFirstTab.iActive  = EFalse;
-        aLayout.iSecondTab.iActive = EFalse;
-        aLayout.iThirdTab.iActive  = EFalse;
-        aLayout.iFourthTab.iActive = EFalse;
-
-        if ( aActiveTab == 1 )
-            {
-            aLayout.iFirstTab.iActive = ETrue;
-            }
-        else if ( aActiveTab == 2 )
-            {
-            aLayout.iSecondTab.iActive = ETrue;
-            }
-        else if ( aActiveTab == 3 )
-            {
-            aLayout.iThirdTab.iActive = ETrue;
-            }
-        else if ( aActiveTab == 4 )
-            {
-            aLayout.iFourthTab.iActive = ETrue;
-            }
-        }
+    
+    //Draw tab background according to instructions
+    ProcessDrawTabInstructions(instruction, insCnt, aTabDrawMode, aLayout, aGc);
+    
+    ReviseLayoutUseFlag(aLayout, aActiveTab);
     }
 
-void CAknTabGroupGraphics::DrawTabGroupNarrowBackgroundL(
+void CAknTabGroupGraphics::DrawTabGroupNarrowBackground(
     TTabDrawMode aTabDrawMode,
     TBool aLongTabs,
     TInt aNumberOfTabs,
@@ -427,111 +410,98 @@
     CBitmapContext* aGc,
     SAknTabGroupBackgroundLayout& aLayout ) const
     {
+    //Set the layout for tab background;
+    ReviseLayoutForTabBackground(aLayout, aNumberOfTabs, aLongTabs, aActiveTab, ETrue, ENoAnimation);
+    
+    TInt insCnt = 0;
+    TTabInstruction instruction[6];
+    
     switch ( aNumberOfTabs )
         {
         case 2:
             {
-            if ( aLongTabs )
-                {
-                if ( !aLayout.iUse )
-                    {
-                    aLayout = TwoLongTabNarrowBackground( aActiveTab );
-                    }
-                aLayout.iUse = ETrue;
-                DrawTwoLongTabNarrowBackground( aTabDrawMode,
-                                                aActiveTab,
-                                                aGc,
-                                                aLayout );
-                }
-            else
+            if (aActiveTab == 1)
                 {
-                if ( !aLayout.iUse )
-                    {
-                    aLayout = TwoTabNarrowBackground( aActiveTab );
-                    }
-                aLayout.iUse = ETrue;
-                DrawTwoTabNarrowBackground( aTabDrawMode,
-                                            aActiveTab,
-                                            aGc,
-                                            aLayout );
-                }
-            break;
-            }
-        case 3:
-            {
-            if ( aLongTabs )
-                {
-                if ( !aLayout.iUse )
-                    {
-                    aLayout = ThreeLongTabNarrowBackground( aActiveTab );
-                    }
-                aLayout.iUse = ETrue;
-                DrawThreeLongTabNarrowBackground( aTabDrawMode,
-                                                  aActiveTab,
-                                                  aGc,
-                                                  aLayout );
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 1);
                 }
             else
                 {
-                if ( !aLayout.iUse )
-                    {
-                    aLayout = ThreeTabNarrowBackground( aActiveTab );
-                    }
-                aLayout.iUse = ETrue;
-                DrawThreeTabNarrowBackground( aTabDrawMode,
-                                              aActiveTab,
-                                              aGc,
-                                              aLayout );
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 2);
+                }
+            }
+            break;
+        case 3:
+            {
+            if (aActiveTab == 1)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 3, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 1);
                 }
+            else if (aActiveTab == 2)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 3, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 2);
+                }
+            else if (aActiveTab == 3)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                }
+            }
             break;
-            }
         case 4:
             {
-            if ( !aLayout.iUse )
+            if (aActiveTab == 1)
                 {
-                aLayout = FourTabNarrowBackground( aActiveTab );
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 4, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 3, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 1);
+                }
+            else if (aActiveTab == 2)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 4, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 3, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 2);
                 }
-            aLayout.iUse = ETrue;
-            DrawFourTabNarrowBackground( aTabDrawMode,
-                                         aActiveTab,
-                                         aGc,
-                                         aLayout );
+            else if (aActiveTab == 3)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 4, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 3);
+                }
+            else if (aActiveTab == 4)
+                {
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 1, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 2, EFalse);
+                AssemblyPassiveOrHighlightTabInstruction(instruction[insCnt++], 0, 3, EFalse);
+                AssemblyActiveTabInstruction(instruction[insCnt++], 4);
+                }
+            }
             break;
-            }
         default:
             {
 #ifdef AVKON_RDEBUG_ERROR
-            RDebug::Print( _L("CAknTabGroupGraphics: Unknown tab layout !") );
+            RDebug::Print( _L("CAknTabGroupGraphics: Unknown tab narrow background !") );
 #endif
+            break;
             }
         }
-
-        if ( !aLayout.iUse )
-            {
-            aLayout.iFirstTab.iActive  = EFalse;
-            aLayout.iSecondTab.iActive = EFalse;
-            aLayout.iThirdTab.iActive  = EFalse;
-            aLayout.iFourthTab.iActive = EFalse;
-
-            if ( aActiveTab == 1 )
-                {
-                aLayout.iFirstTab.iActive = ETrue;
-                }
-            else if ( aActiveTab == 2 )
-                {
-                aLayout.iSecondTab.iActive = ETrue;
-                }
-            else if ( aActiveTab == 3 )
-                {
-                aLayout.iThirdTab.iActive = ETrue;
-                }
-            else if ( aActiveTab == 4 )
-                {
-                aLayout.iFourthTab.iActive = ETrue;
-                }
-            }
+    
+    //Draw tab background according to instructions
+    ProcessDrawTabInstructions(instruction, insCnt, aTabDrawMode, aLayout, aGc);
+    
+    ReviseLayoutUseFlag(aLayout, aActiveTab);
     }
 
+
 TBool CAknTabGroupGraphics::TabClickedL( TInt aTabComponent,
                                          const TRect& aTabRect,
                                          const TPoint& aPoint,
@@ -843,91 +813,6 @@
     return aLayout;
     }
 
-void CAknTabGroupGraphics::DrawTwoTabBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = TwoTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    }
-
-void CAknTabGroupGraphics::DrawTwoTabNarrowBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = TwoTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    }
-
-
 // ---------------------------------------------------------------------------
 // Extracts tab group background layout from layout data for three tab layout.
 // ---------------------------------------------------------------------------
@@ -1333,339 +1218,6 @@
     return aLayout;
     }
 
-
-// ---------------------------------------------------------------------------
-// Draws the tab group background in three tab layout.
-// ---------------------------------------------------------------------------
-//
-void CAknTabGroupGraphics::DrawThreeTabBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout,
-    TTabsHidden aTabsHidden,
-    TTabAnimationType aAnimation ) const
-    {
-    TInt animActiveTab( aActiveTab );
-    if ( aAnimation && aActiveTab == 2 )
-        {
-        // Move the tab highlight already during the animation.
-        animActiveTab = aAnimation == ECycleToLeft ? aActiveTab - 1 :
-                                                     aActiveTab + 1;
-        }
-
-    // If not given layout, then get the default layout.
-    if ( !aLayout.iUse )
-        {
-        aLayout = ThreeTabBackground( animActiveTab );
-        }
-
-    TInt xOffset( aLayout.iFirstTab.iRight.iBr.iX -
-                      aLayout.iSecondTab.iLeft.iTl.iX );
-    
-    if ( aActiveTab == 1 )
-        {
-        if ( aTabsHidden == EOnRightSide )
-            {
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iHiddenTabRight.iLeft,
-                            aLayout.iHiddenTabRight.iMiddle,
-                            aLayout.iHiddenTabRight.iRight,
-                            aGc,
-                            ETrue );
-            }
-
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2 )
-        {
-        switch ( aTabsHidden )
-            {
-            case EOnLeftSide:
-                {
-                TRect bitRect( aLayout.iHiddenTabLeft.iLeft );
-                bitRect.Resize( xOffset, 0 );
-                DrawPassiveTabBit( aTabDrawMode,
-                                   ERight,
-                                   bitRect,
-                                   aGc );
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabLeft.iLeft,
-                                aLayout.iHiddenTabLeft.iMiddle,
-                                aLayout.iHiddenTabLeft.iRight,
-                                aGc,
-                                aAnimation != ECycleToLeft ? ETrue : EFalse  );
-                break;
-                }
-            case EOnRightSide:
-                {
-                TRect bitRect( aLayout.iHiddenTabRight.iRight );
-                bitRect.Move( -xOffset, 0 );
-                bitRect.Resize( xOffset, 0 );
-                DrawPassiveTabBit( aTabDrawMode,
-                                   ELeft,
-                                   bitRect,
-                                   aGc );
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabRight.iLeft,
-                                aLayout.iHiddenTabRight.iMiddle,
-                                aLayout.iHiddenTabRight.iRight,
-                                aGc,
-                                aAnimation != ECycleToRight ? ETrue : EFalse  );
-                break;
-                }
-            case EOnBothSides:
-                {
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabLeft.iLeft,
-                                aLayout.iHiddenTabLeft.iMiddle,
-                                aLayout.iHiddenTabLeft.iRight,
-                                aGc,
-                                aAnimation != ECycleToLeft ? ETrue : EFalse  );
-
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabRight.iLeft,
-                                aLayout.iHiddenTabRight.iMiddle,
-                                aLayout.iHiddenTabRight.iRight,
-                                aGc,
-                                aAnimation != ECycleToRight ? ETrue : EFalse  );
-                break;
-                }
-            case ETwoOnBothSides:
-                {
-                TRect bitRect( aLayout.iHiddenTabLeft.iLeft );
-                bitRect.Resize( xOffset, 0 );
-                DrawPassiveTabBit( aTabDrawMode,
-                                   ERight,
-                                   bitRect,
-                                   aGc );
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabLeft.iLeft,
-                                aLayout.iHiddenTabLeft.iMiddle,
-                                aLayout.iHiddenTabLeft.iRight,
-                                aGc,
-                                aAnimation != ECycleToLeft ? ETrue : EFalse );
-
-                bitRect = aLayout.iHiddenTabRight.iRight;
-                bitRect.Move( -xOffset, 0 );
-                bitRect.Resize( xOffset, 0 );
-                DrawPassiveTabBit( aTabDrawMode,
-                                   ELeft,
-                                   bitRect,
-                                   aGc );
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iHiddenTabRight.iLeft,
-                                aLayout.iHiddenTabRight.iMiddle,
-                                aLayout.iHiddenTabRight.iRight,
-                                aGc,
-                                aAnimation != ECycleToRight ? ETrue : EFalse);
-                break;
-                }
-            case ENone:
-            default:
-                {
-                break;
-                }
-            }
-
-        if ( aAnimation == ECycleToLeft )
-            {
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iThirdTab.iLeft,
-                            aLayout.iThirdTab.iMiddle,
-                            aLayout.iThirdTab.iRight,
-                            aGc,
-                            ETrue );
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iSecondTab.iLeft,
-                            aLayout.iSecondTab.iMiddle,
-                            aLayout.iSecondTab.iRight,
-                            aGc );
-             DrawActiveTab( aTabDrawMode,
-                            aLayout.iFirstTab.iLeft,
-                            aLayout.iFirstTab.iMiddle,
-                            aLayout.iFirstTab.iRight,
-                            aGc );
-            }
-        else if ( aAnimation == ECycleToRight )
-            {
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iFirstTab.iLeft,
-                            aLayout.iFirstTab.iMiddle,
-                            aLayout.iFirstTab.iRight,
-                            aGc,
-                            ETrue );
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iSecondTab.iLeft,
-                            aLayout.iSecondTab.iMiddle,
-                            aLayout.iSecondTab.iRight,
-                            aGc );
-            DrawActiveTab( aTabDrawMode,
-                           aLayout.iThirdTab.iLeft,
-                           aLayout.iThirdTab.iMiddle,
-                           aLayout.iThirdTab.iRight,
-                           aGc );
-            }
-        else
-            {
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iFirstTab.iLeft,
-                            aLayout.iFirstTab.iMiddle,
-                            aLayout.iFirstTab.iRight,
-                            aGc );
-    
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iThirdTab.iLeft,
-                            aLayout.iThirdTab.iMiddle,
-                            aLayout.iThirdTab.iRight,
-                            aGc );
-    
-            if ( aAnimation )
-                {
-                DrawPassiveTab( aTabDrawMode,
-                                aLayout.iSecondTab.iLeft,
-                                aLayout.iSecondTab.iMiddle,
-                                aLayout.iSecondTab.iRight,
-                                aGc );
-                }
-            else
-                {
-                DrawActiveTab( aTabDrawMode,
-                               aLayout.iSecondTab.iLeft,
-                               aLayout.iSecondTab.iMiddle,
-                               aLayout.iSecondTab.iRight,
-                               aGc );
-                }
-            }
-        }
-    else if ( aActiveTab == 3 )
-        {
-        if ( aTabsHidden == EOnLeftSide )
-            {
-            DrawPassiveTab( aTabDrawMode,
-                            aLayout.iHiddenTabLeft.iLeft,
-                            aLayout.iHiddenTabLeft.iMiddle,
-                            aLayout.iHiddenTabLeft.iRight,
-                            aGc,
-                            ETrue  );
-            }
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// Draws the tab group background in three tab narrow layout.
-// ---------------------------------------------------------------------------
-//
-void CAknTabGroupGraphics::DrawThreeTabNarrowBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = ThreeTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 3 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    }
-
-
 CAknTabGroupGraphics::SAknTabGroupBackgroundLayout CAknTabGroupGraphics::FourTabBackground(
     TInt aActiveTab ) const
     {
@@ -2140,242 +1692,6 @@
     return aLayout;
     }
 
-void CAknTabGroupGraphics::DrawFourTabBackground( TTabDrawMode aTabDrawMode,
-                                                  TInt aActiveTab,
-                                                  CBitmapContext* aGc,
-                                                  SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = FourTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 3 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 4 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFourthTab.iLeft,
-                       aLayout.iFourthTab.iMiddle,
-                       aLayout.iFourthTab.iRight,
-                       aGc );
-        }
-    }
-
-void CAknTabGroupGraphics::DrawFourTabNarrowBackground( TTabDrawMode aTabDrawMode,
-                                                        TInt aActiveTab,
-                                                        CBitmapContext* aGc,
-                                                        SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = FourTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode, 
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 3 )
-        {
-        // Note the drawing order of passive tabs
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFourthTab.iLeft,
-                        aLayout.iFourthTab.iMiddle,
-                        aLayout.iFourthTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 4 )
-        {
-        // Note the drawing order of passive tabs
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFourthTab.iLeft,
-                       aLayout.iFourthTab.iMiddle,
-                       aLayout.iFourthTab.iRight,
-                       aGc );
-        }
-    }
-
 CAknTabGroupGraphics::SAknTabGroupBackgroundLayout CAknTabGroupGraphics::TwoLongTabBackground(TInt aActiveTab) const
     {
     SAknTabGroupBackgroundLayout aLayout;
@@ -2588,90 +1904,6 @@
     return aLayout;
     }
 
-void CAknTabGroupGraphics::DrawTwoLongTabBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = TwoLongTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft,
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    }
-
-void CAknTabGroupGraphics::DrawTwoLongTabNarrowBackground(
-    TTabDrawMode aTabDrawMode,
-    TInt aActiveTab,
-    CBitmapContext* aGc,
-    SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = TwoLongTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-                        
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iSecondTab.iLeft, 
-                       aLayout.iSecondTab.iMiddle,
-                       aLayout.iSecondTab.iRight,
-                       aGc );
-        }
-    }
-
 CAknTabGroupGraphics::SAknTabGroupBackgroundLayout CAknTabGroupGraphics::ThreeLongTabBackground(TInt aActiveTab) const
     {
     SAknTabGroupBackgroundLayout aLayout;
@@ -3040,140 +2272,6 @@
     return aLayout;
     }
 
-void CAknTabGroupGraphics::DrawThreeLongTabBackground( TTabDrawMode aTabDrawMode,
-                                                       TInt aActiveTab, CBitmapContext* aGc,
-                                                       SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = ThreeLongTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2)
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        }
-    else if ( aActiveTab == 3)
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    }
-
-void CAknTabGroupGraphics::DrawThreeLongTabNarrowBackground( TTabDrawMode aTabDrawMode,
-                                                             TInt aActiveTab,
-                                                             CBitmapContext* aGc,
-                                                             SAknTabGroupBackgroundLayout& aLayout ) const
-    {
-    // If not given layout, then get the default layout
-    if ( !aLayout.iUse )
-        {
-        aLayout = ThreeLongTabBackground( aActiveTab );
-        }
-
-    if ( aActiveTab == 1 )
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iFirstTab.iLeft,
-                       aLayout.iFirstTab.iMiddle,
-                       aLayout.iFirstTab.iRight,
-                       aGc );
-        }
-    else if ( aActiveTab == 2)
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iThirdTab.iLeft,
-                        aLayout.iThirdTab.iMiddle,
-                        aLayout.iThirdTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        }
-    else if ( aActiveTab == 3)
-        {
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iFirstTab.iLeft,
-                        aLayout.iFirstTab.iMiddle,
-                        aLayout.iFirstTab.iRight,
-                        aGc );
-        DrawPassiveTab( aTabDrawMode,
-                        aLayout.iSecondTab.iLeft,
-                        aLayout.iSecondTab.iMiddle,
-                        aLayout.iSecondTab.iRight,
-                        aGc );
-        DrawActiveTab( aTabDrawMode,
-                       aLayout.iThirdTab.iLeft,
-                       aLayout.iThirdTab.iMiddle,
-                       aLayout.iThirdTab.iRight,
-                       aGc );
-        }
-    }
-
-
 // ---------------------------------------------------------------------------
 // Draws single tab graphics for an active tab.
 // ---------------------------------------------------------------------------
@@ -3628,4 +2726,300 @@
     return iTabGroupBackgroundAvailable; // 3
     }
 
+void CAknTabGroupGraphics::DrawHighlightTabL(TTabDrawMode aDrawMode,
+        TRect aLeft, TRect aMiddle, TRect aRight, CBitmapContext* aGc) const
+    {
+    if ( aDrawMode == CAknTabGroupGraphics::ENoDraw )
+        {
+        return;
+        }
+
+    TRect rect( aLeft );
+    CFbsBitmap* activeColorBitmap = new (ELeave) CFbsBitmap();
+    CleanupStack::PushL( activeColorBitmap );
+
+    TDisplayMode screenDisplayMode( iPassiveTabLeft->DisplayMode() );
+    activeColorBitmap->Create( rect.Size(), screenDisplayMode );
+
+    TRgb color;
+    AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), color,
+            KAknsIIDQsnOtherColors, EAknsCIQsnOtherColorsCG25 );
+
+    CFbsBitmapDevice* destinationDevice = CFbsBitmapDevice::NewL( activeColorBitmap );
+    CleanupStack::PushL( destinationDevice );
+    CFbsBitGc* destinationGc;
+    User::LeaveIfError( destinationDevice->CreateContext( destinationGc ) );
+    destinationGc->SetPenColor( color );
+    destinationGc->SetPenStyle( CGraphicsContext::ESolidPen );
+    destinationGc->SetBrushColor( color );
+    destinationGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
+    destinationGc->DrawRect( TRect( activeColorBitmap->SizeInPixels() ) );
+
+    delete destinationGc;
+    CleanupStack::PopAndDestroy( destinationDevice );
+
+    aGc->BitBltMasked( rect.iTl, activeColorBitmap, 
+            TRect( 0, 0, rect.Width(), rect.Height() ), 
+            iPassiveTabLeftMask, ETrue );
+
+    CleanupStack::PopAndDestroy( activeColorBitmap );
+
+    /*********************************************************************/
+
+    rect = aMiddle;
+
+    CFbsBitmap* activeColorBitmapM = new (ELeave) CFbsBitmap();
+    CleanupStack::PushL( activeColorBitmapM );
+
+    activeColorBitmapM->Create( rect.Size(), screenDisplayMode );
+
+    destinationDevice = CFbsBitmapDevice::NewL( activeColorBitmapM );
+    CleanupStack::PushL( destinationDevice );
+    User::LeaveIfError( destinationDevice->CreateContext( destinationGc ) );
+    destinationGc->SetPenColor( color );
+    destinationGc->SetPenStyle( CGraphicsContext::ESolidPen );
+    destinationGc->SetBrushColor( color );
+    destinationGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
+    destinationGc->DrawRect( TRect( activeColorBitmapM->SizeInPixels() ) );
+
+    delete destinationGc;
+    CleanupStack::PopAndDestroy( destinationDevice );
+
+    aGc->BitBltMasked(rect.iTl, activeColorBitmapM, 
+            TRect(0, 0, rect.Width(), rect.Height() ), 
+            iPassiveTabMiddleMask, ETrue );
+    CleanupStack::PopAndDestroy( activeColorBitmapM );
+
+    /*********************************************************************/
+
+    rect = aRight;
+
+    CFbsBitmap* activeColorBitmapR = new (ELeave) CFbsBitmap();
+    CleanupStack::PushL( activeColorBitmapR );
+
+    activeColorBitmapR->Create( rect.Size(), screenDisplayMode );
+
+    destinationDevice = CFbsBitmapDevice::NewL( activeColorBitmapR );
+    CleanupStack::PushL( destinationDevice );
+    User::LeaveIfError( destinationDevice->CreateContext( destinationGc ) );
+    destinationGc->SetPenColor( color );
+    destinationGc->SetPenStyle( CGraphicsContext::ESolidPen );
+    destinationGc->SetBrushColor( color );
+    destinationGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
+    destinationGc->DrawRect( TRect( activeColorBitmapR->SizeInPixels() ) );
+
+    delete destinationGc;
+    CleanupStack::PopAndDestroy( destinationDevice );
+    aGc->BitBltMasked( rect.iTl, activeColorBitmapR, 
+        TRect(0, 0, rect.Width(), rect.Height() ), 
+        iPassiveTabRightMask, ETrue );
+
+    CleanupStack::PopAndDestroy( activeColorBitmapM );
+    }
+
+void CAknTabGroupGraphics::ReviseLayoutForTabBackground(
+    SAknTabGroupBackgroundLayout& aLayout,
+    TInt aNumberOfTabs,
+    TBool aLongTabs,
+    TInt aActiveTab,
+    TBool aIsNarrow,
+    TTabAnimationType aAnimation) const
+    {
+    if (aLayout.iUse)
+        {
+        // aLayout has been set, return directly.
+        return;
+        }
+    
+    if (aIsNarrow)
+        {
+        switch (aNumberOfTabs)
+            {
+            case 2:
+                {
+                aLayout = aLongTabs ? TwoLongTabNarrowBackground(aActiveTab) : TwoTabNarrowBackground(aActiveTab);
+                break;
+                }
+            case 3:
+                {
+                aLayout = aLongTabs ? ThreeLongTabNarrowBackground(aActiveTab) : ThreeTabNarrowBackground(aActiveTab);
+                break;
+                }
+            case 4:
+                {
+                aLayout = FourTabNarrowBackground(aActiveTab);
+                break;
+                }
+            default:
+                {
+#ifdef AVKON_RDEBUG_ERROR
+                RDebug::Print(_L("CAknTabGroupGraphics: Unknown narrow tab layout !"));
+#endif
+                }
+            }
+        aLayout.iUse = ETrue;
+        }
+    else
+        {
+        switch (aNumberOfTabs)
+            {
+            case 2:
+                {
+                aLayout = aLongTabs ? TwoLongTabBackground(aActiveTab) : TwoTabBackground(aActiveTab);
+                break;
+                }
+            case 3:
+                {
+                if (aLongTabs)
+                    {
+                    aLayout = ThreeLongTabBackground(aActiveTab);
+                    }
+                else
+                    {
+                    TInt animActiveTab = aActiveTab;
+                    if (aAnimation && aActiveTab == 2)
+                        {
+                        // Move the tab highlight already during the animation.
+                        animActiveTab = 
+                                aAnimation == ECycleToLeft ? aActiveTab - 1 : aActiveTab + 1;
+                        }
+                    aLayout = ThreeTabBackground(animActiveTab);
+                    }
+                break;
+                }
+            case 4:
+                {
+                aLayout = FourTabBackground(aActiveTab);
+                break;
+                }
+            default:
+                {
+#ifdef AVKON_RDEBUG_ERROR
+                RDebug::Print( _L("CAknTabGroupGraphics: Unknown tab layout !") );
+#endif
+                }
+            }
+        }
+    }
+
+void CAknTabGroupGraphics::ReviseLayoutUseFlag(
+    SAknTabGroupBackgroundLayout& aLayout,
+    TInt aActiveTab) const
+    {
+    if (!aLayout.iUse)
+        {
+        aLayout.iFirstTab.iActive  = EFalse;
+        aLayout.iSecondTab.iActive = EFalse;
+        aLayout.iThirdTab.iActive  = EFalse;
+        aLayout.iFourthTab.iActive = EFalse;
+
+        if (aActiveTab == 1)
+            {
+            aLayout.iFirstTab.iActive = ETrue;
+            }
+        else if (aActiveTab == 2)
+            {
+            aLayout.iSecondTab.iActive = ETrue;
+            }
+        else if (aActiveTab == 3)
+            {
+            aLayout.iThirdTab.iActive = ETrue;
+            }
+        else if (aActiveTab == 4)
+            {
+            aLayout.iFourthTab.iActive = ETrue;
+            }
+        }
+    }
+
+
+#define GET_TABLAYOUT_RECT(idx) do{ \
+        left = aLayout.idx.iLeft; \
+        middle = aLayout.idx.iMiddle; \
+        right = aLayout.idx.iRight; \
+}while (0)
+
+void CAknTabGroupGraphics::ProcessDrawTabInstructions(
+    TTabInstruction *aInstructions,
+    TInt aNumOfIns,
+    TTabDrawMode aTabDrawMode,
+    SAknTabGroupBackgroundLayout& aLayout,
+    CBitmapContext* aGc) const
+    {
+    if (aInstructions == NULL || aNumOfIns <= 0 || aGc == NULL)
+        {
+        return;
+        }
+    
+    for ( TInt i = 0; i < aNumOfIns; i++ )
+        {
+        if ( aInstructions[i].iTabStyle == 5 || aInstructions[i].iTabStyle == 6 )
+            {
+            // Draw passive tab bit.
+            DrawPassiveTabBit(aTabDrawMode, 
+                              aInstructions[i].iTabStyle == 5 ? ELeft : ERight, 
+                              aInstructions[i].iBitTabRect, 
+                              aGc);
+            }
+        else
+            {
+            TBool layoutValid = ETrue;
+            TRect left, middle, right;
+            switch (aInstructions[i].iLayoutIdx)
+                {
+                case 1: 
+                    {
+                    GET_TABLAYOUT_RECT(iFirstTab); 
+                    break;
+                    }
+                case 2: 
+                    {
+                    GET_TABLAYOUT_RECT(iSecondTab); 
+                    break;
+                    }
+                case 3: 
+                    {
+                    GET_TABLAYOUT_RECT(iThirdTab); 
+                    break;
+                    }
+                case 4: 
+                    {
+                    GET_TABLAYOUT_RECT(iFourthTab); 
+                    break;
+                    }
+                case 5: 
+                    {
+                    GET_TABLAYOUT_RECT(iHiddenTabLeft); 
+                    break;
+                    }
+                case 6: 
+                    {
+                    GET_TABLAYOUT_RECT(iHiddenTabRight); 
+                    break;
+                    }
+                default:
+                    {
+                    layoutValid = EFalse;
+                    }
+                }
+            
+            if (layoutValid)
+                {
+                if (aInstructions[i].iTabStyle == 1)
+                    {
+                    DrawActiveTab(aTabDrawMode, left, middle, right, aGc);
+                    }
+                else if (aInstructions[i].iTabStyle == 2)
+                    {
+                    DrawPassiveTab(aTabDrawMode, left, middle, right, aGc, aInstructions[i].iPassiveFade);
+                    }
+                else if (aInstructions[i].iTabStyle == 3)
+                    {
+                    TRAP_IGNORE( DrawHighlightTabL(aTabDrawMode, left, middle, right, aGc) );
+                    }
+                }
+            }
+        }
+    }
+
 // End of file
--- a/uifw/AvKon/src/AknViewAppUi.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknViewAppUi.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -261,11 +261,18 @@
 	if (iExtension && iExtension->iNavigator )
 	    RemoveFromStack( iExtension->iNavigator );
 #endif // RD_SPLIT_VIEW
-	
-	delete iClearer;
-	delete iShutter;
-	delete iActivationTick;
-	
+
+    // Hide application toolbar to prevent it from showing 
+    // after views are deleted
+    if ( CAknAppUi::CurrentFixedToolbar() )
+        {
+        CAknAppUi::CurrentFixedToolbar()->SetToolbarVisibility( EFalse );
+        }
+
+    delete iClearer;
+    delete iShutter;
+    delete iActivationTick;
+
 	if ( iActivationQueue )
 		{
 		iActivationQueue->ResetAndDestroy();
--- a/uifw/AvKon/src/AknVolumePopup.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/AknVolumePopup.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1449,7 +1449,7 @@
    
     if ( iVisible )
         {
-        SetVisibilityL( ETrue );
+        TRAP_IGNORE(SetVisibilityL( ETrue ));
         DrawDeferred();
         }
     }
@@ -1719,7 +1719,7 @@
 EXPORT_C void CAknVolumePopup::UseMutedIcon( TBool aFlag )
     {
     iExt->iUseMutedIcon = aFlag;
-    CreateSpeakerL();
+    TRAP_IGNORE(CreateSpeakerL());
     }
 
 // ---------------------------------------------------------------------------
--- a/uifw/AvKon/src/Aknslider.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/Aknslider.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -4190,7 +4190,8 @@
     if ( Layout() != EAknSettingsItemSliderLayout &&
          Layout() != EAknSettingsItemSliderLayoutWithGraphics  &&
          Layout() != EAknSliderLayoutVertical &&
-         Layout() != EAknSliderLayoutHorizontal ) 
+         Layout() != EAknSliderLayoutHorizontal &&
+         Layout() != EAknMIDPFormSliderLayout ) 
         {
         error = AknsUtils::GetCachedColor( skin, color,
                     KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG8 );
--- a/uifw/AvKon/src/aknchoicelist.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknchoicelist.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -295,9 +295,6 @@
             {
             TRAP_IGNORE( iList->ScrollBarFrame()->SetScrollBarVisibilityL(
                 CEikScrollBarFrame::EOff, CEikScrollBarFrame::EOff) );
-                
-            // Enable scrolling
-            iList->DisableScrolling( EFalse );   
             }
             
         layoutRect.LayoutRect( rectParent, 
@@ -531,13 +528,6 @@
         
         if ( AknLayoutUtils::PenEnabled() )
             {
-            
-            // Make sure that scrolling is enabled for choicelist
-            if ( iList->ScrollingDisabled() )
-                {
-                iList->DisableScrolling( EFalse );
-                }
-                    
             TRect ctrlArea = iList->Rect();
             
             if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
--- a/uifw/AvKon/src/akngrid.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/akngrid.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -109,11 +109,12 @@
 
     public: // data 
         TInt iFlags;
-        // EMMA-7A8B9F.Ugly hack. Prevent MopSupplyObject being invoked 
-        // from CEikListBox::MopGetObject()
+
+        // This is used to prevent MopSupplyObject being invoked 
+        // from CEikListBox::MopGetObject().
         TBool iIsFromBaseClass;
+
         TPoint iLastPoint;
-        TBool iKineticScrolling;
         TBool iSingleClickEnabled;
     };
 
@@ -122,7 +123,6 @@
     iFlags(0), 
     iIsFromBaseClass( EFalse ),
     iLastPoint( 0, 0 ), 
-    iKineticScrolling( CAknPhysics::FeatureEnabled() ),
     iSingleClickEnabled( iAvkonAppUi->IsSingleClickCompatible() )
     {
     }
@@ -1346,8 +1346,16 @@
 EXPORT_C void CAknGrid::HandleResourceChange(TInt aType)
     {
     _AKNTRACE_FUNC_ENTER;
-    // Need to do this to set up the scroll bar model
-    TRAP_IGNORE( UpdateScrollBarsL() );
+    if ( aType != KEikMessageWindowsFadeChange && 
+    	 aType != KEikMessageUnfadeWindows && 
+    	 aType != KEikMessageFadeAllWindows && 
+    	 aType != KEikMessageColorSchemeChange && 
+    	 aType != KAknsMessageSkinChange )
+    	{
+        // Need to do this to set up the scroll bar model
+        TRAP_IGNORE( UpdateScrollBarsL() );
+    	}
+    
     
     if (aType==KEikDynamicLayoutVariantSwitch)
         {
@@ -1401,9 +1409,17 @@
     TRAP_IGNORE( ItemDrawer()->FormattedCellData()->SetupSkinContextL());
     // Data extension has animations which will change when skin changes.
     ItemDrawer()->FormattedCellData()->HandleResourceChange( aType );
-
-    // Need to do this to set up the scroll bar model
-    TRAP_IGNORE( UpdateScrollBarsL() );
+    
+    if ( aType != KEikMessageWindowsFadeChange && 
+    	 aType != KEikMessageUnfadeWindows && 
+    	 aType != KEikMessageFadeAllWindows && 
+    	 aType != KEikMessageColorSchemeChange && 
+    	 aType != KAknsMessageSkinChange )
+        {
+        // Need to do this to set up the scroll bar model
+        TRAP_IGNORE( UpdateScrollBarsL() );
+        }
+    
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -1491,8 +1507,12 @@
         
         // and calculate new top item index
         TInt topItemIndex = newTopRow * iNumOfColsInView ;
-        iView->SetItemOffsetInPixels(0);
-        SetTopItemIndex(topItemIndex);
+        if ( topItemIndex > KErrNotFound 
+             && topItemIndex < iModel->NumberOfItems() )
+            {
+            iView->SetItemOffsetInPixels( 0 );
+            SetTopItemIndex( topItemIndex );
+            }
         }
     _AKNTRACE_FUNC_EXIT;
     }
@@ -1853,7 +1873,6 @@
         // EHXA-7AQ8N4. Only set it to 0 can make scrollbar empty.
         vSbarModel.iScrollSpan = GridModel()->NumberOfItems() >0 ? 
             gridSize.iHeight : 0;
-        vSbarModel.iThumbSpan = gridView->NumberOfRowsInView();
         vSbarModel.iScrollSpan = GridModel()->NumberOfItems() >0 ? 
             gridSize.iHeight*iView->ItemHeight() : 0;
         vSbarModel.iThumbSpan = rect.Height();
--- a/uifw/AvKon/src/akninfrm.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/akninfrm.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -353,11 +353,18 @@
         // we need to provide own context if one does not exist
         // because old style drawing did kind of work even
         // without calling SetInputContext( ... )
-        iInputContext = CAknsFrameBackgroundControlContext::NewL(
-            KAknsIIDQsnFrInput, TRect(0,0,0,0), TRect(0,0,0,0), EFalse );
-        iFlags = iFlags | EOwnsInputContext;
-        // also need to provide skin for the editor in this case
-        static_cast<CEikEdwin*>( iField )->SetSkinBackgroundControlContextL( iInputContext );
+        TRAP_IGNORE
+            ( 
+            iInputContext = CAknsFrameBackgroundControlContext::NewL(
+                    KAknsIIDQsnFrInput, TRect(0,0,0,0), TRect(0,0,0,0), EFalse);
+        
+            if (iInputContext)
+                {
+                iFlags = iFlags | EOwnsInputContext;
+                // also need to provide skin for the editor in this case
+                static_cast<CEikEdwin*>( iField )->SetSkinBackgroundControlContextL( iInputContext );  
+                }
+            );
         }
 
     if ( iInputContext )
@@ -509,7 +516,7 @@
         {
         case KAknsMessageSkinChange:
         case KEikDynamicLayoutVariantSwitch:
-            CreateIconL();
+            TRAP_IGNORE(CreateIconL());
             break;
             
         default:
--- a/uifw/AvKon/src/aknkeypad.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknkeypad.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -121,7 +121,11 @@
      
      	// Hack
         
-        if ( i == 1)
+        if ( i == 0 ) //Display '.,?' in button 
+            {
+            button->SetUpperAndLowerTextL(_L(".,?"), _L(".,?"));
+            }
+        else if ( i == 1 )
         	{
         	button->SetUpperAndLowerTextL(_L("ABC"), _L("abc"));
        		}
--- a/uifw/AvKon/src/aknmessagequerycontrol.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknmessagequerycontrol.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -898,7 +898,8 @@
     TAknMultiLineTextLayout multilineLayout = TAknTextComponentLayout::Multiline(textComponentLayoutArray);
     AknLayoutUtils::LayoutEdwin( iEdwin, listPopupInfoPane.Rect(),
         multilineLayout, EAknsCIQsnTextColorsCG19 );
-    //iEdwin->SetRect( listPopupInfoPane.Rect() );
+    // Use list_popup_info_pane as editor's rect
+    iEdwin->SetRect( listPopupInfoPane.Rect() );
     textComponentLayoutArray.Close();
     
     iEdwin->SetBorder( TGulBorder::ENone );
--- a/uifw/AvKon/src/aknnoteattributes.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknnoteattributes.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1029,8 +1029,11 @@
             iNoteControl->DeactivateGc();
 
             // Redraw the label after the background
-            iNoteText->Line( i )->ActivateL(); // Never leaves
-            iNoteText->Line( i )->DrawNow();
+            TRAPD(err, iNoteText->Line( i )->ActivateL()); // Never leaves
+            if (err == KErrNone)
+                {
+                iNoteText->Line( i )->DrawNow();
+                }
             iNoteText->SetLineModified( i, EFalse );
             }
         }
--- a/uifw/AvKon/src/aknnotecontrol.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknnotecontrol.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -671,7 +671,7 @@
 
             AknLayoutUtils::LayoutLabel(TextControl()->Line(i),LayoutRect(),
                 AKN_LAYOUT_TEXT_Note_with_an_image_pop_up_window_texts_Line_1(
-                lafIndex.NWIPWindowTextsLine1L(i),lafIndex.NWIPWindowTextsLine1R(i),
+                lafIndex.NWIPWindowTextsLine1Left(i),lafIndex.NWIPWindowTextsLine1Right(i),
                 lafIndex.NWIPWindowTextsLine1B(i),lafIndex.NWIPWindowTextsLine1W(i)));
 
             if (!error)
@@ -916,7 +916,7 @@
             for (TInt i=0; i < KINMaxNumLines; i++)
                 {
                 TAknTextLineLayout lay = AKN_LAYOUT_TEXT_Note_with_an_image_pop_up_window_texts_Line_1(
-                    lafIndex.NWIPWindowTextsLine1L(i),lafIndex.NWIPWindowTextsLine1R(i),
+                    lafIndex.NWIPWindowTextsLine1Left(i),lafIndex.NWIPWindowTextsLine1Right(i),
                     lafIndex.NWIPWindowTextsLine1B(i),lafIndex.NWIPWindowTextsLine1W(i));
                 text.LayoutText(LayoutRect(), lay);
                 TInt width = text.TextRect().Width();
@@ -1161,7 +1161,7 @@
 EXPORT_C void CAknNoteControl::ResetText()
     {
     // This can not Leave so no need to use TRAP 
-    Attributes()->SetTextL(KNullDesC);
+    TRAP_IGNORE(Attributes()->SetTextL(KNullDesC));
     Layout();
     }
 
@@ -1479,16 +1479,16 @@
  * number type indication (NTI). See table in *.lay and
  * LAF specs for working out indexes.
  */
-TInt CAknNoteControl::TIndex::NWIPWindowTextsLine1L(TInt aLineNum) const
+TInt CAknNoteControl::TIndex::NWIPWindowTextsLine1Left(TInt aLineNum) const
     {
     SelfTest();
-    static const TInt  KNWIPWindowTextsLine1IndexL[2][3] = 
+    static const TInt  KNWIPWindowTextsLine1IndexLeft[2][3] = 
     {   
         {0, 0, 0}, //NO NTI
         {0, 0, 2}  //NTI
     }; 
     
-    return KNWIPWindowTextsLine1IndexL[HasNtiIndex()][aLineNum];
+    return KNWIPWindowTextsLine1IndexLeft[HasNtiIndex()][aLineNum];
     }
 
 /**
@@ -1501,18 +1501,18 @@
  * - Dimension 2 is the image width  
  * - Dimension 3 is the image height 
  */
-TInt CAknNoteControl::TIndex::NWIPWindowTextsLine1R(TInt aLineNum) const
+TInt CAknNoteControl::TIndex::NWIPWindowTextsLine1Right(TInt aLineNum) const
     {
     SelfTest();
 
-    static const TInt  KNWIPWindowTextsLine1IndexR[3][5][5] = 
+    static const TInt  KNWIPWindowTextsLine1IndexRight[3][5][5] = 
     {   
         {{0, 0, 0, 0, 0}, {0, 3, 3, 3, 3}, {0, 5, 5, 5, 5}, {0, 7, 7, 7, 7}, {0, 9, 9, 9, 9} }, //FIRST LINE
         {{0, 0, 0, 0, 0}, {0, 3, 3, 3, 3}, {0, 5, 5, 5, 5}, {0, 7, 7, 7, 7}, {0, 9, 9, 9, 9} }, //SECOND LINE
         {{0, 0, 0, 0, 0}, {0, 0, 0, 3, 3}, {0, 0, 0, 5, 5}, {0, 0, 0, 7, 7}, {0, 0, 0, 9, 9} }  //THIRD LINE
     }; 
     
-    return KNWIPWindowTextsLine1IndexR[aLineNum][ImageWidthIndex()][ImageHeightIndex()];
+    return KNWIPWindowTextsLine1IndexRight[aLineNum][ImageWidthIndex()][ImageHeightIndex()];
 
     }
 
--- a/uifw/AvKon/src/aknqueryeditorindicator.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknqueryeditorindicator.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -82,7 +82,7 @@
     iState = aState;
     if (Observer())
     	{
-    	Observer()->HandleControlEventL( this, MCoeControlObserver::EEventStateChanged );
+    	TRAP_IGNORE(Observer()->HandleControlEventL( this, MCoeControlObserver::EEventStateChanged ));
     	}
     
     if ( iFlags.IsSet(CAknQueryControl::EEditorIndicatorOff) )
--- a/uifw/AvKon/src/aknsgcc.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknsgcc.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -46,7 +46,8 @@
 	EHandlingChange,
 	EInAknSrv,
 	ESystemFaded,
-	ENeverRelinquish
+	ENeverRelinquish,
+	EUseForegroundPriority
 	};
 
 
@@ -618,11 +619,11 @@
 	RThread myThread;
 	TProcessPriority priority = myThread.ProcessPriority();
 
-	if( IsSystemFaded() )
+	if ( IsSystemFaded() || iFlags[EUseForegroundPriority] )
 		{
-		// Solution for EKKG-7RQ9U8:
 		// If the system is faded we have a popup on screen.
-		// Get the process behind the foreground process. 
+		// Get the process behind the foreground process, the
+	    // EUseForegroundPriority should also affect only that process. 
 		TApaTask task = TApaTaskList(iEikonEnv->WsSession()).FindByPos(1);
 
 		// Check if this application is next behind the foreground app.
@@ -657,6 +658,23 @@
 	    }
 	}
 
+void CAknSgcClient::UseForegroundPriorityDuringRelinquish(
+    TBool aUseForeground )
+    {
+    CAknSgcClient* self = Static();
+    if ( self )
+        {
+        if ( aUseForeground )
+            {
+            self->iFlags.Set( EUseForegroundPriority );
+            }
+        else
+            {
+            self->iFlags.Clear( EUseForegroundPriority );
+            }
+        }
+    }
+
 EXPORT_C CAknLayoutConfig& CAknSgcClient::LayoutConfig()
 	{
 	CAknSgcClient* self = Static();
--- a/uifw/AvKon/src/aknsignal.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknsignal.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -858,6 +858,34 @@
         }
     }
 
+// ---------------------------------------------------------------------------
+// CAknSignalPane::ShowUmaIcon
+// Displays an Uma state icon.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CAknSignalPane::ShowUmaIconL(TInt aUmaIconState)
+    {
+    // State is not changed if illegal value was given.
+    if (( aUmaIconState >= EAknSignalUmaIndicatorOff ) && 
+        ( aUmaIconState <= EAknSignalUmaIndicatorMultipdp ))
+        {        
+        LoadSignalIconL( aUmaIconState, iSignalIconControl->ColorIndex() );
+        
+        iSignalIconControl->SetDrawBlank( EFalse );
+        
+        if ( aUmaIconState != EAknSignalUmaIndicatorEstablishingContext )
+            {
+            StopTicker();
+            }
+        else if ( aUmaIconState == EAknSignalUmaIndicatorEstablishingContext )
+            {
+            StartTickerL( KAknIndicatorAnimationDelay,
+                                                   KAknIndicatorAnimationInterval );       
+            }
+        }
+
+
+    }
 
 // ---------------------------------------------------------------------------
 // CAknSignalPane::ShowCdmaIcon
--- a/uifw/AvKon/src/aknsignaldataobserver.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknsignaldataobserver.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -133,7 +133,13 @@
 			{
 			// HSPDA
 		    iSignalPane->ShowHsdpaIcon(state.iIconState);
-			}    			
+			}
+        else if (state.iIconState >= EAknSignalUmaIndicatorOff
+                && state.iIconState <= EAknSignalUmaIndicatorMultipdp)
+            {
+            // UMA
+            iSignalPane->ShowUmaIconL(state.iIconState);
+            }    
 		}
 
 	if (!updateAnimation)
--- a/uifw/AvKon/src/akntabgrp.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/akntabgrp.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -104,6 +104,9 @@
 
     /** Indicates whether or not the tab is shown in long tab group layout. */
     TBool iLongTab;
+    
+    /** Indicates the hilight status of the tab*/
+    TBool iHighlight;
     };
 
 CAknTabExtension* CAknTabExtension::NewL()
@@ -295,6 +298,8 @@
     if ( !iExtension )
         {
         iExtension = CAknTabExtension::NewL();
+        //set the default highlight status of the tab
+        iExtension->iHighlight = EFalse;
         }
 
     iLabel = new (ELeave) CEikLabel;
@@ -807,7 +812,14 @@
 
     }
 
-
+// ---------------------------------------------------------------------------
+// sets the highlight status of a tab
+// ---------------------------------------------------------------------------
+//
+void CAknTab::SetHighlight(TBool aHighlight)
+    {
+    iExtension->iHighlight = aHighlight;
+    }
 // ---------------------------------------------------------------------------
 // Handles size change events in flat status pane layouts.
 // ---------------------------------------------------------------------------
@@ -1033,7 +1045,7 @@
             }
         else
             {
-            if ( iActive )
+            if (iActive || iExtension->iHighlight)
                 {
                 TInt error = AknsUtils::GetCachedColor( skin, color,
                     KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG3 );
@@ -1071,7 +1083,7 @@
                 iColorBitmaps->At(KTabColorBitmapActiveColorIndex) &&
                 iColorBitmaps->At(KTabColorBitmapPassiveColorIndex) )
                 {
-                if( iActive )
+                if (iActive || iExtension->iHighlight)
                     {
                     colorBitmap = iColorBitmaps->At(KTabColorBitmapActiveColorIndex);
                     }
@@ -1262,8 +1274,8 @@
     
     if ( !iColorBitmaps )
     	{
-      LoadColorBitmapL();
-      }
+        TRAP_IGNORE(LoadColorBitmapL());
+    	}
     }
 
 void CAknTab::SetNarrowTabLayout( TBool aNarrow )
@@ -1399,6 +1411,9 @@
 
     /** This is the tab width that is set by the application. */
     TInt   iRequestedTabWidth;
+    
+    /** Indicates whether highlight tab is being drawn or not*/ 
+    TBool iHighlight;
     };
 
 
@@ -1406,6 +1421,8 @@
     {
     iPointerDownTab       = -1;
     iPointerDownXPosition = -1;
+    //Highlight is disabled by default.
+    iHighlight = EFalse;
     }
 
 
@@ -1871,7 +1888,7 @@
         {
         iExtension->iTabBackgroundLayout.iUse = EFalse;
 
-        iExtension->iTabSvgGraphics->DrawTabGroupBackgroundL(
+        iExtension->iTabSvgGraphics->DrawTabGroupBackground(
             CAknTabGroupGraphics::ENoDraw,
             iLongTabs,
             iNumberOfTabsShown,
@@ -2617,11 +2634,13 @@
 
         if (iExtension->iNarrowTabLayout)
             {
-            iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackgroundL(
-                    CAknTabGroupGraphics::ENormal, iLongTabs,
-                    iNumberOfTabsShown, positionActive + 1, &gc,
-                    iExtension->iTabBackgroundLayout);
-
+            iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackground(
+                CAknTabGroupGraphics::ENormal,
+                iLongTabs,
+                iNumberOfTabsShown, 
+                positionActive + 1, 
+                &gc,
+                iExtension->iTabBackgroundLayout);
             }
         else
             {
@@ -2631,18 +2650,36 @@
             
             if ( animationOngoing )
                 {
-                animation
-                        = iExtension->iTabCycleAnimationDirection == ELeft
-                                                                           ? CAknTabGroupGraphics::ECycleToLeft
-                                                                              : CAknTabGroupGraphics::ECycleToRight;
+                animation = iExtension->iTabCycleAnimationDirection == ELeft ?
+					CAknTabGroupGraphics::ECycleToLeft : CAknTabGroupGraphics::ECycleToRight;
                 }
-            iExtension->iTabSvgGraphics->DrawTabGroupBackgroundL(
-                    CAknTabGroupGraphics::ENormal, iLongTabs,
-                    iNumberOfTabsShown, positionActive + 1, &gc,
-                    animationOngoing ? iExtension->iNextTabBackgroundLayout
-                                       : iExtension->iTabBackgroundLayout,
-                    iExtension->iTabsHidden, animation);
-
+
+            if (!iExtension->iHighlight)
+                { 
+                // if highlight is not active
+                iExtension->iTabSvgGraphics->DrawTabGroupBackground(
+                    CAknTabGroupGraphics::ENormal,
+                    iLongTabs,
+                    iNumberOfTabsShown,
+                    positionActive + 1,
+                    &gc,
+                    animationOngoing ? iExtension->iNextTabBackgroundLayout : iExtension->iTabBackgroundLayout,
+                    iExtension->iTabsHidden, 
+					animation);
+                }
+            else
+                {
+                // Highlight is active
+                TInt highlightTab = iExtension->iPointerDownTab - iFirstShownTab + 1; //pointer down tab index w.r.t shown tabs
+                iExtension->iTabSvgGraphics->DrawTabGroupBackground(
+                    CAknTabGroupGraphics::ENormal,
+                    iLongTabs,
+                    iNumberOfTabsShown,
+                    positionActive + 1,
+                    &gc,
+                    animationOngoing ? iExtension->iNextTabBackgroundLayout : iExtension->iTabBackgroundLayout,
+                    iExtension->iTabsHidden, animation, highlightTab );
+                }
             }
         }
     else
@@ -2881,6 +2918,20 @@
                 }
             iExtension->iPointerDownTab       = newTab;
             iExtension->iPointerDownXPosition = aPointerEvent.iPosition.iX;
+            
+            //Activates highlight drawing for pressed tab.
+            if (!iExtension->iHighlight)
+                {
+                iExtension->iHighlight = ETrue;
+                
+                // Set the pressed tab to highlight
+                if ( iExtension->iPointerDownTab >= 0 )
+                    {
+                    iTabArray->At( iExtension->iPointerDownTab )->SetHighlight( ETrue );
+                    }
+                DrawDeferred();
+                }
+            
             return;
             }
         else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
@@ -2910,9 +2961,15 @@
             // if the button up event occurs ouside tabgroup, ignore it.
             if ( !Rect().Contains( aPointerEvent.iPosition ) || iExtension->iPointerDownTab != newTab )
                 {
-                iExtension->iPointerDownTab       = -1;
+                iExtension->iPointerDownTab = -1;
                 iExtension->iPointerDownXPosition = -1;
-                return ;
+                if (iExtension->iHighlight)
+                    {
+                    iExtension->iHighlight = EFalse;
+                    ResetHighlightStatus();
+                    DrawDeferred();
+                    }
+                return;
                 }
 
             if ( newTab != iActiveTab &&
@@ -3020,6 +3077,12 @@
 
             iExtension->iPointerDownTab       = -1;
             iExtension->iPointerDownXPosition = -1;
+            if( iExtension->iHighlight )
+                {
+                iExtension->iHighlight = EFalse;
+                ResetHighlightStatus();
+                DrawDeferred();
+                }
             }
         }
     }
@@ -3388,14 +3451,14 @@
                     ParentRect( iExtension->iNaviArrowsUsed ) );
 
                 iExtension->iTabBackgroundLayout.iUse = EFalse;
-                TRAP_IGNORE( iExtension->iTabSvgGraphics->DrawTabGroupBackgroundL(
+                iExtension->iTabSvgGraphics->DrawTabGroupBackground(
                                 CAknTabGroupGraphics::ENoDraw,
                                 iLongTabs,
                                 iNumberOfTabsShown,
                                 1,
                                 NULL,
                                 iExtension->iTabBackgroundLayout,
-                                CAknTabGroupGraphics::ENone ) );
+                                CAknTabGroupGraphics::ENone );
                 iExtension->iTabBackgroundLayout.iUse = ETrue;
                 SetDecoratorLayout( EFalse );
                 }
@@ -3403,6 +3466,11 @@
         if ( iExtension )
             {
             iExtension->iNarrowTabLayout = EFalse;
+            if( iExtension->iHighlight )
+                {
+                iExtension->iHighlight = EFalse;
+                ResetHighlightStatus();
+                }
             }
 
         if ( !COMPARE_BOOLS( iMirrored, AknLayoutUtils::LayoutMirrored() ) )
@@ -4043,7 +4111,7 @@
     if ( aNarrow )
         {
         iExtension->iNextTabBackgroundLayout.iUse = EFalse;
-        iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackgroundL(
+        iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackground(
             CAknTabGroupGraphics::ENoDraw,
             iLongTabs,
             iNumberOfTabsShown,
@@ -4055,7 +4123,7 @@
         if ( !aUseAnimation )
             {
             iExtension->iTabBackgroundLayout.iUse = EFalse;
-            iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackgroundL(
+            iExtension->iTabSvgGraphics->DrawTabGroupNarrowBackground(
                 CAknTabGroupGraphics::ENoDraw,
                 iLongTabs,
                 iNumberOfTabsShown,
@@ -4068,7 +4136,7 @@
     else
         {
         iExtension->iNextTabBackgroundLayout.iUse = EFalse;
-        iExtension->iTabSvgGraphics->DrawTabGroupBackgroundL(
+        iExtension->iTabSvgGraphics->DrawTabGroupBackground(
             CAknTabGroupGraphics::ENoDraw,
             iLongTabs,
             iNumberOfTabsShown,
@@ -4079,7 +4147,7 @@
         iExtension->iNextTabBackgroundLayout.iUse = ETrue;
 
         iExtension->iTabBackgroundLayout.iUse = EFalse;
-        iExtension->iTabSvgGraphics->DrawTabGroupBackgroundL(
+        iExtension->iTabSvgGraphics->DrawTabGroupBackground(
             CAknTabGroupGraphics::ENoDraw,
             iLongTabs,
             iNumberOfTabsShown,
@@ -4444,4 +4512,12 @@
     CancelTabAnimationEventTimer();
     }
 
+void CAknTabGroup::ResetHighlightStatus()
+    {
+    // Resets highlight status to EFalse
+    for( TInt i = 0; i < iTabArray->Count(); i++ )
+        {
+        iTabArray->At(i)->SetHighlight( EFalse );
+        }
+    }
  //  End of File
--- a/uifw/AvKon/src/aknutils.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/aknutils.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -5300,8 +5300,21 @@
         CleanupStack::PopAndDestroy(); // wrapWidthArray
         } ); // TRAP end
 
-    // there is no layout for empty popuplist
-    if ( error != KErrNone || popupList )
+    if ( error == KErrNone )
+        {
+        n = 0;
+        for ( i = 0; i < buffer.Length(); i++ )
+            {
+            if ( buffer[i] == '\n' )
+                {
+                n++;
+                }
+            }        
+        }
+    
+    // There is no layout for empty popuplist
+    // The second layout that 2 lines with big font is used for two lines text.
+    if ( n < 3 || error != KErrNone || popupList )
         {
         DrawEmptyListImpl_real_DrawUpToTwoLines( aGc, aText, line1, line2,
                                                  line1length, line2length,
--- a/uifw/AvKon/src/eikfrlbd.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/src/eikfrlbd.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -2542,12 +2542,13 @@
             }
             
         TRgb color;
-
+        CListBoxView* view = static_cast<CEikListBox*>( Control() )->View();
+        TBool useOverrideColor = view->ItemDrawer()->Flags() & CListItemDrawer::EUseOverrideSkinTextColor; 
         if (aHighlight)
             {
             color = subcellColors->iHighlightedText;
             aGc.SetBrushColor(subcellColors->iHighlightedBack); 
-            if ( AknsUtils::AvkonSkinEnabled() )
+            if ( AknsUtils::AvkonSkinEnabled() && !useOverrideColor )
                 {
                 if ( iExtension->iHighlightedTextColor != NULL )
                     {
@@ -2559,7 +2560,7 @@
             {
             color = subcellColors->iText;
             aGc.SetBrushColor(subcellColors->iBack);
-            if ( AknsUtils::AvkonSkinEnabled() )
+            if ( AknsUtils::AvkonSkinEnabled() && !useOverrideColor )
                 {
                 if ( iExtension->iTextColor != NULL )
                     {
@@ -2861,12 +2862,8 @@
             & CListItemDrawer::EMarkingModeEnabled 
             && !aProperties.IsSelectionHidden()            
             && iExtension->iMarkingIconArray
-#ifdef RD_TOUCH2_MARKING
             &&  iExtension->iMarkingIconArray->Count() 
-                == KMarkingModeIconArraySize )         
-#else            
-            &&  iExtension->iMarkingIconArray->Count() == 2 )
-#endif // RD_TOUCH2_MARKING        
+                == KMarkingModeIconArraySize )       
         {
         if ( AknLayoutUtils::LayoutMirrored() )
             {
@@ -4455,12 +4452,13 @@
             {
             subcellColors = &aColors;
             }
-
+        CListBoxView* view = listbox->View();
+        TBool useOverrideColor = view->ItemDrawer()->Flags() & CListItemDrawer::EUseOverrideSkinTextColor; 
         if (aHighlight)
             {
             aGc.SetPenColor(subcellColors->iHighlightedText);
             aGc.SetBrushColor(subcellColors->iHighlightedBack); 
-            if ( skinEnabled )
+            if ( skinEnabled && !useOverrideColor )
                 {
                 if ( iExtension->iHighlightedTextColor != NULL )
                     {
@@ -4473,7 +4471,7 @@
             aGc.SetPenColor(subcellColors->iText);
             aGc.SetBrushColor(subcellColors->iBack);
             
-            if ( skinEnabled )
+            if ( skinEnabled && !useOverrideColor )
                 {
                 if ( iExtension->iTextColor != NULL )
                     {
--- a/uifw/AvKon/srcdata/AvkonSystemSounds.ra	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/srcdata/AvkonSystemSounds.ra	Mon Aug 23 15:39:03 2010 +0100
@@ -23,6 +23,8 @@
 #define KBatteryLowSoundFile "z:\\resource\\avkonsystemsounds\\battery_low.wav"
 #define KDefaultBeepSoundFile "z:\\resource\\avkonsystemsounds\\default_beep.wav"
 #define KBatteryRechargeSoundFile "z:\\resource\\avkonsystemsounds\\battery_dead.wav"
+#define KConfirmationSoundFile "z:\\resource\\avkonsystemsounds\\confirmation.wav"
+#define KWarningSoundFile "z:\\resource\\avkonsystemsounds\\warning.wav"
 
 
 RESOURCE AVKON_SOUND_INFO_LIST r_avkon_default_sound_list
@@ -59,7 +61,7 @@
 			// 0x76 = 118 => 118-64=54=AUD_TONE_RING_FREQ_F2	 = 1397Hz
 			// 0x11 = 17 = tone_tick = 170ms
 			// 0x0B = 11 = OPCODE_END 
-			file = KDefaultBeepSoundFile;
+			file = KConfirmationSoundFile;
 			volume = 5;
 			},
 		AVKON_SOUND_INFO 
@@ -75,7 +77,7 @@
 			// 0x6C = 108 => 108-64=44=AUD_TONE_RING_FREQ_G1	 = 784Hz
 			// 0x19 = 25 = tone_tick = 250ms
 			// 0x0B = 11 = OPCODE_END 
-			file = KDefaultBeepSoundFile;
+			file = KWarningSoundFile;
 			volume = 5;
 			},
 		AVKON_SOUND_INFO 
@@ -91,7 +93,7 @@
 			// 0x6C = 108 => 108-64=44=AUD_TONE_RING_FREQ_G1	 = 784Hz
 			// 0x19 = 25 = tone_tick = 250ms
 			// 0x0B = 11 = OPCODE_END 
-			file = KDefaultBeepSoundFile;
+			file = KWarningSoundFile;
 			volume = 5;
 			},
 
@@ -109,7 +111,7 @@
 			// 0x06 = 6 = tone_tick = 60ms
 			// 0x0B = 11 = OPCODE_END
 			file = KVolumeMinSoundFile;
-			volume = 9;
+			volume = 5;
 			},
 		AVKON_SOUND_INFO 
 			{
@@ -171,14 +173,15 @@
 			sid=EAvkonSIDChargingBatteryTone; 
 			priority=EAvkonLowLevelNotesPriority; 
 			preference=EAknAudioPrefCharging;
-			sequencelength=6;
-			sequence={0,17,10,118,17,11};
+			// sequencelength=6;
+			// sequence={0,17,10,118,17,11};
 		   	// 0x00 = 0  = OPCODE_SEQUENCE_START
 			// 0x11 = 17 = OPCODE_DURATION_UNIT
 			// 0x0A = 10 = duration unit => tone duration is 10ms * tone_tick
 			// 0x76 = 118 => 118-64=54=AUD_TONE_RING_FREQ_F2	 = 1397Hz
 			// 0x11 = 17 = tone_tick = 170ms
 			// 0x0B = 11 = OPCODE_END
+			file = KDefaultBeepSoundFile;
 			volume = 5;
 			},
 		AVKON_SOUND_INFO 
Binary file uifw/AvKon/srcdata/AvkonSystemSounds/confirmation.wav has changed
Binary file uifw/AvKon/srcdata/AvkonSystemSounds/default_beep.wav has changed
Binary file uifw/AvKon/srcdata/AvkonSystemSounds/warning.wav has changed
--- a/uifw/AvKon/srcdata/avkon.rss	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/srcdata/avkon.rss	Mon Aug 23 15:39:03 2010 +0100
@@ -5120,7 +5120,12 @@
         // Left down
         AVKON_SKEY_INFO {key=EStdKeyDevice13; sid=EAvkonSIDStandardKeyClick;},
         AVKON_SKEY_INFO {key=EStdKeyDevice13; sid=EAvkonSIDStandardKeyClick; type = ESKeyTypeLong;},
-        AVKON_SKEY_INFO {key=EStdKeyDevice13; sid=EAvkonSIDStandardKeyClick; type = ESKeyTypeRepeat;}
+        AVKON_SKEY_INFO {key=EStdKeyDevice13; sid=EAvkonSIDStandardKeyClick; type = ESKeyTypeRepeat;},
+        
+        //Default keysound for @ key
+        AVKON_SKEY_INFO {key=EStdKeySquareBracketRight; sid=EAvkonSIDStandardKeyClick;},
+        AVKON_SKEY_INFO {key=EStdKeySquareBracketRight; sid=EAvkonSIDStandardKeyClick; type = ESKeyTypeLong;},
+        AVKON_SKEY_INFO {key=EStdKeySquareBracketRight; sid=EAvkonSIDStandardKeyClick; type = ESKeyTypeRepeat;}
 
         };
     }
@@ -9844,6 +9849,8 @@
         MENU_ITEM { command=EPenInputCmdHwrTraining; txt=qtn_tin_option_menu_training;},
 		MENU_ITEM { command=EPenInputCmdVITUT; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_itu_t; },
 		MENU_ITEM { command=EPeninputCmdFSQ; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_fs_qwerty; },
+        MENU_ITEM { command=EPeninputCmdPortraitEditor; flags=EEikMenuItemDimmed; txt=qtn_tin_option_menu_portrait_editor; },
+        MENU_ITEM { command=EPeninputCmdLandscapeEditor; flags=EEikMenuItemDimmed; txt=qtn_tin_option_menu_landscape_editor; },        
         MENU_ITEM { command=EPeninputCmdHwr; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_hwr; },
         MENU_ITEM { command=EFepInputCmdHelp; txt=qtn_options_help; },
         MENU_ITEM { command=EAknCmdEditModeEnglish; flags=EEikMenuItemDimmed; txt=qtn_activate_english_mode; }
@@ -10300,5 +10307,71 @@
 	};
     }
 
+RESOURCE DIALOG r_avkon_special_character_table_dialog_korean
+    {
+    flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow;
+    buttons = r_avkon_softkeys_select_cancel__select;
+    items=
+        {
+        DLG_LINE
+            {
+            type = EAknCtPopupHeadingPane;
+            id = EAknSCTQueryHeadingId;
+            control = AVKON_HEADING
+                {
+                label = qtn_pop_up_select_character;
+                headinglayout = r_avkon_sct_list_heading_pane;
+                };
+            },
+        DLG_LINE
+            {
+            type = EAknCtSpecialCharacterMap;
+            id = EAknSCTQueryContentId;
+            control = SPECIAL_CHAR_TABLE
+                {
+                contents =
+                    {
+                    SCT_CHAR_SET
+                        {
+                        id = EAknSCTUpperCase;
+                        chars = qtn_sct_kor_special_characters;
+                        },
+                    SCT_CHAR_SET
+                        {
+                        id = EAknSCTLowerCase;
+                        chars = qtn_sct_kor_special_characters;
+                        },
+                    SCT_CHAR_SET
+                        {
+                        id = EAknSCTQwerty;
+                        chars = qtn_sct_kor_special_characters;
+                        }
+                    };
+                };
+            }
+        };
+    }
+
+RESOURCE SPECIAL_CHAR_TABLE r_avkon_menu_sct_row_default_contents_korean
+    {
+    contents =
+        {
+        SCT_CHAR_SET
+            {
+            id = EAknSCTUpperCase;
+            chars = qtn_sct_kor_special_characters;
+            },
+        SCT_CHAR_SET
+            {
+            id = EAknSCTLowerCase;
+            chars = qtn_sct_kor_special_characters;
+            },
+        SCT_CHAR_SET
+            {
+            id = EAknSCTQwerty;
+            chars = qtn_sct_kor_special_characters;
+            }
+        };
+    }
 // End of File
 
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestaknsound/group/bctestaknsound.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestaknsound/group/bctestaknsound.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestappfrm/group/bctestappfrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestappfrm/group/bctestappfrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,7 +67,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestbuttons/group/bctestbuttons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestbuttons/group/bctestbuttons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestcmdlg/group/bctestcmdlg.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestcmdlg/group/bctestcmdlg.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestdocandinit/group/bctestDocAndInit.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestdocandinit/group/bctestDocAndInit.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,13 +57,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY			commonui.lib
 LIBRARY			apmime.lib 
-LIBRARY			PlatformEnv.lib 
+LIBRARY			platformenv.lib
 LIBRARY			eikctl.lib
 LIBRARY			sysutil.lib 
 LIBRARY                 bafl.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestdocandinit/src/bctestDocAndInitcase.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestdocandinit/src/bctestDocAndInitcase.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -83,15 +83,21 @@
         {
         DELAY( 1 ), // delay between commands is 1*0.1 seconds = 0.1 seconds
         LeftCBA, 
+        LeftCBA,
+        WAIT( 10 ),
         LeftCBA, 
-        LeftCBA, KeyOK,
-        LeftCBA, KeyOK,
-        LeftCBA, KeyOK,
-        LeftCBA, LeftCBA, KeyOK,
+        WAIT( 5 ),
+        LeftCBA, 
+        WAIT( 5 ),
+        LeftCBA, 
+        WAIT( 5 ),
+        LeftCBA,
+        WAIT( 5 ),
+        LeftCBA, 
         DELAY( 15 ),         
         LeftCBA,
         DELAY( 1 ), 
-        REP(Down, 1 ), 
+        Down, 
         LeftCBA
         };
     AddTestScriptL( scripts, sizeof( scripts )/sizeof( TInt ) );
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteditor/group/bctesteditor.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteditor/group/bctesteditor.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteh/group/bctesteh.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteh/group/bctesteh.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,12 +57,12 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY	        commonui.lib 
-LIBRARY         commonengine.lib
+LIBRARY	        commonui.lib
+LIBRARY         CommonEngine.lib
 
 START RESOURCE ../group/bctesteh_reg.rss
 DEPENDS bctesteh.rsg
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteikbctrl/group/bctesteikbctrl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteikbctrl/group/bctesteikbctrl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         cone.lib
 LIBRARY         eikcore.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteikfrm/group/bctesteikfrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctesteikfrm/group/bctesteikfrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -60,7 +60,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestfontinput/group/bctestfontinput.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestfontinput/group/bctestfontinput.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,13 +58,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
 LIBRARY         fbscli.lib
 LIBRARY         akninputlanguage.lib
-LIBRARY		    fontutils.lib 
+LIBRARY		    fontutils.lib
 LIBRARY         uiklaf.lib 
 LIBRARY         gdi.lib 
 LIBRARY         egul.lib 
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestform/group/bctestForm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestform/group/bctestForm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,11 +59,11 @@
 LIBRARY         aknnotify.lib
 LIBRARY		    bafl.lib
 LIBRARY         bctestutil.lib
-LIBRARY         commonengine.lib
-LIBRARY         AknSkins.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         aknskins.lib
 LIBRARY         egul.lib
-LIBRARY         AknIcon.lib
-LIBRARY         CentralRepository.lib
+LIBRARY         aknicon.lib
+LIBRARY         centralrepository.lib
 
 // Changes for Scalable UI:
 // New registration resource defined.
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestgrids/group/bctestgrids.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestgrids/group/bctestgrids.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -61,7 +61,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestimage/group/bctestimage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestimage/group/bctestimage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestkeylock/group/bctestkeylock.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestkeylock/group/bctestkeylock.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestlabelinfoindicators/group/bctestlabelinfoindicators.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestlabelinfoindicators/group/bctestlabelinfoindicators.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -51,8 +51,8 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestlist/group/bctestlist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestlist/group/bctestlist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -69,8 +69,8 @@
 LIBRARY         eikctl.lib 
 LIBRARY         bafl.lib
 LIBRARY         eikdlg.lib                                                  
-LIBRARY         AknSkins.lib
-LIBRARY         AknIcon.lib
+LIBRARY         aknskins.lib
+LIBRARY         aknicon.lib
 LIBRARY         egul.lib
 LIBRARY         gdi.lib
 LIBRARY         efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestmenu/group/bctestmenu.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestmenu/group/bctestmenu.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestmisccontrol/group/bctestmisccontrol.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestmisccontrol/group/bctestmisccontrol.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,8 +57,8 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestnote/group/bctestnote.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestnote/group/bctestnote.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -63,8 +63,8 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestnotifier/group/bctestnotifier.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestnotifier/group/bctestnotifier.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -60,12 +60,12 @@
 LIBRARY         insock.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
 LIBRARY         estor.lib 
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 LIBRARY         bafl.lib
 
 // Changes for Scalable UI:
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestpane/group/bctestpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestpane/group/bctestpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestpopups/group/bctestpopups.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestpopups/group/bctestpopups.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,8 +57,8 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         aknnotify.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestprivateuifrm/group/bctestprivateuifrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestprivateuifrm/group/bctestprivateuifrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/group/bctestptieng.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestptieng/group/bctestptieng.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -62,7 +62,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestquery/group/bctestquery.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestquery/group/bctestquery.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -61,8 +61,8 @@
 LIBRARY         eikctl.lib 
 LIBRARY         bafl.lib
 LIBRARY         eikdlg.lib                                                  
-LIBRARY         AknSkins.lib
-LIBRARY         AknIcon.lib
+LIBRARY         aknskins.lib
+LIBRARY         aknicon.lib
 LIBRARY         egul.lib
 LIBRARY         gdi.lib
 LIBRARY         efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestscreenclearer/group/bctestscreenclearer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestscreenclearer/group/bctestscreenclearer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestscrollerbar/group/bctestscroller.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestscrollerbar/group/bctestscroller.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         avkon.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsearchfield/group/bctestsearchfield.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsearchfield/group/bctestsearchfield.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestserverapp/group/bctestserverapp.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestserverapp/group/bctestserverapp.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,11 +57,11 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY			AknSkinSrv.lib
+LIBRARY			aknskinsrv.lib
 
 START RESOURCE ../group/bctestserverapp_reg.rss
 DEPENDS bctestserverapp.rsg
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsettingpage/group/bctestsettingpage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsettingpage/group/bctestsettingpage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,7 +68,7 @@
 LIBRARY         insock.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestskins/group/bctestskins.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestskins/group/bctestskins.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -61,7 +61,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestutilities/group/bctestutilities.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestutilities/group/bctestutilities.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestvolume/group/bctestvolume.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.0/bctestvolume/group/bctestvolume.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -60,7 +60,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestlocation/group/bctestlocation.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestlocation/group/bctestlocation.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,12 +57,12 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY         eikctl.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 
 START RESOURCE ../group/BCTestLocation_reg.rss
 DEPENDS bctestlocation.rsg
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestmisc/group/bctestmisc.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestmisc/group/bctestmisc.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestocr/group/bctestocr.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.1/bctestocr/group/bctestocr.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -52,8 +52,8 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY	    	AknIcon.lib
-LIBRARY         AknSkins.lib
+LIBRARY	    	aknicon.lib
+LIBRARY         aknskins.lib
 LIBRARY         avkon.lib
 LIBRARY         apparc.lib
 LIBRARY         bafl.lib 
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bcextendedfontapi/group/BCExtendedFontApi.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bcextendedfontapi/group/BCExtendedFontApi.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY         fontprovider.lib
+LIBRARY         FontProvider.lib
 LIBRARY         fontutils.lib
 LIBRARY         gdi.lib
 
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestbutton/group/bctestbutton.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestbutton/group/bctestbutton.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestchoicelist/group/bctestchoicelist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestchoicelist/group/bctestchoicelist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestlocalizer/group/bctestlocalizer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestlocalizer/group/bctestlocalizer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestmisc32/group/bctestmisc32.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestmisc32/group/bctestmisc32.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestservicehandler/group/bctestservicehandler.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestservicehandler/group/bctestservicehandler.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,7 +59,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctesttouchpane/group/bctesttouchpane.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctesttouchpane/group/bctesttouchpane.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestuniteditor/group/bctestuniteditor.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestuniteditor/group/bctestuniteditor.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestutilities/group/bctestutilities.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2/bctestutilities/group/bctestutilities.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctestpreviewpopup/group/bctestpreviewpopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctestpreviewpopup/group/bctestpreviewpopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctesttoolbar/group/bctesttoolbar.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctesttoolbar/group/bctesttoolbar.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,7 +59,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctesttreelist/group/bctesttreelist.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK3.2ED/bctesttreelist/group/bctesttreelist.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -57,7 +57,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bcmultidriver/group/bctestmultidriver.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bcmultidriver/group/bctestmultidriver.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,7 +58,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestappfrm/group/bctestappfrm.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestappfrm/group/bctestappfrm.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,7 +67,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY		efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestdocandinit/group/bctestDocAndInit.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestdocandinit/group/bctestDocAndInit.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,13 +58,13 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY		commonui.lib
 LIBRARY		apmime.lib 
-LIBRARY		PlatformEnv.lib 
+LIBRARY		platformenv.lib
 LIBRARY		eikctl.lib
 
 
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestdocandinit/src/bctestDocAndInitcase.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestdocandinit/src/bctestDocAndInitcase.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -80,28 +80,26 @@
 void CBCTestDocAndInitCase::BuildScriptL()
     { 
     
-    TCFDDriveStatus status = DriveStatus( EDriveE );
-	
-	if (status != EDriveNotReady)
+       const TInt scripts[] =
         {
-		// Have E drive
-        AddTestL( DELAY( 10 ), 
-		LeftCBA, Down, LeftCBA, DELAY( 10 ), 
-		LeftCBA, LeftCBA, DELAY( 10 ), 
-		LeftCBA, DELAY( 10 ),
-		LeftCBA, DELAY( 10 ),
-		LeftCBA, DELAY( 10 ),
-		
-		LeftCBA, TEND );
-        }
-	else
-	    {
-		// Not have E drive
-		AddTestL( DELAY( 10 ), 
-		LeftCBA, Down, LeftCBA, DELAY( 10 ), 
-		LeftCBA, LeftCBA, DELAY( 20 ), 
-		LeftCBA, TEND );
-	    }
+        DELAY( 1 ), // delay between commands is 1*0.1 seconds = 0.1 seconds
+        LeftCBA, 
+        LeftCBA,
+        WAIT( 10 ),
+        LeftCBA, 
+        WAIT( 5 ),
+        LeftCBA, 
+        WAIT( 5 ),
+        LeftCBA,
+        WAIT( 5 ),
+        LeftCBA, 
+        DELAY( 15 ),         
+        LeftCBA,
+        DELAY( 1 ), 
+        Down, 
+        LeftCBA
+        };
+    AddTestScriptL( scripts, sizeof( scripts )/sizeof( TInt ) );
     }
 // ---------------------------------------------------------------------------
 // CBCTestDocAndInitCase::DriveStatus
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestfontinput/group/BCTestFontInput.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestfontinput/group/BCTestFontInput.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY		    fontutils.lib 
+LIBRARY		    fontutils.lib
 
 START RESOURCE ../group/BCTestFontInput_reg.rss
 DEPENDS bctestfontinput.rsg
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestmix50/group/bctestmix50.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestmix50/group/bctestmix50.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -56,7 +56,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         aknhlist.lib
-LIBRARY         aknicon.lib 
+LIBRARY         aknicon.lib
 LIBRARY         akninputlanguage.lib
 LIBRARY         aknnotify.lib
 LIBRARY         aknskins.lib
@@ -84,7 +84,7 @@
 LIBRARY         touchfeedback.lib
 LIBRARY         ws32.lib
 LIBRARY         hwrmhapticsclient.lib
-LIBRARY         AknSkinSrv.lib
+LIBRARY         aknskinsrv.lib
 
 START RESOURCE ../group/bctestmix50_reg.rss
 DEPENDS bctestmix50.rsg
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestsettingpage/group/bctestsettingpage.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestsettingpage/group/bctestsettingpage.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -70,7 +70,7 @@
 LIBRARY         insock.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY			efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDK5.0/bctestsliderandicons/group/bctestsliderandicons.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,7 +59,7 @@
 LIBRARY         eikcoctl.lib
 LIBRARY         avkon.lib
 LIBRARY         ws32.lib
-LIBRARY         AknSkins.lib
+LIBRARY         aknskins.lib
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/group/bctestmixmcl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestmixmcl/group/bctestmixmcl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -51,7 +51,7 @@
 APP_LAYER_SYSTEMINCLUDE
 
 LIBRARY         aknhlist.lib
-LIBRARY         aknicon.lib 
+LIBRARY         aknicon.lib
 LIBRARY         akninputlanguage.lib
 LIBRARY         aknnotify.lib
 LIBRARY         aknskins.lib
@@ -79,7 +79,7 @@
 LIBRARY         touchfeedback.lib
 LIBRARY         ws32.lib
 LIBRARY         hwrmhapticsclient.lib
-LIBRARY         AknSkinSrv.lib
+LIBRARY         aknskinsrv.lib
 LIBRARY         aknphysics.lib
 LIBRARY         bitgdi.lib
 LIBRARY         eikcoctl.lib
--- a/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestsingleclick/group/bctestsingleclick.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/S60_SDKMCL/bctestsingleclick/group/bctestsingleclick.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -64,7 +64,7 @@
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY         akncapserverclient.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         bafl.lib 
 
 START RESOURCE ../group/bctestsingleclick_reg.rss
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomaiwakn/group/bctestdomaiwakn.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomaiwakn/group/bctestdomaiwakn.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -82,20 +82,20 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY	        servicehandler.lib  
+LIBRARY	        servicehandler.lib
 LIBRARY	        bafl.lib 
-LIBRARY	        aknkeyrotator.lib
-LIBRARY	        ptiengine.lib 
+LIBRARY	        AknKeyRotator.lib
+LIBRARY	        ptiengine.lib
 LIBRARY	        aknjapanesereading.lib
 LIBRARY	        commondialogs.lib
-LIBRARY	        aknnotify.lib    
+LIBRARY	        aknnotify.lib
 LIBRARY	        gdi.lib          
 LIBRARY	        eikctl.lib       
 LIBRARY	        fbscli.lib 
 LIBRARY	        akncapserverclient.lib
 LIBRARY	        eiksrvc.lib
 LIBRARY	        ecom.lib 
-LIBRARY	        platformEnv.lib 
+LIBRARY	        platformenv.lib
 
 START RESOURCE ../group/bctestdomaiwakn_reg.rss
 DEPENDS bctestdomaiwakn.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomavkonpsln/group/bctestdomavkonpsln.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomavkonpsln/group/bctestdomavkonpsln.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -71,14 +71,14 @@
 LIBRARY         bafl.lib
 LIBRARY         fbscli.lib 
 LIBRARY         aknnotify.lib
-LIBRARY         eikalert.lib
+LIBRARY         Eikalert.lib
 LIBRARY         aknnotifyplugin.lib
 LIBRARY         akntransitionutils.lib
 LIBRARY         eikdlg.lib
 LIBRARY         eiksrvui.lib
 LIBRARY         commonui.lib
-LIBRARY         findutil.lib
-LIBRARY         aknicon.lib 
+LIBRARY         FindUtil.lib
+LIBRARY         aknicon.lib
 LIBRARY         eikctl.lib
 LIBRARY         form.lib
 LIBRARY         uiklaf.lib 
@@ -88,12 +88,12 @@
 LIBRARY         numbergrouping.lib
 LIBRARY         pslnframework.lib
 LIBRARY         estor.lib 
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         xnodt.lib
 LIBRARY         ecom.lib 
 LIBRARY         eiksrvc.lib
 LIBRARY         servicehandler.lib
-LIBRARY         sortutil.lib
+LIBRARY         SortUtil.lib
 
 START RESOURCE ../group/bctestdomavkonpsln_reg.rss
 DEPENDS bctestdomavkonpsln.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomcdl/group/bctestdomcdl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomcdl/group/bctestdomcdl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,8 +59,8 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
-LIBRARY         cdlengine.lib
-LIBRARY         commonengine.lib
+LIBRARY         CdlEngine.lib
+LIBRARY         CommonEngine.lib
 
 START RESOURCE ../group/bctestdomcdl_reg.rss
 DEPENDS bctestdomcdl.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomcoreui/group/bctestdomcoreui.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomcoreui/group/bctestdomcoreui.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -59,9 +59,9 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
-LIBRARY         menuinterface.lib
+LIBRARY         MenuInterface.lib
 LIBRARY         voiceuinamedialer.lib
-LIBRARY         pbkeng.lib 
+LIBRARY         pbkeng.lib
 LIBRARY         eikdlg.lib 
 LIBRARY         eikctl.lib
 LIBRARY         eikcdlg.lib 
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomfntlay/group/bctestdomfntlay.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomfntlay/group/bctestdomfntlay.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -66,18 +66,18 @@
 LIBRARY	        efsrv.lib
 LIBRARY         fontutils.lib
 LIBRARY         uiklaf.lib 
-LIBRARY         fontprovider.lib
+LIBRARY         FontProvider.lib
 LIBRARY         gdi.lib 
 LIBRARY         bitgdi.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskinsrv.lib
 LIBRARY         fbscli.lib 
 LIBRARY         bafl.lib 
 LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2adaptation.lib
+LIBRARY         AknLayout2Adaptation.lib
 LIBRARY         aknLayout2hierarchy.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         aknicon.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 
 // New registration resource defined.
 START RESOURCE ../group/bctestdomfntlay_reg.rss
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomnotifier/group/bctestdomnotifier.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdomnotifier/group/bctestdomnotifier.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -71,13 +71,13 @@
 LIBRARY         aknnotifierwrapper.lib 
 LIBRARY         akncapserverclient.lib
 LIBRARY         aknlistloadertfx.lib
-LIBRARY         AknJapaneseReading.lib
+LIBRARY         aknjapanesereading.lib
 
-LIBRARY         AknMemoryCardUi.lib
+LIBRARY         aknmemorycardui.lib
 LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2adaptation.lib
+LIBRARY         AknLayout2Adaptation.lib
 LIBRARY         aknLayout2hierarchy.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         pslnengine.lib
 
 START RESOURCE ../group/bctestdomnotifier_reg.rss
--- a/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdompopup/group/bctestdompopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom3.2/bctestdompopup/group/bctestdompopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -65,7 +65,7 @@
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY         egul.lib
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 
 START RESOURCE ../group/bctestdompopup_reg.rss
 DEPENDS bctestdompopup.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomaiwakn/group/bctestdomaiwakn.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomaiwakn/group/bctestdomaiwakn.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -83,20 +83,20 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
-LIBRARY	        servicehandler.lib  
+LIBRARY	        servicehandler.lib
 LIBRARY	        bafl.lib 
-LIBRARY	        aknkeyrotator.lib
-LIBRARY	        ptiengine.lib 
+LIBRARY	        AknKeyRotator.lib
+LIBRARY	        ptiengine.lib
 LIBRARY	        aknjapanesereading.lib
 LIBRARY	        commondialogs.lib
-LIBRARY	        aknnotify.lib    
+LIBRARY	        aknnotify.lib
 LIBRARY	        gdi.lib          
 LIBRARY	        eikctl.lib       
 LIBRARY	        fbscli.lib 
 LIBRARY	        akncapserverclient.lib
 LIBRARY	        eiksrvc.lib
 LIBRARY	        ecom.lib 
-LIBRARY	        platformEnv.lib 
+LIBRARY	        platformenv.lib
 
 START RESOURCE ../group/bctestdomaiwakn_reg.rss
 DEPENDS bctestdomaiwakn.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomavkonpsln/group/bctestdomavkonpsln.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomavkonpsln/group/bctestdomavkonpsln.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,14 +67,14 @@
 LIBRARY         bafl.lib
 LIBRARY         fbscli.lib 
 LIBRARY         aknnotify.lib
-LIBRARY         eikalert.lib
+LIBRARY         Eikalert.lib
 LIBRARY         aknnotifyplugin.lib
 LIBRARY         akntransitionutils.lib
 LIBRARY         eikdlg.lib
 LIBRARY         eiksrvui.lib
 LIBRARY         commonui.lib
-LIBRARY         findutil.lib
-LIBRARY         aknicon.lib 
+LIBRARY         FindUtil.lib
+LIBRARY         aknicon.lib
 LIBRARY         eikctl.lib
 LIBRARY         form.lib
 LIBRARY         uiklaf.lib 
@@ -84,12 +84,12 @@
 LIBRARY         numbergrouping.lib
 LIBRARY         pslnframework.lib
 LIBRARY         estor.lib 
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         xnodt.lib
 LIBRARY         ecom.lib 
 LIBRARY         eiksrvc.lib
 LIBRARY         servicehandler.lib
-LIBRARY         sortutil.lib
+LIBRARY         SortUtil.lib
 
 START RESOURCE ../group/bctestdomavkonpsln_reg.rss
 DEPENDS bctestdomavkonpsln.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomcdl/group/bctestdomcdl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomcdl/group/bctestdomcdl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -58,8 +58,8 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
-LIBRARY         cdlengine.lib
-LIBRARY         commonengine.lib
+LIBRARY         CdlEngine.lib
+LIBRARY         CommonEngine.lib
 
 START RESOURCE ../group/bctestdomcdl_reg.rss
 DEPENDS bctestdomcdl.rsg
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomcoreui/group/bctestdomcoreui.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomcoreui/group/bctestdomcoreui.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -61,8 +61,8 @@
 LIBRARY         apgrfx.lib
 LIBRARY         bctestutil.lib
 LIBRARY         efsrv.lib
-LIBRARY         menuinterface.lib
-LIBRARY         pbkeng.lib 
+LIBRARY         MenuInterface.lib
+LIBRARY         pbkeng.lib
 LIBRARY         eikdlg.lib 
 LIBRARY         eikctl.lib
 LIBRARY         eikcdlg.lib 
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomfntlay/group/bctestdomfntlay.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomfntlay/group/bctestdomfntlay.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -68,18 +68,18 @@
 LIBRARY	        efsrv.lib
 LIBRARY         fontutils.lib
 LIBRARY         uiklaf.lib 
-LIBRARY         fontprovider.lib
+LIBRARY         FontProvider.lib
 LIBRARY         gdi.lib 
 LIBRARY         bitgdi.lib 
-LIBRARY         aknskinsrv.lib 
+LIBRARY         aknskinsrv.lib
 LIBRARY         fbscli.lib 
 LIBRARY         bafl.lib 
 LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2adaptation.lib
+LIBRARY         AknLayout2Adaptation.lib
 LIBRARY         aknLayout2hierarchy.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         aknicon.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 
 // New registration resource defined.
 START RESOURCE ../group/bctestdomfntlay_reg.rss
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomnotifier/group/bctestdomnotifier.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdomnotifier/group/bctestdomnotifier.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -75,13 +75,13 @@
 LIBRARY         aknnotifierwrapper.lib
 LIBRARY         akncapserverclient.lib
 LIBRARY         aknlistloadertfx.lib
-LIBRARY         AknJapaneseReading.lib
+LIBRARY         aknjapanesereading.lib
 
-LIBRARY         AknMemoryCardUi.lib
+LIBRARY         aknmemorycardui.lib
 LIBRARY         aknlayout2.lib
-LIBRARY         aknlayout2adaptation.lib
+LIBRARY         AknLayout2Adaptation.lib
 LIBRARY         aknLayout2hierarchy.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         pslnengine.lib
 
 START RESOURCE ../group/bctestdomnotifier_reg.rss
--- a/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdompopup/group/bctestdompopup.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestdom5.0/bctestdompopup/group/bctestdompopup.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,7 +67,7 @@
 LIBRARY         bctestutil.lib
 LIBRARY	        efsrv.lib
 LIBRARY         egul.lib
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 
 START RESOURCE ../group/bctestdompopup_reg.rss
 DEPENDS bctestdompopup.rsg
--- a/uifw/AvKon/tsrc/bc/bctestlauncher/group/bctestlauncher.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestlauncher/group/bctestlauncher.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -56,17 +56,17 @@
 
 APP_LAYER_SYSTEMINCLUDE
 
-LIBRARY         EUSER.LIB   
-LIBRARY         WS32.LIB
-LIBRARY         CONE.LIB
-LIBRARY         EIKCORE.LIB 
-LIBRARY         AVKON.LIB
-LIBRARY         APPARC.LIB
+LIBRARY         euser.lib
+LIBRARY         ws32.lib
+LIBRARY         cone.lib
+LIBRARY         eikcore.lib
+LIBRARY         avkon.lib
+LIBRARY         apparc.lib
 LIBRARY         eikcoctl.lib
 LIBRARY         efsrv.lib
 LIBRARY	        apgrfx.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
 LIBRARY         bafl.lib
 LIBRARY         sysutil.lib
 LIBRARY         estor.lib 
--- a/uifw/AvKon/tsrc/bc/bctestutil/group/bctestutil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/AvKon/tsrc/bc/bctestutil/group/bctestutil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -44,9 +44,9 @@
 LIBRARY    cone.lib
 LIBRARY    eikcore.lib
 LIBRARY    aknnotify.lib
-LIBRARY    commonengine.lib
+LIBRARY    CommonEngine.lib
 LIBRARY    avkon.lib
-LIBRARY    CentralRepository.lib
+LIBRARY    centralrepository.lib
 LIBRARY    sysutil.lib
 
 #if defined(WINS) && !defined(WINSB)
--- a/uifw/EikStd/coctlinc/smileymanager.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlinc/smileymanager.h	Mon Aug 23 15:39:03 2010 +0100
@@ -42,7 +42,7 @@
     {
 public:
     static const TText KPlaceHolder = 0xfff0;
-    static const TInt KMaxLength = 5;
+    static const TInt KMaxLength = 100;
     static const TInt KMinLength = 2;
     static const TText KZeroCode = 0;
     static const TText KCompensateChar = 'i'; 
--- a/uifw/EikStd/coctlsrc/AknButton.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/AknButton.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -264,6 +264,9 @@
 
     // Sets bitmaps to resource provider (if one exists)
     void SetProviderPressedBmpsL();
+    
+    //Verify new rectagle size equals to the original
+    TBool TextRectSizeChanged( TRect aNewRect );
    
 private: // Data
 
@@ -293,6 +296,7 @@
     TBool iFeedbackEnabled;
     TAknsItemID iBackgroundSkinIID;
     TRect iBgFrameRect;
+    TRect iTextRect;
     };
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -327,6 +331,7 @@
     iIconSize = layoutRect.Rect().Size();
     iFlags.Set( EUseDefaultIconSize );
     iFlags.Set( EUseDefaultMargins );
+    iTextRect = TRect::EUninitialized;
     }
 
 // -----------------------------------------------------------------------------
@@ -517,6 +522,20 @@
         }
     }
     
+//Verify new rectangle size equals to the original
+TBool CAknButtonExtension::TextRectSizeChanged( TRect aNewRect )
+    {
+    TBool result( ETrue );
+    if ( !iTextRect.IsEmpty() && !aNewRect.IsEmpty() )
+        {
+        if ( iTextRect.Width() == aNewRect.Width() 
+                && iTextRect.Height() == aNewRect.Height() )
+            {
+            result = EFalse;
+            }
+        }
+    return result;
+    }
     
 
 //
@@ -1682,7 +1701,6 @@
         }
     iExtension->HandleFeedbackAreaChange();
     SetFrameIDs(); 
-    ConvertTextToVisualAndClip();
     }
 
 // -----------------------------------------------------------------------------
@@ -2257,7 +2275,6 @@
         TRAP_IGNORE( CreatePressedDownFrameL() );
         }
     SetFrameRects(); 
-    ConvertTextToVisualAndClip(); 
 
     iExtension->HandleFeedbackAreaChange();
     }
@@ -2739,6 +2756,7 @@
         }
 
     TRAP_IGNORE( SetStateIndexL( newIndex ) );
+    SetFrameIDs(); 
     if ( aDrawNow )
         {
         DrawNow();
@@ -2828,19 +2846,12 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CAknButton::SetButtonFlags( const TInt aFlags )
-    {
+    {    
     if ( !( iFlags & KAknButtonNoFrame ) )
         {
         if ( aFlags & KAknButtonNoFrame ) 
             {
-            iExtension->iMargins.SetAllValuesTo( 0 );
-            ConvertTextToVisualAndClip();
-            }
-        // aFlags does not include KAknButtonNoFrame
-        else if ( iFlags & KAknButtonTextInsideFrame != 
-                aFlags & KAknButtonTextInsideFrame )
-            {
-            ConvertTextToVisualAndClip(); 
+            iExtension->iMargins.SetAllValuesTo( 0 );         
             }
         }
     if ( aFlags & KAknButtonHitTest )
@@ -2852,14 +2863,6 @@
         {
         TRAP_IGNORE ( CreatePressedDownFrameL() );
         }
-    if ( iFlags & KAknButtonNoFrame && !( aFlags & KAknButtonNoFrame ) )
-        {
-        SetFrameIDs(); 
-        if ( aFlags & KAknButtonTextInsideFrame )
-            {
-            ConvertTextToVisualAndClip(); 
-            }
-        }
     iFlags = aFlags;
     }
 
@@ -2956,7 +2959,7 @@
 EXPORT_C void CAknButton::SetTextFont( const CFont* aFont )
     {
     iFont = aFont;
-    ConvertTextToVisualAndClip(); 
+    ConvertTextToVisualAndClip( iExtension->iTextRect ); 
     }
 
 // -----------------------------------------------------------------------------
@@ -3521,25 +3524,15 @@
 //
 void CAknButton::DrawTextButton( CWindowGc& aGc ) const
     {
+    TRect textRect;
+    
+    TRect iconRect; //this is no use
+    GetCurrentStateTextAndIconRect( iconRect, textRect );
+      
     CAknButtonState* state = State();
-    if ( !state || !state->HasText() )
-        return;
-
-    if ( state->TextChanged() )
+    if ( state->TextChanged() || iExtension->TextRectSizeChanged( textRect ) )
         {
-        ConvertTextToVisualAndClip(); 
-        }
-
-    TRect textRect = iExtension->iMargins.InnerRect( Rect() );
-
-    if ( !( iFlags & KAknButtonNoFrame ) && 
-         ( iFlags & KAknButtonTextInsideFrame ) )
-        {
-        TAknLayoutRect center;
-        center.LayoutRect( Rect(), 
-            AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
-
-        textRect = center.Rect();
+        ConvertTextToVisualAndClip( textRect ); 
         }
     DrawText( aGc, textRect ); 
     }
@@ -3607,13 +3600,13 @@
 //
 void CAknButton::DrawIconButton( CWindowGc& aGc ) const
     {
-    TRect iconRect( iExtension->iMargins.InnerRect( Rect() ) );
+    TRect iconRect;
+    TRect textRect; 
+    GetCurrentStateTextAndIconRect( iconRect, textRect );
     
     aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
 
     const CGulIcon* icon = GetCurrentIcon();
-    if ( !icon )
-        return;
 
     CFbsBitmap* buttonBmp = icon->Bitmap();
     CFbsBitmap* buttonMask = icon->Mask();
@@ -3695,102 +3688,24 @@
     if ( !state  || !state->HasText() )
         {
         return;
-        }
-    if ( state->TextChanged() )
-        {
-        ConvertTextToVisualAndClip(); 
-        }
+        }   
     
     const CGulIcon* icon = GetCurrentIcon();
-    if ( !icon )
-        {
-        return;
-        }
-
-    TRect rect = iExtension->iMargins.InnerRect( Rect() );
+
+   
     TRect iconRect;
     TRect textRect;
+    GetCurrentStateTextAndIconRect( iconRect, textRect );
     
-    if ( !( iFlags & KAknButtonNoFrame ) &&
-          ( iFlags & KAknButtonTextInsideFrame ))
-        {
-        TAknLayoutRect centerLayout;
-        centerLayout.LayoutRect( rect,
-        AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
-        rect = centerLayout.Rect();
-        }
-
     CFbsBitmap* buttonBmp = icon->Bitmap();
     CFbsBitmap* buttonMask = icon->Mask();
     TSize iconSize ( buttonBmp->SizeInPixels());
     
-    // Set rects for icon and text according to their positioning
-    // First icon rect according to icon size - rest is for text
-    
-    switch ( iExtension->iTextAndIconAlignment )        
+   
+    if ( state->TextChanged() || iExtension->TextRectSizeChanged( textRect ) )
         {
-        case EIconBeforeText:
-            if ( AknLayoutUtils::LayoutMirrored() ) 
-                {
-                textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-                rect.iBr.iX - iconSize.iWidth, rect.iBr.iY);
-                iconRect.SetRect( rect.iTl.iX + 
-                    rect.Width() -iconSize.iWidth,
-                rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
-                }
-            else
-                {
-                iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-                rect.iTl.iX + iconSize.iWidth, rect.iBr.iY);
-                textRect.SetRect( rect.iTl.iX + iconSize.iWidth,
-                rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
-                }
-            
-            break;
-            
-        case EIconAfterText:
-            if ( AknLayoutUtils::LayoutMirrored() ) 
-                {
-                iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-                rect.iTl.iX + iconSize.iWidth, rect.iBr.iY);
-                textRect.SetRect( rect.iTl.iX + iconSize.iWidth,
-                rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
-                }
-            else
-                {
-                textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-                rect.iBr.iX - iconSize.iWidth, rect.iBr.iY);
-                iconRect.SetRect( rect.iTl.iX + 
-                    rect.Width() -iconSize.iWidth,
-                rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );
-                }
-            break;
-        
-        case EIconOverText:
-            iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-            rect.iBr.iX, rect.iTl.iY + iconSize.iHeight );
-            textRect.SetRect( rect.iTl.iX, rect.iTl.iY + iconSize.iHeight,
-            rect.iBr.iX, rect.iBr.iY );
-            break;
-            
-        case EIconUnderText:
-            textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
-            rect.iBr.iX, rect.iBr.iY - iconSize.iHeight );
-            iconRect.SetRect( rect.iTl.iX, rect.iBr.iY - iconSize.iHeight,
-            rect.iBr.iX, rect.iBr.iY );
-            break;
-
-        case EOverlay:
-            {
-            textRect = rect;
-            iconRect = rect;
-            }
-            break;
-            
-        default:
-            return;
+        ConvertTextToVisualAndClip( textRect ); 
         }
-
     // Draw icon
     TPoint iconPoint;
     switch ( iExtension->iHorizontalIconAlignment )
@@ -4540,6 +4455,13 @@
         iHelpNote->SetTimeDelayBeforeShow( iHelpNoteWaitInterval );
         iHelpNote->SetTimePopupInView( iHelpNoteInViewInterval );
         iHelpNote->SetTooltipModeL( ETrue );
+        
+        //When state changed, empty rect to enable recalculate the 
+        //visual text if text exists in current state.
+        if ( !(iExtension->iTextRect.IsEmpty()) )
+            {
+            iExtension->iTextRect = TRect::EUninitialized;
+            }
         }
     }
 
@@ -4624,7 +4546,7 @@
 // CAknButton::ConvertTextToVisualAndClip
 // -----------------------------------------------------------------------------
 //
-void CAknButton::ConvertTextToVisualAndClip() const
+void CAknButton::ConvertTextToVisualAndClip( const TRect& aRect ) const
     {
     CAknButtonState* state = State();
     if ( !state || !state->HasText() )
@@ -4636,18 +4558,22 @@
         return;
         }
 
-    TRect textRect = iExtension->iMargins.InnerRect( Rect() );
-
-    if ( !( iFlags & KAknButtonNoFrame ) && 
-         ( iFlags & KAknButtonTextInsideFrame ) )
+    TRect textRect( aRect );
+    //Using given rect to calculate the visual text if it's not empty.
+    if ( !textRect.IsEmpty() )
         {
-        TAknLayoutRect center;
-        center.LayoutRect( Rect(), 
-            AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
-
-        textRect = center.Rect();
+        iExtension->iTextRect = textRect;
         }
-
+    //Calculate text area.
+    //This branch means that it's the first calling after the state changed
+    //or client using new font before this is shown. 
+    else 
+        {
+        TRect iconRect;
+        GetCurrentStateTextAndIconRect( iconRect, textRect );
+        iExtension->iTextRect = textRect;
+        }
+   
     TInt clipWidth = textRect.Width();
 
     const CFont* font = iFont;
@@ -4664,6 +4590,135 @@
         clipWidth,
         clipWidth );
     }
+      
+// -----------------------------------------------------------------------------
+// CAknButton::GetCurrentStateTextAndIconRect()
+// Get rect for icon and text of the current button state .
+// -----------------------------------------------------------------------------
+//
+void CAknButton::GetCurrentStateTextAndIconRect( TRect& aIconRect, 
+        TRect& aTextRect ) const
+    {
+    TRect iconRect( TRect::EUninitialized ) ;
+    TRect textRect( TRect::EUninitialized );
+    
+    CAknButtonState* state = State();
+    
+    //Return directly if no state
+    if ( !state )
+        {
+        aIconRect = iconRect;
+        aTextRect = textRect;
+        return;
+        }
+    
+    TBool hasText( state->HasText() );
+    TBool hasIcon( EFalse );  
+
+    const CGulIcon* icon = GetCurrentIcon();
+    if ( icon )
+        {
+        hasIcon = ETrue;
+        }  
+    
+    TRect rect = iExtension->iMargins.InnerRect( Rect() );    
+    
+    //Icon area is not effected by the frame flags.
+    if ( hasIcon )
+        {
+        iconRect = rect;
+        }
+    
+    if ( !( iFlags & KAknButtonNoFrame ) &&
+          ( iFlags & KAknButtonTextInsideFrame ))
+        {
+        TAknLayoutRect centerLayout;
+        centerLayout.LayoutRect( rect,
+        AknLayoutScalable_Avkon::toolbar_button_pane_g1().LayoutLine() );
+        rect = centerLayout.Rect();
+        }
+    
+    if ( hasText )
+        {
+        textRect = rect;
+        }
+ 
+
+    if ( hasText && hasIcon )
+        {
+        CFbsBitmap* buttonBmp = icon->Bitmap();
+        CFbsBitmap* buttonMask = icon->Mask();
+        TSize iconSize ( buttonBmp->SizeInPixels());
+            
+            // Set rects for icon and text according to their positioning
+            // First icon rect according to icon size - rest is for text
+            
+        switch ( iExtension->iTextAndIconAlignment )        
+            {
+            case CAknButton::EIconBeforeText:
+                if ( AknLayoutUtils::LayoutMirrored() ) 
+                    {
+                    textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                    rect.iBr.iX - iconSize.iWidth, rect.iBr.iY);
+                    iconRect.SetRect( rect.iTl.iX + 
+                        rect.Width() -iconSize.iWidth,
+                    rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
+                    }
+                else
+                    {
+                    iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                    rect.iTl.iX + iconSize.iWidth, rect.iBr.iY);
+                    textRect.SetRect( rect.iTl.iX + iconSize.iWidth,
+                    rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
+                    }
+                
+                break;
+                
+            case CAknButton::EIconAfterText:
+                if ( AknLayoutUtils::LayoutMirrored() ) 
+                    {
+                    iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                    rect.iTl.iX + iconSize.iWidth, rect.iBr.iY);
+                    textRect.SetRect( rect.iTl.iX + iconSize.iWidth,
+                    rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );    
+                    }
+                else
+                    {
+                    textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                    rect.iBr.iX - iconSize.iWidth, rect.iBr.iY);
+                    iconRect.SetRect( rect.iTl.iX + 
+                        rect.Width() -iconSize.iWidth,
+                    rect.iTl.iY, rect.iBr.iX, rect.iBr.iY );
+                    }
+                break;
+            
+            case CAknButton::EIconOverText:
+                iconRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                rect.iBr.iX, rect.iTl.iY + iconSize.iHeight );
+                textRect.SetRect( rect.iTl.iX, rect.iTl.iY + iconSize.iHeight,
+                rect.iBr.iX, rect.iBr.iY );
+                break;
+                
+            case CAknButton::EIconUnderText:
+                textRect.SetRect( rect.iTl.iX, rect.iTl.iY,
+                rect.iBr.iX, rect.iBr.iY - iconSize.iHeight );
+                iconRect.SetRect( rect.iTl.iX, rect.iBr.iY - iconSize.iHeight,
+                rect.iBr.iX, rect.iBr.iY );
+                break;
+
+            case CAknButton::EOverlay:
+                {
+                textRect = rect;
+                iconRect = rect;
+                }
+                break;
+            default:
+                break; //Do nothing.
+            }            
+        }
+    aTextRect = textRect;
+    aIconRect = iconRect;
+    }
 // -----------------------------------------------------------------------------
 // CAknButton::TouchArea
 // Returns the button touchable area.
--- a/uifw/EikStd/coctlsrc/AknToolbar.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/AknToolbar.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1210,8 +1210,12 @@
         for(TInt i = 0; i < iVisibleItems.Count(); i++)
             {
             CAknToolbarItem* item = iVisibleItems[ i ];
-            CAknButton* button = static_cast<CAknButton*>( item->Control() ); 
-            button->ResetState();
+            if( item->ControlType() == EAknCtButton 
+                || item->ControlType() == EAknCtToolbarExtension )
+                {
+                CAknButton* button = static_cast<CAknButton*>( item->Control() ); 
+                button->ResetState();
+                }
             }
 
         if ( iFlags & KAknToolbarFixed )
--- a/uifw/EikStd/coctlsrc/EIKCOCTL.MMP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKCOCTL.MMP	Mon Aug 23 15:39:03 2010 +0100
@@ -156,18 +156,18 @@
 LIBRARY         avkon.lib
 LIBRARY         tagma.lib
 LIBRARY         aknpictograph.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         aknskins.lib
 LIBRARY         bitgdi.lib
 LIBRARY         featmgr.lib
 LIBRARY         aknicon.lib
 LIBRARY         jplangutil.lib
-LIBRARY         NumberGrouping.lib
+LIBRARY         numbergrouping.lib
 LIBRARY         CommonEngine.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         FontProvider.lib
 LIBRARY         EikCoCtlLaf.lib
-LIBRARY         AknCapServerClient.lib
+LIBRARY         akncapserverclient.lib
 LIBRARY         servicehandler.lib
 LIBRARY         hlplch.lib
 LIBRARY         centralrepository.lib
@@ -183,14 +183,14 @@
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 LIBRARY         aknlistloadertfx.lib
 #endif //RD_UI_TRANSITION_EFFECTS_LIST
-LIBRARY         AknLayout2.lib
+LIBRARY         aknlayout2.lib
 LIBRARY         eikdlg.lib
 LIBRARY         akntransitionutils.lib
 DEFFILE EIKCOCTL.DEF
-LIBRARY         fontutils.lib 
+LIBRARY         fontutils.lib
 LIBRARY         aknphysics.lib
 
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 START WINS
 BASEADDRESS     0x40B00000
 END
--- a/uifw/EikStd/coctlsrc/EIKEDWIN.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKEDWIN.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -228,6 +228,11 @@
     {
     friend class CEikEdwin;
 public:
+    // The length of text window
+    const static TInt KMaxSegmentLength = 10000;
+    // The threshold for text window position change
+    const static TInt KSegmentUpdateTrigger = 100;
+    
     static CEikEdwinFepSupport* New(CEikEdwin& aEdwin);
     virtual ~CEikEdwinFepSupport();
     TBool IsHandledByFepL(TPointerEvent::TType aType, TUint aModifiers, TInt aDocumentPosition);
@@ -243,7 +248,21 @@
     // from MCoeFepAwareTextEditor_Extension1
     void SetStateTransferingOwnershipL(CState* aState, TUid aTypeSafetyUid);
     CState* State(TUid aTypeSafetyUid); // this function does *not* transfer ownership
-
+    
+    // New functions for Touch Input sync performance improvement. A sliding window method is used 
+    // here to show only part of text of editor to Touch Input, so the text sync between Touch input and 
+    // editor can be faster.
+    /**
+     * To update start position of text window according to cursor position. The cursor position has to
+     * be in the visible text window.
+     */
+    void UpdateDocPosOffsetL( TInt aCursorPos );
+
+    /**
+     * To check if FEP wants to get information of whole text, not the text window.
+     */
+    TBool FepRequireWholeTextData() const;
+    
 private:
     enum TPointerState
         {
@@ -303,6 +322,8 @@
     MTouchFeedback* iFeedback;
     TBool iSelectionIsCancel;
     TInt iMoveThumbFeedbackNeeded;
+    // record start position of text window
+	TInt iDocPosOffset;
 private:    
     MFepPointerEventHandlerDuringInlineEdit* iPointerEventHandlerDuringInlineEdit; // does not own anything
     SPointerEventInInlineText iLastPointerEventInInlineText;
@@ -590,8 +611,6 @@
 
 void CEikEdwinFepSupport::SetInlineEditingCursorVisibilityL(TBool aCursorVisibility)
     {
-    __ASSERT_ALWAYS(iPositionOfInlineTextInDocument>=0,Panic(EEikPanicBadInlineEditingState7)); // assert that we're currently inline editing
-    __ASSERT_DEBUG((iOriginalSelection.iCursorPos>=0) && (iOriginalSelection.iAnchorPos>=0) && (iPositionOfInsertionPointInDocument>=0) && (iPositionOfInlineTextInDocument>=0) && (iLengthOfInlineText>=0) && (iPointerEventHandlerDuringInlineEdit!=NULL),Panic(EEikPanicBadInlineEditingState8));
     iEdwin.SetCursorVisibilityL(aCursorVisibility);
     iShowCursor = aCursorVisibility;
     }
@@ -637,32 +656,128 @@
 
 TInt CEikEdwinFepSupport::DocumentLengthForFep() const
     {
+    // If the length between text window start position and text end is shorter
+    // than length of text window, return the short length, otherwise return
+    // text window length.
+    if ( !FepRequireWholeTextData() && iEdwin.TextLength() > KMaxSegmentLength )
+        {
+        TInt lengthToEnd( iEdwin.TextLength() - iDocPosOffset );
+        if ( lengthToEnd < KMaxSegmentLength )
+            {
+            return lengthToEnd;
+            }
+        return KMaxSegmentLength;
+        }
     return iEdwin.TextLength();
     }
 
 TInt CEikEdwinFepSupport::DocumentMaximumLengthForFep() const
     {
+    // return the length between textlimit and text window start position
+    if ( !FepRequireWholeTextData() && KMaxSegmentLength < iEdwin.iTextLimit )
+        {
+        return iEdwin.iTextLimit - iDocPosOffset;
+        }
     return iEdwin.iTextLimit;
     }
 
 void CEikEdwinFepSupport::SetCursorSelectionForFepL(const TCursorSelection& aCursorSelection)
     {
-    TCursorSelection select( aCursorSelection.iCursorPos, aCursorSelection.iAnchorPos );
-    iEdwin.HandleSelectionForSmiley( select );
-    iEdwin.iTextView->SetSelectionL( select );
-    iEdwin.UpdateVertScrollBarThumbL();
-    iEdwin.UpdateHorizScrollBarThumb();
-    iEdwin.ReportEdwinEventL( MEikEdwinObserver::EEventNavigation );
+    // if text window is enabled, the pos of parameter selection are relative to
+    // text window start position, so convert them back to actual doc pos.
+    TInt cursorPos( aCursorSelection.iCursorPos );
+    TInt anchorPos( aCursorSelection.iAnchorPos );
+    TInt textLength( iEdwin.TextLength() );
+    if ( !FepRequireWholeTextData() )
+        {
+        cursorPos += iDocPosOffset;
+        anchorPos += iDocPosOffset;
+        cursorPos = cursorPos > textLength ? textLength : cursorPos;
+        anchorPos = anchorPos > textLength ? textLength : anchorPos;
+        if ( cursorPos != anchorPos )
+            {
+            TCursorSelection select( iEdwin.Selection() );
+            if ( ( anchorPos == iDocPosOffset || anchorPos == iDocPosOffset + 
+                KMaxSegmentLength ) && anchorPos >= select.LowerPos() && 
+                anchorPos <= select.HigherPos() )
+                {
+                anchorPos = cursorPos > anchorPos ? select.LowerPos() : 
+                    select.HigherPos();
+                }
+            }
+        }
+    // Selection position can not be in smiley code string, so check if
+    // the position needs to be changed.
+    if ( iEdwin.IsSmileyEnabled() )
+        {  
+        CSmileyManager* smiley( iEdwin.iEdwinExtension->iSmiley );
+        TInt oldPos = ( cursorPos == anchorPos ) ? iEdwin.CursorPos() : anchorPos; 
+        smiley->HandleSetCursor( oldPos, cursorPos );       
+        if ( aCursorSelection.iCursorPos == aCursorSelection.iAnchorPos )
+            {
+            anchorPos = cursorPos;
+            }
+        else
+            {
+            smiley->HandleSetCursor( cursorPos, anchorPos );
+            }
+        }
+    iEdwin.SetSelectionL( cursorPos, anchorPos );
+    // Cursor pos is changed, so update text window position.
+	UpdateDocPosOffsetL( cursorPos );
+    iEdwin.ReportEdwinEventL(MEikEdwinObserver::EEventNavigation);
     }
 
 void CEikEdwinFepSupport::GetCursorSelectionForFep(TCursorSelection& aCursorSelection) const
     {
     aCursorSelection=iEdwin.Selection();
+    // To use text window, FEP can not access text view of editor directly but 
+    // FEP needs to know some information which can not be provided by current 
+    // interface. So use below method to transfer the information to FEP.
+    CAknEdwinState* state( iEdwin.EditorState() );
+    if ( state )
+        {
+        TInt flag( state->Flags() );
+        TTmDocPos docPos;
+        iEdwin.TextView()->GetCursorPos( docPos );
+        if ( docPos.iLeadingEdge )
+            {
+            flag |= EAknEditorFlagCursorLedingEdge;
+            }
+        else
+            {
+            flag &= ~EAknEditorFlagCursorLedingEdge;
+            }
+        state->SetFlags( flag );
+        }
+    // If text window is enabled, convert the actual doc pos to relative doc pos.
+    if ( !FepRequireWholeTextData() )
+        {
+        if ( aCursorSelection.iAnchorPos < iDocPosOffset )
+            {
+            aCursorSelection.iAnchorPos = iDocPosOffset;
+            }
+        else if ( aCursorSelection.iAnchorPos > iDocPosOffset + KMaxSegmentLength )
+            {
+            aCursorSelection.iAnchorPos = iDocPosOffset + KMaxSegmentLength;
+            }
+        aCursorSelection.iCursorPos -= iDocPosOffset;
+        aCursorSelection.iAnchorPos -= iDocPosOffset;
+        }
     }
 
 void CEikEdwinFepSupport::GetEditorContentForFep(TDes& aEditorContent,TInt aDocumentPosition,TInt aLengthToRetrieve) const
     {
+    // If text window is enabled, convert relative doc pos to actual doc pos.
+    if ( !FepRequireWholeTextData() )
+        {
+        aDocumentPosition += iDocPosOffset;
+        }
     TInt length( Min( aLengthToRetrieve, iEdwin.TextLength() - aDocumentPosition ) );
+    if ( !FepRequireWholeTextData() )
+        {
+        length = Min( length, KMaxSegmentLength );
+        }    
     iEdwin.iText->Extract( aEditorContent, aDocumentPosition, length );
     CSmileyManager* smiley( iEdwin.iEdwinExtension->iSmiley );
     if ( smiley && smiley->HasSmileyIconsInText() )
@@ -710,6 +825,8 @@
 
 void CEikEdwinFepSupport::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLine,TInt& aHeight,TInt& aAscent,TInt aDocumentPosition) const
     {
+    // If text window is enabled, convert relative doc pos to actual doc pos.
+    aDocumentPosition += iDocPosOffset;
     aDocumentPosition %= ( iEdwin.iText->DocumentLength() + 1 );    
     iEdwin.iTextView->DocPosToXyPosL(aDocumentPosition,aLeftSideOfBaseLine);
     aLeftSideOfBaseLine+=iEdwin.DrawableWindow()->InquireOffset(iEdwin.iCoeEnv->RootWin()); // make position "absolute" (i.e. not relative to the window that iEdwin is using) - note that *any* group window can be passed into InquireOffset to return the desired result, it doesn't have to be an ancestor of the window being used by iEdwin (i.e. this line of code does *not* make the assumption that iEdwin is (even indirectly) attached to iCoeEnv->RootWin())
@@ -878,6 +995,50 @@
     {
     }
 
+// Update start position of text window, when cursor pos is out of current 
+// text window or it is in trigger range, the text window position needs to 
+// be changed and notify FEP the text change.
+void CEikEdwinFepSupport::UpdateDocPosOffsetL( TInt aCursorPos )
+    {
+    if ( FepRequireWholeTextData() )
+        {
+        return;
+        }
+    if ( iEdwin.TextLength() > KMaxSegmentLength )
+        {
+        TInt halfSegment( KMaxSegmentLength / 2 );
+        TBool validDocPosOffset( iDocPosOffset >= 0 && aCursorPos > iDocPosOffset &&
+            aCursorPos - iDocPosOffset < KMaxSegmentLength );
+        TBool cursorInHead( validDocPosOffset && 
+            aCursorPos - iDocPosOffset < KSegmentUpdateTrigger );
+        TBool cursorInTail( validDocPosOffset && 
+            iDocPosOffset + KMaxSegmentLength - aCursorPos < KSegmentUpdateTrigger &&
+            iDocPosOffset + KMaxSegmentLength < iEdwin.TextLength() );
+        if  ( !validDocPosOffset || cursorInHead || cursorInTail )
+            {
+            if ( iEdwin.TextLength() - aCursorPos < halfSegment )
+                {
+                iDocPosOffset = iEdwin.TextLength() - KMaxSegmentLength;
+                }
+            else
+                {
+                iDocPosOffset = aCursorPos - halfSegment;
+                iDocPosOffset = iDocPosOffset >= 0 ? iDocPosOffset : 0;
+                }            
+            static_cast<CAknEdwinState*>( State( KNullUid ) )->ReportAknEdStateEventL( 
+                MAknEdStateObserver::EAknCursorPositionChanged );
+            }
+        }
+    }
+
+// Check if FEP set the flag to indicate it wants to get information of whole
+// text, not the text window.
+TBool CEikEdwinFepSupport::FepRequireWholeTextData() const
+    {
+    CAknEdwinState* state( static_cast<CAknEdwinState*>( 
+        const_cast<CEikEdwinFepSupport*>( this )->State(KNullUid) ) );
+    return ( state->Flags() & EAknEditorFlagNeedWholeTextData );
+    }
 
 //
 //  CEikEdwinExtension
@@ -2990,11 +3151,15 @@
                 {
                 TRAP_IGNORE( edwinState->ReportAknEdStateEventL( 
                     MAknEdStateObserver::EAknSyncEdwinState ) );
-                if ( edwinState->Flags() & EAknEditorFlagHideTextView )
+                // if text view is already hidden and editor loses focus, display text view.
+				if ( ( edwinState->Flags() & EAknEditorFlagHideTextView ) &&
+                     ( iEdwinExtension && iEdwinExtension->iTextViewHidden ) )
                     {
                     iTextView->MakeVisible( ETrue );
                     edwinState->SetFlags( edwinState->Flags() & 
                         ~EAknEditorFlagHideTextView );
+                    iEdwinExtension->iTextViewHidden = EFalse;                    
+                    DrawDeferred();
                     }
                 }
             else
@@ -3509,6 +3674,8 @@
     if ( iEdwinFepSupport && 
         ( aDocPos != oldPos || ( select.Length() > 0 && !aSelect ) ) )
         {
+        // Update text window position for cursor change.
+        iEdwinFepSupport->UpdateDocPosOffsetL( docPos );
         CAknEdwinState* edwinState = static_cast<CAknEdwinState*>( iEdwinFepSupport->State(KNullUid) );
         if ( edwinState )
             {
@@ -3558,6 +3725,8 @@
 
     if ( iEdwinFepSupport )
         {
+        // Update text window position for cursor change.
+        iEdwinFepSupport->UpdateDocPosOffsetL( aCursorPos );
         CAknEdwinState* edwinState = static_cast<CAknEdwinState*>( iEdwinFepSupport->State(KNullUid) );
         if ( edwinState )
             {
@@ -4054,6 +4223,8 @@
 
     if ( iEdwinFepSupport )
         {
+        // Update text window position for cursor change.
+        iEdwinFepSupport->UpdateDocPosOffsetL( CursorPos() );
         CAknEdwinState* edwinState = static_cast<CAknEdwinState*>( 
             iEdwinFepSupport->State( KNullUid ) );
         if ( edwinState )
@@ -8349,18 +8520,42 @@
         TRAP_IGNORE( ReportChinesePopupEventL( chinesePopup == 0 ) );
         }
     
-    if ( iTextView )
-        {
-        if ( ( aNewFlags & EAknEditorFlagHideTextView )
-                && !( aOldFlags & EAknEditorFlagHideTextView ) )
+    // To reduce power consumption, text view should be hidden when full screen Touch
+    // Input is open and editor is covered by it, for user can not see editor in this 
+    // case. When full screen Touch Input is open, FEP will set flag EAknEditorFlagHideTextView 
+    // to notify editor the text view should be hidden. But we have to check if the feature 
+    // of partial screen input is enabled at the same time, for full screen Touch Input window 
+    // will only occupy part of the screen if the feature is eanbled and editor is still visible 
+    // to user. So editor can only be hidden in such situation: full screen Touch Input is open 
+    // and partial screen feature is disabled.
+    // In the contrary situations (full screen touch input is closed or partial screen 
+    // feature is enabled), text view has to be shown so editor can work as normal.
+    if ( iTextView && iEdwinExtension )
+        {
+        TBool textViewHideEnabled( ( aNewFlags & EAknEditorFlagHideTextView ) &&
+            !( aOldFlags & EAknEditorFlagHideTextView ) );
+
+        TBool textViewHideDisabled( !( aNewFlags & EAknEditorFlagHideTextView ) && 
+            ( aOldFlags & EAknEditorFlagHideTextView ) );
+
+        TBool partialScreenEnabled( ( aNewFlags & EAknEditorFlagEnablePartialScreen ) &&
+            !( aOldFlags & EAknEditorFlagEnablePartialScreen ) );
+
+        TBool partialScreenDisabled( !( aNewFlags & EAknEditorFlagEnablePartialScreen ) && 
+            ( aOldFlags & EAknEditorFlagEnablePartialScreen ) );
+         
+        if ( ( textViewHideEnabled && 
+                !( aNewFlags & EAknEditorFlagEnablePartialScreen ) ) ||
+             ( partialScreenDisabled && ( aNewFlags & EAknEditorFlagHideTextView ) ) )
             {
             iTextView->MakeVisible( EFalse );
-            }
-        else if ( ( aOldFlags & EAknEditorFlagTouchInputModeOpened )
-                && !( aNewFlags & EAknEditorFlagTouchInputModeOpened ) )
+            iEdwinExtension->iTextViewHidden = ETrue;
+            }
+        else if ( iEdwinExtension->iTextViewHidden && ( textViewHideDisabled || partialScreenEnabled ) )
             {
             iTextView->MakeVisible( ETrue );
             DrawNow();
+            iEdwinExtension->iTextViewHidden = EFalse;            
             }
         }
     }
--- a/uifw/EikStd/coctlsrc/EIKLBI.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKLBI.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -38,7 +38,7 @@
 #include "laflbx.h"
 #include "akntrace.h"
 
-const TUint KListItemDrawerAllowedFlags = 0x1fff;
+const TUint KListItemDrawerAllowedFlags = 0x3fff;
 
 const TInt KDefaultMarkColumnWidth = 10;
 const TInt KDefaultMarkGutter = 2;
--- a/uifw/EikStd/coctlsrc/EIKLBV.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKLBV.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -1500,6 +1500,48 @@
     }
 
 
+// ---------------------------------------------------------------------------
+// Sets all items selected.
+// ---------------------------------------------------------------------------
+//
+void CListBoxView::SelectAllL( TBool aDrawItems )
+    {
+    _AKNTRACE_FUNC_ENTER;
+    
+    __ASSERT_DEBUG( iSelectionIndexes, 
+                    Panic( EEikPanicListBoxNoSelIndexArray ) );
+    __ASSERT_DEBUG( iModel, Panic( EEikPanicListBoxNoModel ) );
+    
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
+    MAknListBoxTfxInternal* transApi = CAknListLoader::TfxApiInternal( iGc );
+#endif // RD_UI_TRANSITION_EFFECTS_LIST    
+    
+    ClearSelection();
+    TInt numItems = iModel->NumberOfItems();
+    
+    for ( TInt i = 0; i < numItems; i++ )
+        {
+        if ( !iItemDrawer->Properties( i ).IsSelectionHidden() ) 
+            { 
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
+            if ( transApi )
+                {
+                transApi->Invalidate( MAknListBoxTfxInternal::EListItem, i );
+                }
+#endif // RD_UI_TRANSITION_EFFECTS_LIST
+            
+            iSelectionIndexes->AppendL( i );
+            
+            if ( aDrawItems )
+                {
+                DrawItem( i );
+                }
+            }
+        }
+    _AKNTRACE_FUNC_EXIT;
+    }
+
+
 // class CSnakingListBoxView
 
 EXPORT_C CSnakingListBoxView::CSnakingListBoxView()
--- a/uifw/EikStd/coctlsrc/EIKLBX.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKLBX.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -1046,9 +1046,10 @@
     if ( aExtensionId == MAknMarkingCollection::TYPE )
         {
         a0 = static_cast<MAknMarkingCollection*>( this );
-        }
-
-    return KErrNone;
+        return KErrNone;
+        }
+
+    return KErrNotFound;
     }
 
 
@@ -1115,7 +1116,7 @@
         if ( index >= 0 && 
                 !iListBox.iItemDrawer->Properties( index ).IsSelectionHidden() )
             {
-            iListBox.View()->SelectItemL( iListBox.CurrentItemIndex() );
+            iListBox.View()->SelectItemL( index );
             }
         }
     _AKNTRACE_FUNC_EXIT;
@@ -1129,16 +1130,11 @@
 void CListBoxExt::MarkAllL()
     {
     _AKNTRACE_FUNC_ENTER;
-
-    if ( iListBox.MarkingMode() )
-        {       
-        for ( TInt i = 0; i < iListBox.Model()->NumberOfItems(); ++i )
-            {
-            if ( !iListBox.iItemDrawer->Properties( i ).IsSelectionHidden() )
-                {
-                iListBox.View()->SelectItemL( i );
-                }
-            }
+    
+    if ( iListBox.MarkingMode() && 
+            iListBox.Model()->NumberOfItems() > 0 )
+        {               
+        iListBox.View()->SelectAllL( ETrue );   
         }
     _AKNTRACE_FUNC_EXIT;
     }
@@ -1190,7 +1186,6 @@
     iLongTappedItem = iLastDownTappedItem;
     iLastDownTappedItem = KErrNotFound;
     iItemActionMenu->ShowMenuL( aPenEventScreenLocation, 0 );
-    IgnorePointerEventsUntilUp();
     iOldWinPos = iListBox.DrawableWindow()->OrdinalPosition();
     _AKNTRACE_FUNC_EXIT;
     }
@@ -1872,7 +1867,8 @@
         TInt topItemIndex = iListBox.iView->TopItemIndex();
         TInt itemHeight = iListBox.iView->ItemHeight();
         TInt numberOfItems = iListBox.iModel->NumberOfItems();
-
+        TInt emptySpaceOffset ( 0 );
+        
         TSize viewSize( iListBox.iView->ViewRect().Size() );
         TSize worldSize( viewSize.iWidth, itemHeight * numberOfItems );
         
@@ -1887,6 +1883,15 @@
                 {
                 worldSize.iHeight += itemHeight;
                 }
+            
+            // Check empty space below the grid
+            if ( topItemIndex != 0 )
+                {
+                TInt lastItemBottomY = 
+                        iListBox.iView->ItemPos( 
+                                numberOfItems - 1 ).iY + itemHeight +1;
+                emptySpaceOffset = Min( 0, lastItemBottomY - viewSize.iHeight );
+                }
             }
             
         // Reset offset if view's size has changed - this is needed if e.g.
@@ -1897,6 +1902,7 @@
             }
 
         TPoint viewCenter( viewSize.iWidth / 2, ( topItemIndex / iItemsInSingleLine ) * itemHeight - iListBox.iView->ItemOffsetInPixels() + ( viewSize.iHeight / 2 ) );
+        viewCenter.iY += emptySpaceOffset;
 
         // Make sure that world's size is always at least view size.
         worldSize.iHeight = Max( worldSize.iHeight, viewSize.iHeight );
@@ -3410,9 +3416,13 @@
     iView->ClearFlags(CListBoxView::EItemCountModified);
 
 
-    if ( iListBoxExt && iListBoxExt->iLongTappedItem != KErrNotFound )
-        {
-        iListBoxExt->EnableHighlight( EFalse );
+    if ( iListBoxExt->iItemActionMenu &&
+         iListBoxExt->iLongTappedItem != KErrNotFound )
+        {
+        // Item action menu is being shown and it needs to be closed when
+        // items are added or removed to the list array, otherwise the
+        // item specific commands may be targeted to the wrong item. 
+        iListBoxExt->iItemActionMenu->HideMenu();
         }
 
     FireItemChange();
@@ -3497,7 +3507,7 @@
     {
     _AKNTRACE_FUNC_ENTER;
     __ASSERT_DEBUG( iView, Panic( EEikPanicListBoxNoView ) );
-    //fix the bug EGGO-7SQA4S and EVSG-7TD9WZ     
+
     TInt curItemIndex = iView->CurrentItemIndex();
     if(curItemIndex >= 0 && curItemIndex < iModel->NumberOfItems() )
       {
@@ -3505,8 +3515,7 @@
       iView->SetTopItemIndex( newTopItemIndex );
       }
     iView->SetFlags(CListBoxView::EItemCountModified);
-    // following breaks lists in square layout, not needed in SERIES60?
-    //iView->CalcDataWidth();
+
     iView->CalcBottomItemIndex();
     UpdateScrollBarsL();
     UpdateScrollBarThumbs();
@@ -3516,7 +3525,7 @@
     FireItemChange();
     
     if ( iListBoxExt )
-        {    
+        {
         iListBoxExt->CheckScrollBarVisibility();
         // Physics engine world size needs to be updated here, otherwise aknphysics 
         // cone observer may block pointer events on new items. this can happen 
@@ -3525,7 +3534,17 @@
             {
             iListBoxExt->InitPhysicsL();
             }
-        }     
+        
+        if ( iListBoxExt->iItemActionMenu &&
+             iListBoxExt->iLongTappedItem != KErrNotFound )
+            {
+            // Item action menu is being shown and it needs to be closed when
+            // items are added or removed to the list array, otherwise the
+            // item specific commands may be targeted to the wrong item. 
+            iListBoxExt->iItemActionMenu->HideMenu();
+            }
+        }
+
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -5146,7 +5165,8 @@
             _AKNTRACE("TPointerEvent::EButton1Down");
             // For drag outside listbox
             iListBoxExt->iIsDownOnItem = pointerIsOverAnItem;
-            iListBoxExt->iLastPoint = pointerPos;
+            iListBoxExt->iLastPoint = pointerPos;            
+			iListBoxExt->iLongTappedItem = KErrNotFound;
 
             // update index of the last down tapped item
             iListBoxExt->iLastDownTappedItem = itemIndex;
@@ -6787,18 +6807,18 @@
                     ( newListBottomPos >= iListBoxExt->ListBottomLimit() ) ||
                     ( newListTopPos <= 0 && newListTopPos + viewHeight >= 0 && newListLastItemPos > viewHeight ) )
                     {
-                    if ( CAknPhysics::EAknPhysicsActionFlicking == iListBoxExt->iPhysics->OngoingPhysicsAction() || 
-                         CAknPhysics::EAknPhysicsActionBouncing == iListBoxExt->iPhysics->OngoingPhysicsAction() )
+                    switch(iListBoxExt->iPhysics->OngoingPhysicsAction())
                         {
-                        iListBoxExt->ImmediateFeedback( ETouchFeedbackSensitiveList,
-                                                        TTouchFeedbackType( ETouchFeedbackVibra ),
-                                                        TPointerEvent() );
-                        }
-                    else if ( CAknPhysics::EAknPhysicsActionDragging == iListBoxExt->iPhysics->OngoingPhysicsAction() )
-                        {
-                        iListBoxExt->ImmediateFeedback( ETouchFeedbackSensitiveList,
-                                                        TTouchFeedbackType( ETouchFeedbackVibra | ETouchFeedbackAudio ),
-                                                        TPointerEvent() );
+                        case CAknPhysics::EAknPhysicsActionBouncing:
+                        case CAknPhysics::EAknPhysicsActionDragging:
+                        case CAknPhysics::EAknPhysicsActionFlicking:
+                            iListBoxExt->ImmediateFeedback( 
+                                    ETouchFeedbackSensitiveList,
+                                    TTouchFeedbackType( ETouchFeedbackVibra ),
+                                    TPointerEvent() );
+                            break;
+                        default:
+                            break;
                         }
                     }
                 }
@@ -6878,8 +6898,12 @@
 
     TBool blockEvent = EFalse;
     
-    TBool allowDragEvent( ( iListBoxFlags & ELeftDownInViewRect ) && !iListBoxExt->iScrollingDisabled );
-
+    // If tap down in listbox area, kinetic scrolling is enabled and style popup menu is not shown,
+    // drag event is sent to listbox.
+    TBool allowDragEvent( ( iListBoxFlags & ELeftDownInViewRect ) 
+            && !iListBoxExt->iScrollingDisabled 
+            && ( iListBoxExt->iSingleClickEnabled 
+                    && iListBoxExt->iLongTappedItem == KErrNotFound ) );
     
     switch ( aPointerEvent.iType )
         {
--- a/uifw/EikStd/coctlsrc/EIKMENUB.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKMENUB.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -1172,14 +1172,7 @@
             TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp;
             if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) )
                 {
-                if( iExt->iMenuType == EMenuContext || iExt->iMenuType == EMenuEdit )
-                    {
-                    fbLogicalType = ETouchFeedbackIncreasingPopUp;
-                    }
-                else
-                    {
-                    fbLogicalType = ETouchFeedbackOptionsMenuOpened;
-                    }
+                fbLogicalType = ETouchFeedbackOptionsMenuOpened;
                 }
             feedback->InstantFeedback(
                                    this,
@@ -1370,15 +1363,7 @@
                     if ( CAknTransitionUtils::TransitionsEnabled(
                             AknTransEffect::EComponentTransitionsOff ) )
                         {
-                        if ( iExt->iMenuType == EMenuContext ||
-                             iExt->iMenuType == EMenuEdit )
-                            {
-                            fbLogicalType = ETouchFeedbackDecreasingPopUp;
-                            }
-                        else
-                            {
-                            fbLogicalType = ETouchFeedbackOptionsMenuClosed;
-                            }
+                        fbLogicalType = ETouchFeedbackOptionsMenuClosed;
                         }
                     feedback->InstantFeedback(
                                            this,
--- a/uifw/EikStd/coctlsrc/EIKMENUP.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EIKMENUP.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -573,24 +573,18 @@
         if ( iFlickActive || iPanningActive )
             {
             if ( ( aOffset>0 && iListTopIndex <= listBottomLimit && iListTopIndex >= -iViewHeight ) ||
-            	  ( aOffset<0 && iListBottomIndex >= 0 && iListBottomIndex <= listBottomLimit+iViewHeight ) ) 
-            	{
-            	if ( iPhysics )
+                  ( aOffset<0 && iListBottomIndex >= 0 && iListBottomIndex <= listBottomLimit+iViewHeight ) ) 
+                {
+                if ( iPhysics )
                     {
-                    TTouchFeedbackType feedbackType = ETouchFeedbackVibra;
-                    switch( iPhysics->OngoingPhysicsAction() )
+                    switch(iPhysics->OngoingPhysicsAction())
                         {
+                        case CAknPhysics::EAknPhysicsActionBouncing:
                         case CAknPhysics::EAknPhysicsActionDragging:
-                            {
-                            feedbackType = static_cast<TTouchFeedbackType> ( ETouchFeedbackVibra | ETouchFeedbackAudio );
-                            }
                         case CAknPhysics::EAknPhysicsActionFlicking:
-                        case CAknPhysics::EAknPhysicsActionBouncing:
-                            {
                             ImmediateFeedback( ETouchFeedbackSensitiveList,
-                                               feedbackType );
+                                    ETouchFeedbackVibra );
                             break;
-                            }
                         default:
                             break;
                         }
@@ -6390,6 +6384,10 @@
         {
         resourceId = R_AVKON_MENU_SCT_ROW_DEFAULT_CONTENTS_CHINESE;
         }
+    if (FeatureManager::FeatureSupported(KFeatureIdKorean))
+        {
+        resourceId = R_AVKON_MENU_SCT_ROW_DEFAULT_CONTENTS_KOREAN;
+        }
     iExtension->ConstructMenuSctRowL( aSpecialChars, resourceId );
     }
 
@@ -6789,9 +6787,9 @@
 // CEikMenuPane::CleanLocalRef
 // -----------------------------------------------------------------------------
 //
-void CEikMenuPane::CleanLocalRef( TAny* any )
-    {
-    static_cast<CEikMenuPane*>( any )->iIsDeleted = NULL;
+void CEikMenuPane::CleanLocalRef( TAny* aParam )
+    {
+    static_cast<CEikMenuPane*>( aParam )->iIsDeleted = NULL;
     }
 
 
--- a/uifw/EikStd/coctlsrc/EikCcpu.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/EikCcpu.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -29,6 +29,9 @@
 const TInt KRightSoftkeyIndex = 2;
 const TInt KNullCommandId = -1;
 
+// declare the function IsCbaEmbeddedInDialog
+TBool IsCbaEmbeddedInDialog( const TInt& aFlags );
+
 /**
 * Internal extension class for CAknCcpuSupport.
 *
@@ -150,7 +153,7 @@
 			if( eikAppUi && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
 				{
 				CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
-				if ( dlg )
+				if ( dlg && IsCbaEmbeddedInDialog( dlg->DialogFlags() ) )
 					{
 					CEikButtonGroupContainer* currentCba = dlg->MopGetObject( currentCba );
 					
@@ -336,3 +339,19 @@
             }
 		}
 	}
+
+/**
+ * To detect if CBA is embedded in the diaplog.
+ * @param aFlags it should be CEikDialog::DialogFlags()
+ * @return if an CBA is embedded in the dialog return ETrue 
+ *         else return EFalse
+ */
+TBool IsCbaEmbeddedInDialog( const TInt& aFlags )
+    {
+    return !( aFlags & EEikDialogFlagFillAppClientRect ) &&
+        !( aFlags & EEikDialogFlagFillScreen ) &&
+        !( aFlags & EEikDialogFlagVirtualInput ) &&
+        !( aFlags & EEikDialogFlagNoEmbeddedSoftkeys );
+    }
+
+
--- a/uifw/EikStd/coctlsrc/aknitemactionmenu.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/aknitemactionmenu.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -186,7 +186,8 @@
         {
         if ( !iPopupMenu )
             {
-            iPopupMenu = CAknStylusPopUpMenu::NewL( this, TPoint() );
+            iPopupMenu = CAknStylusPopUpMenu::NewL( this, TPoint(), NULL,
+                    CAknStylusPopUpMenu::EConsumeKeyEvents );
             }
         iPopupMenu->Clear();
         iMenuData->AddMenuItemsToStylusPopupMenuL( iPopupMenu );
@@ -413,6 +414,21 @@
     _AKNTRACE_FUNC_EXIT;
     return markedItems;
     }
+
+
+// ---------------------------------------------------------------------------
+// CAknItemActionMenu::HideMenu
+// ---------------------------------------------------------------------------
+//
+void CAknItemActionMenu::HideMenu()
+    {
+    if ( iPopupMenu && !iProcessingCommand )
+        {
+        iPopupMenu->HideMenu();
+        }
+    }
+
+
 // ---------------------------------------------------------------------------
 // CAknItemActionMenu::CAknItemActionMenu
 // ---------------------------------------------------------------------------
--- a/uifw/EikStd/coctlsrc/aknstyluspopupmenu.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenu.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -25,7 +25,8 @@
 #include <aknappui.h>
 #include <AknDef.h>
 #include <touchfeedback.h>
-
+#include <akntranseffect.h>
+#include <akntransitionutils.h>
 #include "aknstyluspopupmenu.h"
 #include "aknstyluspopupmenucontent.h"
 
@@ -45,11 +46,13 @@
 //
 CAknStylusPopUpMenu::CAknStylusPopUpMenu( MEikMenuObserver* aObserver, 
     const TPoint& aPoint,
-    CAknPreviewPopUpController* aPopup ) 
+    CAknPreviewPopUpController* aPopup,
+    const TInt aFlags )
     : iPosition ( aPoint ),
      iMenuObserver( aObserver ),
      iPreviewPopup( aPopup ),
-     iPositionType( EPositionTypeLeftTop )
+     iPositionType( EPositionTypeLeftTop ),
+     iModeFlags ( aFlags )
     {
     }
 
@@ -82,6 +85,24 @@
     return self;
     }
 
+// ---------------------------------------------------------------------------
+// CAknStylusPopUpMenu::NewL
+// ---------------------------------------------------------------------------
+//
+CAknStylusPopUpMenu* CAknStylusPopUpMenu::NewL( MEikMenuObserver* aObserver,
+        const TPoint& aPoint,
+        CAknPreviewPopUpController* aPopup,
+        const TInt aFlags )
+    {
+    CAknStylusPopUpMenu* self = new ( ELeave ) CAknStylusPopUpMenu( aObserver,
+                                                                    aPoint,
+                                                                    aPopup,
+                                                                    aFlags );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
 
 // ---------------------------------------------------------------------------
 // CAknStylusPopUpMenu::NewL
@@ -180,11 +201,25 @@
     // if contoller exists, re-use it .
     if ( !iController )
         {
-        TRAPD( err, 
-               iController = CAknPreviewPopUpController::NewL( *iContent,
-                       CAknPreviewPopUpController::ELayoutSubMenu | 
-                       CAknPreviewPopUpController::EAutoMirror |
-                       CAknPreviewPopUpController::EDontClose ) );
+        TInt err ( KErrNone );
+
+        if ( iModeFlags & EConsumeKeyEvents )
+            {
+            TRAP( err, iController = CAknPreviewPopUpController::NewL(
+                    *iContent,
+                    CAknPreviewPopUpController::ELayoutSubMenu |
+                    CAknPreviewPopUpController::EAutoMirror |
+                    CAknPreviewPopUpController::EDontClose |
+                    CAknPreviewPopUpController::EConsumeKeys ) );
+            }
+        else
+            {
+            TRAP( err, iController = CAknPreviewPopUpController::NewL(
+                    *iContent,
+                    CAknPreviewPopUpController::ELayoutSubMenu |
+                    CAknPreviewPopUpController::EAutoMirror |
+                    CAknPreviewPopUpController::EDontClose ) );
+            }
         if ( err )
             {
             return;
@@ -201,9 +236,14 @@
         MTouchFeedback* feedback = MTouchFeedback::Instance();
         if ( feedback )
             {
+            TTouchLogicalFeedback feedbackType = ETouchFeedbackPopUp;
+            if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) )
+                {
+                feedbackType = ETouchFeedbackOptionsMenuOpened;
+                }
             feedback->InstantFeedback(
                     iContent,
-                    ETouchFeedbackPopUp,
+                    feedbackType,
                     ETouchFeedbackVibra,
                     TPointerEvent() );
             }
@@ -479,6 +519,20 @@
         }
     }
 
+
+// ---------------------------------------------------------------------------
+// CAknStylusPopUpMenu::HideMenu
+// ---------------------------------------------------------------------------
+//
+void CAknStylusPopUpMenu::HideMenu()
+    {
+    if ( iController )
+        {
+        iController->HidePopUp();
+        }
+    }
+
+
 // -----------------------------------------------------------------------------
 // CAknStylusPopUpMenu::StartControllerIdleL
 // -----------------------------------------------------------------------------
@@ -529,7 +583,7 @@
 // CAknStylusPopUpMenu::CleanLocalRef
 // -----------------------------------------------------------------------------
 //
-void CAknStylusPopUpMenu::CleanLocalRef( TAny* any )
+void CAknStylusPopUpMenu::CleanLocalRef( TAny* aParam )
     {
-    static_cast<CAknStylusPopUpMenu*>( any )->iIsDeleted = NULL;
+    static_cast<CAknStylusPopUpMenu*>( aParam )->iIsDeleted = NULL;
     }
--- a/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenuphysicshandler.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -388,24 +388,19 @@
             {
             if ( iPhysics )
                 {
-                TTouchFeedbackType feedbackType = ETouchFeedbackVibra;
-                switch( iPhysics->OngoingPhysicsAction() )
+                switch(iPhysics->OngoingPhysicsAction())
                     {
+                    case CAknPhysics::EAknPhysicsActionBouncing:
                     case CAknPhysics::EAknPhysicsActionDragging:
-                        {
-                        feedbackType = static_cast<TTouchFeedbackType>
-                                  ( ETouchFeedbackVibra | ETouchFeedbackAudio );
-                        }
                     case CAknPhysics::EAknPhysicsActionFlicking:
-                    case CAknPhysics::EAknPhysicsActionBouncing:
                         {
                         MTouchFeedback* feedback = MTouchFeedback::Instance();
                         if ( feedback )
                             {
                             feedback->InstantFeedback( iPopUpMenuContent,
-                                                    ETouchFeedbackSensitiveList,
-                                                    feedbackType,
-                                                    TPointerEvent() );
+                                                ETouchFeedbackSensitiveList,
+                                                ETouchFeedbackVibra,
+                                                TPointerEvent() );
                             }
                         break;
                         }
--- a/uifw/EikStd/coctlsrc/eikcba.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/eikcba.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -216,7 +216,8 @@
     ECbaItemSpecificSoftkeyInUse, // item specific softkey is in use
     ECbaItemSoftkeyDisabledByClient, // client has disabled item specific softkey
     ECbaMultipleMarkingActive, // multiple marking has changed RSK
-    ECbaCombinePaneUncovered // The combine pane in status pane is invisible.
+    ECbaCombinePaneUncovered, // The combine pane in status pane is invisible.
+    ECbaKeepItemSoftkeyVisible // No auto hide for item specific commands
     };
 
 enum TCbaLayers
@@ -1072,7 +1073,12 @@
         // CBA is embedded in another component (eg. dialog/popup/setting page
         iFlags.Set(ECbaEmbedded);
         }
-
+    
+    if ( aFlags & CEikButtonGroupContainer::EAlwaysShown )
+        {
+        iFlags.Set( ECbaKeepItemSoftkeyVisible  );
+        }
+    
     if ( aFlags & CEikButtonGroupContainer::EParentIsControl )
         {
         iFlags.Set( ECbaParentAsControl );
@@ -2252,6 +2258,30 @@
     if ( iFlags.IsSet( ECbaInsideDialog ) )
         {
         CAknButton* button = static_cast<CAknButton*>( groupCtrl.iControl );
+
+        if ( aCommandId == EAknSoftkeyEmergencyCall )
+            {
+            // Change the button to use "call button" (green) frame graphics
+            // in case of ECS call command to highlight the possibility
+            // of making an emergency call from the query.
+            button->SetBackgroundIds( KAknsIIDQsnFrButtonNormalAnswer,
+                                      KAknsIIDNone,
+                                      KAknsIIDNone,
+                                      KAknsIIDQsnFrButtonPressedAnswer,
+                                      KAknsIIDNone );
+            }
+        else
+            {
+            // Revert the frame graphics back to normal in case that a
+            // new command is added to the stack on top of the emergency
+            // call command (shouldn't happen though).
+            button->SetBackgroundIds( KAknsIIDQsnFrFunctionButtonNormal,
+                                      KAknsIIDQsnFrFunctionButtonPressed,
+                                      KAknsIIDQsnFrFunctionButtonInactive,
+                                      KAknsIIDQsnFrFunctionButtonPressed,
+                                      KAknsIIDQsnFrFunctionButtonInactive );
+            }
+
         button->AddStateL( NULL, NULL, NULL, NULL, *aText, KNullDesC, 0, aCommandId );
             
         if ( aText->Length() == 0 || !aText->Compare( _L(" ") ) )
@@ -2436,6 +2466,16 @@
             groupCtrl.iId     = buttonState->CommandId();
             groupCtrl.iLongId = 0;
                 
+            if ( aCommandId == EAknSoftkeyEmergencyCall )
+                {
+                // Revert the button's frame graphics to the normal ones.
+                button->SetBackgroundIds( KAknsIIDQsnFrFunctionButtonNormal,
+                                          KAknsIIDQsnFrFunctionButtonPressed,
+                                          KAknsIIDQsnFrFunctionButtonInactive,
+                                          KAknsIIDQsnFrFunctionButtonPressed,
+                                          KAknsIIDQsnFrFunctionButtonInactive );
+                }
+                
             if ( buttonState->Text().Length() == 0 ||
                  !buttonState->Text().Compare( _L(" ") ) )
                 {
@@ -2700,25 +2740,15 @@
 
         if ( iFlags.IsSet( ECbaEmbedded ) )
             {
-            TRect rect ( Rect() );
-            TAknLayoutRect layoutRect;
-            layoutRect.LayoutRect(
-                    rect, 
-                    AknLayoutScalable_Avkon::popup_sk_window_g1( 0 ) );
-            
-            // Button widths are calculated based on cba area width
-            // margin width is taken from layout
-            TInt margin = layoutRect.Rect().iTl.iX - rect.iTl.iX;
-            TInt buttonWidth = ( rect.Width() - margin * 2 ) / 2;
-            TSize buttonSize ( buttonWidth, layoutRect.Rect().Height() );
+            // The touch area for the softkeys will be larger than the actual
+            // softkey area (whole CBA area is used).
+            TInt buttonWidth = containerRect.Width() / 2;
+            TSize buttonSize( buttonWidth, containerRect.Height() );
                     
-            button1Rect = TRect(
-                    TPoint( rect.iTl.iX + margin, layoutRect.Rect().iTl.iY ),
-                    buttonSize );
-            button2Rect = TRect( 
-                    TPoint( button1Rect.iBr.iX, layoutRect.Rect().iTl.iY ), 
-                    TPoint( rect.iBr.iX - margin, 
-                            layoutRect.Rect().iBr.iY ) );
+            button1Rect.SetRect( containerRect.iTl, buttonSize );
+            button2Rect.SetRect( TPoint( button1Rect.iBr.iX,
+                                         containerRect.iTl.iY ), 
+                                 containerRect.iBr );
             }
         else if ( AknLayoutFlags() & EAknLayoutCbaInRightPane )
             {
@@ -7801,6 +7831,11 @@
 void CEikCba::UpdateItemSpecificSoftkey( CCoeControl& aControl, TBool aEnable )
     {
     _AKNTRACE_FUNC_ENTER;
+    if ( iFlags.IsSet( ECbaKeepItemSoftkeyVisible  ))
+        {
+        _AKNTRACE_FUNC_EXIT;
+        return;
+        }    
     TBool skEnabled( aControl.IsVisible() && !aControl.IsDimmed() );
     TBool changeState( EFalse );
     if ( !aEnable )
--- a/uifw/EikStd/coctlsrc/smileymodel.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/coctlsrc/smileymodel.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -409,7 +409,7 @@
 
 TBool HavePairedSymbol(const TDesC& aText, TInt aSmileyLength)
     {
-    char stack[5];
+    char stack[CSmileyManager::KMaxLength];
     TInt pos = 0;
     
     TInt i = aText.Length() - 1;
--- a/uifw/EikStd/dlginc/aknformphysics.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlginc/aknformphysics.h	Mon Aug 23 15:39:03 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -31,15 +31,8 @@
 class CAknRecordingGc;
 
 /**
- *  ?one_line_short_description
- *  ?more_complete_description
- *
- *  @code
- *   ?good_class_usage_example(s)
- *  @endcode
- *
- *  @lib ?library
- *  @since S60 ?S60_version *** for example, S60 v3.0
+ *  @lib eikdlg.lib
+ *  @since S60 v5.0
  */
 NONSHARABLE_CLASS( CAknFormPhysics ) : public CBase, public MAknPhysicsObserver
     {
@@ -209,15 +202,6 @@
     */
     void ConstructL();
 
-    /**
-    * Checks whether panning and flicking are allowed with current world and
-    * view sizes.
-    *
-    * @since S60 v5.0
-    * @return ETrue if allowed.
-    */
-    TBool PhysicsAllowed() const;
-
 private: // data
     /**
     * Center of the "view" (the visible window to the whole form i.e. form's
@@ -250,16 +234,6 @@
     * View size.
     */
     TSize iViewSize;
-    
-    /**
-    * Benchmark timestamp.
-    */
-    TTime iStartTime;
-    
-    /**
-    * Benchmark frame counter.
-    */
-    TInt iFrameCount;
     };
 
 #endif // C_CAKNFORMPHYSICS_H
--- a/uifw/EikStd/dlgsrc/EIKCAPC.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKCAPC.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -85,13 +85,6 @@
 GLREF_C void Panic(TEikDialogPanic aPanic);
 
 const TInt KViewHighlightColor = 244 ;
-// const TInt KViewHighlightShadowColor = 222 ; 
-// const TInt KNormalBackgroundColor = 0 ;
-
-
-// Do not reference these directly... Use MaximumNumberOfControlLinesOnVisiblePage() 
-// const TInt KMaxControlLinesOnPageSingleLineFormat =6;
-// const TInt KMaxControlLinesOnPageDoubleLineFormat =5;
 
 enum
     {// must carry on from TSpaceSharingFlags
@@ -111,15 +104,8 @@
     ENoBorder       = 0x20000
     };
 
-const TInt KDynamicEarMask=(ELeftEarDown|ERightEarDown|ELeftEarGrab|ERightEarGrab);
-
-const TInt KCapCDefaultHorzEdgeSpacing=0;
-const TInt KCapCDefaultVertEdgeSpacing=0; 
 const TInt KCapCCenterSpacing=0;
 const TInt KControlTrailerSpacing=0;
-// const TInt KCapCEarHeightTopHalf=0;
-// const TInt KCapCEarHeightBottomHalf=0;
-// const TInt KCapCEarHeight=KCapCEarHeightTopHalf+KCapCEarHeightBottomHalf;
 const TInt KCapCEarWidth=0;
 const TInt KCapCEarSpacing=0;
 const TInt KCapCVertCaptionOffset=0;
@@ -127,9 +113,6 @@
 const TInt KTrailCVertCaptionOffset=0;
 const TInt KCapCSeparatorAfterSpace=0;
 
-const TInt KCapCInitialEarRepeat=600000;    // 6 tenths of a second
-const TInt KCapCEarRepeat=100000; // one tenth of a second
-
 /*
  *  The following set of static functions return value which have been hard coded from the Series 60 Skins LAF v2.0
  *  If a layout DLL becomes available the hard-coded values may be replaced with equivalent Macros.
@@ -350,12 +333,7 @@
 public: // needs to be public because idle callback uses these members.
 	CIdle *iIdle;
 	CIdleCallbackData *iIdleData;
-    /** iPartiallyVisible is used as a protection from changing subcontrol positions of 
-      * partially-visible controls in PositionFormComponents(). This is needed only for
-      * dynamic screen size change.
-      */
-    TBool iPartiallyVisible;
-    
+
     /**
      * Boolean used to check if application is single touch compatible.
      */
@@ -393,8 +371,7 @@
 	iSimulatedDownEvent( EFalse ),
     iFeedback( MTouchFeedback::Instance() ),
 	iIdle(NULL),
-	iIdleData(NULL),
-    iPartiallyVisible( EFalse )
+	iIdleData(NULL)
     {
     _AKNTRACE_FUNC_ENTER;
     if ( iAvkonAppUi )
@@ -478,7 +455,7 @@
     MAknsControlContext* cc = AknsDrawUtils::ControlContext( iSelf->iDialogPage );
 
     return AknsDrawUtils::DrawBackground( skin, cc, iSelf->iDialogPage, aGc, TPoint(0,0),
-                                          iSelf->ViewRect(), KAknsDrawParamRGBOnly );
+                                          iSelf->Rect(), KAknsDrawParamRGBOnly );
     }
 
 
@@ -737,7 +714,7 @@
     return drawingSkins;
     }
 
-EXPORT_C CEikCaptionedControl::CEikCaptionedControl() : iHasAppendedEditIndicator(EFalse)
+EXPORT_C CEikCaptionedControl::CEikCaptionedControl()
     {
     _AKNTRACE_FUNC_ENTER;
     iNumberOfLines = 1 ;  // default starting value
@@ -765,7 +742,6 @@
     delete iCaptionText;
     delete iCaption;
     delete iTrailer;
-    delete iToolTipText ;
     delete iBitmap ;
     delete iHighlightControl ;
     if ( iExtension )
@@ -974,15 +950,10 @@
             size.iWidth+=KCapCEarWidth+KCapCEarSpacing;
             iCaptionWidth+=KCapCEarWidth+KCapCEarSpacing;
             }
-        size.iHeight+=2*iVertEdgeSpacing;
-        size.iWidth+=iCaptionWidth+2*iHorzEdgeSpacing;
+        size.iWidth+=iCaptionWidth;
         if (iCapCFlags&ESeparatorAfter)
             size.iHeight+=KCapCSeparatorAfterSpace;
-        iMinSize=size;
-
-        if ( iDoNotDisplay )
-            // This flag is set if the control is not to be shown - so set it's height to zero
-            iMinSize.iHeight = 0 ;
+
         _AKNTRACE_FUNC_EXIT;
        return(size);
         }
@@ -1171,14 +1142,13 @@
     if (iCapCFlags&EIfTooSmallDontStrech)
     	return;
     
-    TRect rect=Rect();
-    rect.Shrink(iHorzEdgeSpacing,iVertEdgeSpacing);
+    TRect rect(Rect());
     if (iCapCFlags&ESeparatorAfter)
         rect.iBr.iY-=KCapCSeparatorAfterSpace;
 
     const CFont* editorFont = AknLayoutUtils::FontFromId( iEditorFontId ) ;
 
-    TInt normalEditorHeight = editorFont->HeightInPixels() + editorFont->DescentInPixels() + ( 2 * iVertEdgeSpacing ) ;
+    TInt normalEditorHeight = editorFont->HeightInPixels() + editorFont->DescentInPixels();
     if ( normalEditorHeight > rect.Height() )
         normalEditorHeight = rect.Height() ;
 
@@ -1186,8 +1156,8 @@
     // Note, if position of caption & bitmap is to be configurable this routine will have to be re structured
     if ( iBitmap )
         {       
-        TPoint bitmapTl = rect.iTl ;
-        TSize bitmapSize = iBitmap->MinimumSize() ;
+        TPoint bitmapTl( rect.iTl );
+        TSize bitmapSize( iBitmap->MinimumSize() );
         if ( bitmapSize.iHeight > normalEditorHeight )
             {
             // reduce the size of the bitmap whilst retaining proportion. (will clip the bitmap methinks)
@@ -1216,9 +1186,6 @@
         }
     rect.iTl.iX+=iCaptionWidth;
 
-    if ((iCapCFlags&EUsesEars) && !(iCapCFlags&ETrailerAfterEar))
-        rect.iBr.iX-=(KCapCEarWidth+KCapCEarSpacing);
-
     if (iTrailer)
         {
         TSize trailSize=iTrailer->MinimumSize();
@@ -1229,8 +1196,6 @@
         iTrailer->SetExtent(TPoint(trailPosX,trailPosY),trailSize);
         rect.iBr.iX=trailPosX-KControlTrailerSpacing;
         }
-    if ((iCapCFlags&EUsesEars) && (iCapCFlags&ETrailerAfterEar))
-        rect.iBr.iX-=(KCapCEarWidth+KCapCEarSpacing);
 
     if(iCapCFlags&EIfTooBigCtlStaysMinHeight && rect.Height()>iControl->MinimumSize().iHeight)
         rect.iBr.iY=rect.iTl.iY+iControl->MinimumSize().iHeight;
@@ -1241,26 +1206,6 @@
     }
 
 
-TInt CEikCaptionedControl::WidthForEars(TInt aWidthRemaining) const
-    {
-    TInt earWidth=0;
-    if(iCapCFlags&EUsesEars)
-        {
-        const TInt earAndMarginWidth=KCapCEarWidth+KCapCEarSpacing;
-        if(iTrailer || iCaption)
-            {
-            if(aWidthRemaining>(2+(iTrailer?1:0)+(iCaption?1:0))*earAndMarginWidth)
-                earWidth=earAndMarginWidth;
-            else if(aWidthRemaining>(2+(iTrailer?1:0)+(iCaption?1:0))*KCapCEarWidth)
-                earWidth=KCapCEarWidth;
-            }
-        else
-            earWidth=Min(aWidthRemaining/2,earAndMarginWidth);
-        }
-    return earWidth;
-    }
-
-
 void CEikCaptionedControl::SquashComponents()
     {
     TRect rect=Rect();
@@ -1269,14 +1214,14 @@
         rect.iBr.iY-=KCapCSeparatorAfterSpace;
 
     // Space required before the left of the control rect
-    TInt desiredLeft=iHorzEdgeSpacing;
+    TInt desiredLeft=0;
     if(iCaption)
         desiredLeft+=iCaption->MinimumSize().iWidth+KCapCCenterSpacing;
     if ( iBitmap )
         desiredLeft += iBitmap->MinimumSize().iWidth ; // + additional separation?
 
     // Space required after the right of the control rect
-    TInt desiredRight=iHorzEdgeSpacing;
+    TInt desiredRight=0;
     if(iTrailer)
         desiredRight+=iTrailer->MinimumSize().iWidth+KControlTrailerSpacing;
     
@@ -1296,10 +1241,6 @@
         widthRemaining-=controlWidth;
         }
     
-    // Decide if there is space for ears with margins, ears only, or no ears.
-    TInt earWidth=WidthForEars(widthRemaining);
-    widthRemaining-=2*earWidth;
-    
     // Space assigned for before the left of the control rect
     TInt actualLeft=0;
     actualLeft=ScaledSubLength(widthRemaining,desiredLeft,desiredLeft+desiredRight);
@@ -1334,9 +1275,8 @@
         if (iCapCFlags&EExtraAscent)
             rect.iTl.iY+=KCapCExtraAscent;
         
-        if(actualLeft>2*(KCapCCenterSpacing+iHorzEdgeSpacing))
+        if(actualLeft>2*(KCapCCenterSpacing))
                 {
-                captionRect.iTl.iX+=iHorzEdgeSpacing;
                 captionRect.iBr.iX-=KCapCCenterSpacing;
                 }
         const TSize capMin=iCaption->MinimumSize();
@@ -1349,30 +1289,15 @@
         {
         TInt leftAdjust=0;
         TInt rightAdjust=0;
-        TRect trailerRect=rect;
-        trailerRect.iTl.iX+=actualLeft+controlWidth+(iCapCFlags&EUsesEars ? earWidth : 0);
+        TRect trailerRect(rect);
+        trailerRect.iTl.iX+=actualLeft+controlWidth;
         trailerRect.iTl.iY+=KTrailCVertCaptionOffset;
 
-        if(actualRight>2*(iHorzEdgeSpacing+KControlTrailerSpacing))
+        if(actualRight>2*(KControlTrailerSpacing))
             {
-            if(iCapCFlags&ETrailerAfterEar)
-                {
-                leftAdjust=KControlTrailerSpacing+earWidth;
-                rightAdjust=iHorzEdgeSpacing;
-                }
-            else
-                {
-                rightAdjust=earWidth+iHorzEdgeSpacing;
-                leftAdjust=KControlTrailerSpacing;
-                }
+            leftAdjust=KControlTrailerSpacing;
             }
-        else
-            {
-            if(iCapCFlags&ETrailerAfterEar)
-                leftAdjust=earWidth;
-            else
-                rightAdjust=earWidth;
-            }
+
         trailerRect.iTl.iX+=leftAdjust;
         trailerRect.iBr.iX-=rightAdjust;
         iTrailer->SetExtent(trailerRect.iTl,TSize(trailerRect.Width(),
@@ -1380,16 +1305,14 @@
         }
     // Position and set the controls space
     TRect controlRect=rect;
-    controlRect.iTl.iX+=actualLeft+earWidth;
-    controlRect.iBr.iX-=(actualRight+earWidth);
+    controlRect.iTl.iX+=actualLeft;
+    controlRect.iBr.iX-=actualRight;
     if(iCapCFlags&EIfTooBigCtlStaysMinHeight && controlRect.Height()>iControl->MinimumSize().iHeight)
         controlRect.iBr.iY=controlRect.iTl.iY+iControl->MinimumSize().iHeight;
     iControl->SetRect(controlRect);
-    
     }
 
 
-
 /**
  * Sets the flags, aFlags, (see TSpaceSharingFlags), which determine
  * the way space is distributed if the captioned control is given too
@@ -1523,41 +1446,10 @@
             iCaption->SetEmphasis(emphasis);
             }
         }
-    
-
-    if (aDrawNow && iCapCFlags&EUsesEars && IsReadyToDraw())
-        DrawEarsNow(EBothEars);
-    _AKNTRACE_FUNC_EXIT;
-    }
-
-
-
-void CEikCaptionedControl::DrawEarsNow(TWhichEars aEar) const
-    {
-    _AKNTRACE_FUNC_ENTER;
-    ActivateGc();
-    DrawEars(aEar);
-    DeactivateGc();
+
     _AKNTRACE_FUNC_EXIT;
     }
 
-void CEikCaptionedControl::DrawEars(TWhichEars aEar) const
-    {
-    if (aEar&ELeftEar)
-        DrawSingleEar(ELeftEar,iCapCFlags&ELeftEarDown);
-    if (aEar&ERightEar)
-        DrawSingleEar(ERightEar,iCapCFlags&ERightEarDown);
-    }
-
-void CEikCaptionedControl::DrawSingleEar(TWhichEars /*aEar*/,TBool /*aPressed*/) const
-    {
-    // not needed in S60
-    }
-
-TRect CEikCaptionedControl::EarRect(TWhichEars /*aEar*/) const
-    {
-    return(TRect(0,0,0,0)); // not needed in S60
-    }
 
 EXPORT_C TInt CEikCaptionedControl::CountComponentControls() const
     {
@@ -1620,11 +1512,6 @@
     CWindowGc& gc=SystemGc();
 
     gc.SetPenStyle(CGraphicsContext::ENullPen);
-    if ( iRefresh )
-        {
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;
-        }
 
     if ( iCaption )
         {
@@ -1670,12 +1557,6 @@
 
     gc.SetPenStyle(CGraphicsContext::ENullPen);
 
-    if ( iRefresh )
-        {
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;
-        }
-
     if (iDialogPage&& iHighlightControl)
         {
         TInt height(Rect().Height());
@@ -1748,14 +1629,8 @@
 
     gc.SetPenStyle(CGraphicsContext::ENullPen);
 
-    if ( iRefresh )
-        {
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;
-        }
-
     // This gives the correct Rect for using the Layout functions
-    TRect viewRect=ViewRect(); 
+    TRect viewRect( Rect() ); 
 
     TAknLayoutRect line1Rect;
     line1Rect.LayoutRect( viewRect, AKN_LAYOUT_WINDOW_List_pane_highlight_graphics__various__Line_1 (viewRect) );
@@ -1813,14 +1688,6 @@
     CWindowGc& gc=SystemGc();
 
     gc.SetPenStyle(CGraphicsContext::ENullPen);
-
-    if ( iRefresh )
-        {
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;
-        }
-
-    gc.SetPenStyle(CGraphicsContext::ENullPen);
     gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
     gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;  
 
@@ -1837,7 +1704,6 @@
     gc.SetBrushStyle( CGraphicsContext::ENullBrush ) ;
     gc.DrawLine(TPoint(iVerticalLineXPosition,Rect().iTl.iY),
         TPoint(iVerticalLineXPosition,Rect().iBr.iY+1));
-    // CEikCaptionedControl* visibleBelow=0; (NOT USED)
 
     if (iDialogPage) 
         {
@@ -1873,7 +1739,7 @@
     }
 
 
-void CEikCaptionedControl::DrawAsEikonDialog( const TRect& aRect ) const
+void CEikCaptionedControl::DrawAsEikonDialog( const TRect& /*aRect*/ ) const
     {
     _AKNTRACE_FUNC_ENTER;
     CWindowGc& gc=SystemGc();
@@ -1882,16 +1748,6 @@
     if (iHighlightControl)
         STATIC_CAST(CEikCaptionedControlFormHighlightLine*,iHighlightControl)->SetTopOrBottom(CEikCaptionedControlFormHighlightLine::EUnset);
 
-    if ( iRefresh )
-        {
-        gc.SetBrushStyle( CGraphicsContext::ESolidBrush ) ;
-        gc.SetBrushColor( iEikonEnv->ControlColor( EColorWindowBackground, *this ) ) ;
-        }
-
-
-    TRect redrawRect=Rect();
-    redrawRect.Intersection(aRect);
-
     /*
     *
     * FIX TSW JTON-6HGAND - see also eikdpage.cpp
@@ -1902,19 +1758,16 @@
     * Most likely other places using gc.Clear() ( or gc.DrawRect() as 'clear'
     * should be fixed also.
     */
-    
     if (iCapCFlags&ESeparatorAfter)
         {
         TRect rect(Rect());
-        TPoint separatorStartPt(rect.iTl.iX+iHorzEdgeSpacing/2,rect.iBr.iY-1);
-        TPoint separatorEndPt(separatorStartPt.iX+(iFullWidth-iHorzEdgeSpacing), separatorStartPt.iY);
+        TPoint separatorStartPt(rect.iTl.iX,rect.iBr.iY-1);
+        TPoint separatorEndPt(separatorStartPt.iX, separatorStartPt.iY);
         gc.SetPenStyle(CGraphicsContext::ESolidPen);
         gc.SetPenColor(iEikonEnv->ControlColor(EColorWindowText, *this));
         gc.DrawLine(separatorStartPt, separatorEndPt);
-        };
-
-    if (iCapCFlags&EUsesEars)
-        DrawEars(EBothEars); 
+        }
+
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -1976,52 +1829,6 @@
 EXPORT_C void CEikCaptionedControl::HandlePointerEventL(const TPointerEvent& aPointerEvent)
     {
     _AKNTRACE_FUNC_ENTER;
-    if (!IsNonFocusing())
-        {
-        TWhichEars ear=ENoEar;
-        if (aPointerEvent.iType!=TPointerEvent::EButton1Down)
-            {
-            _AKNTRACE("TPointerEvent::EButton1Down");
-            if (iCapCFlags&ELeftEarGrab)
-                ear=ELeftEar;
-            else if (iCapCFlags&ERightEarGrab)
-                ear=ERightEar;
-            if (ear)
-                {
-                TInt oldDrawFlags=iCapCFlags&(ELeftEarDown|ERightEarDown);
-                if (aPointerEvent.iType==TPointerEvent::EButton1Up)
-                    iCapCFlags&=(~KDynamicEarMask);
-                else
-                    {
-                    iCapCFlags&=(~(ELeftEarDown|ERightEarDown));
-                    if (EarRect(ear).Contains(aPointerEvent.iPosition))
-                        {
-                        FireEarL(ear, KCapCEarRepeat);
-                        return;
-                        }
-                    }
-                if (oldDrawFlags!=(iCapCFlags&(ELeftEarDown|ERightEarDown)))
-                    DrawEarsNow(ear);
-                _AKNTRACE_FUNC_EXIT;
-                return;
-                }
-            }
-        else if (iCapCFlags&EUsesEars)
-            {
-            iCapCFlags&=(~KDynamicEarMask);
-            if (EarRect(ELeftEar).Contains(aPointerEvent.iPosition))
-                ear=ELeftEar;
-            else if (EarRect(ERightEar).Contains(aPointerEvent.iPosition))
-                ear=ERightEar;
-            if (ear)
-                {
-                FireEarL(ear, KCapCInitialEarRepeat);
-                _AKNTRACE_FUNC_EXIT;
-                return;
-                }
-            }
-        }
-
     TBool edwinControl( ControlIsAnEdwin( iControlType ) );
     
      if ( iIsFormControl )
@@ -2085,24 +1892,6 @@
         }
     }
 
-void CEikCaptionedControl::FireEarL(TWhichEars aEar, TInt aEarRepeat)
-    {
-    Window().RequestPointerRepeatEvent(aEarRepeat, EarRect(aEar));
-    TKeyEvent key;
-    key.iModifiers=0;
-    if (aEar==ELeftEar)
-        {
-        key.iCode=EKeyLeftArrow;
-        iCapCFlags|=ELeftEarDown|ELeftEarGrab;
-        }
-    else
-        {
-        key.iCode=EKeyRightArrow;
-        iCapCFlags|=ERightEarDown|ERightEarGrab;
-        }
-    DrawEarsNow(aEar);
-    iControl->OfferKeyEventL(key,EEventKey);
-    }
 
 EXPORT_C void CEikCaptionedControl::SetCaptionL(const TDesC& aText)
     {
@@ -2120,7 +1909,7 @@
         iCaptionText = aText.AllocL();
         }
         
-    if (iCaption->DrawableWindow() == NULL)    
+    if (!iCaption->DrawableWindow())    
         {
         iCaption->SetContainerWindowL(*this);
         iCaption->CopyControlContextFrom(this);
@@ -2235,10 +2024,6 @@
     TPtrC16 toolTip = aReader.ReadTPtrC() ;
     SetToolTipTextL( toolTip ) ; 
     
-    // Set the border spacing to the default value
-    SetVertEdgeSpacing( KCapCDefaultVertEdgeSpacing ) ;
-    SetHorzEdgeSpacing( KCapCDefaultHorzEdgeSpacing ) ;
-
     //Added to create new form box closer for edwins in forms.
     if (!iHighlightControl)
         {
@@ -2290,9 +2075,7 @@
 EXPORT_C void CEikCaptionedControl::ResetMinimumSizes()
     {
 	_AKNTRACE_FUNC_ENTER;
-    iMinSize.iWidth=0;
     iCaptionWidth=0;
-    iFullWidth=0;
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -2438,10 +2221,7 @@
 
 EXPORT_C const TDesC* CEikCaptionedControl::ToolTipText() const 
     {
-    if ( iToolTipText )
-        return  iToolTipText ;
-    else
-        return NULL ;
+    return NULL ;
     }
 
 /**
@@ -2580,16 +2360,6 @@
     _AKNTRACE_FUNC_EXIT;
     }
 
-void CEikCaptionedControl::SetVertEdgeSpacing( TInt aVertEdgeSpacing ) 
-    {
-    iVertEdgeSpacing = aVertEdgeSpacing ;
-    }
-
-void CEikCaptionedControl::SetHorzEdgeSpacing( TInt aHorzEdgeSpacing ) 
-    {
-    iHorzEdgeSpacing = aHorzEdgeSpacing ;
-    }
-
 /**
  * Avkon component positioning for Forms
  */
@@ -2597,19 +2367,15 @@
 void CEikCaptionedControl::PositionFormComponents()
     {
     _AKNTRACE_FUNC_ENTER;
-    if( iExtension->iPartiallyVisible )
+    MinimumSize() ;
+
+    // if control has no height, return now (no point laying out)
+    if (!Rect().Height())  
         return;
+
     TBool isFocused = iIsCurrentLine;
     TBool isSingleLineLayout = ( FormLayout() == CEikDialogPage::ESingle);
-    MinimumSize() ;
     TBool hasBitmaps = ShowBitmap();
-    
-/* 
-if control has no height, return now (no point laying out)
-*/
-    if (!Rect().Height())  
-        return;
-
     TAknWindowLineLayout verticalLine = AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_1 ; 
 
     // If double line layout update verticalLine
@@ -2638,11 +2404,10 @@
                 }
             }    
         }
-        TRect parentRect = Rect();
-        TAknLayoutRect layoutRect;
-        layoutRect.LayoutRect( parentRect, verticalLine );
-        TRect rectVerticalLine( layoutRect.Rect() );
-
+
+    TAknLayoutRect layoutRect;
+    layoutRect.LayoutRect( Rect(), verticalLine );
+    TRect rectVerticalLine( layoutRect.Rect() );
 
     // set vertical line position.  
     if ( AknLayoutUtils::LayoutMirrored() )
@@ -2673,12 +2438,10 @@
 "none of the above".
 */
         Panic(EEikFormPanicUnknownControlType);
-        };
-
-    //TRect layoutRectOfDataPane =(iIsEditable)? EditRect() : ViewRect();
+        }
 
    //view and edit data pane rect should be the same
-    TRect layoutRectOfDataPane = ViewRect();    
+    TRect layoutRectOfDataPane( Rect() );    
 
     if ( hasBitmaps )
         {
@@ -2853,22 +2616,11 @@
         }
     }
 
-TSize CEikCaptionedControl::EditorControlSize() const 
-    {
-    return iEditorControlSize ;
-    }
-
 TInt CEikCaptionedControl::NumberOfLines() const
 	{
 	return iNumberOfLines;
 	}
 
-TInt CEikCaptionedControl::NumberOfLinesForScrollBar() const
-	{
-	if ( FormLayout() == CEikDialogPage::ESingle ) return NumberOfLines();
-	return NumberOfLines()+1;
-	}
-
 /**
  * Recalculates the number of required lines for a control.
  */
@@ -2970,26 +2722,8 @@
         {
         AknLayoutUtils::OverrideControlColorL(*this, EColorControlText, textColor );
         }
-    
     }
 
-/**
- * Retrieves the Series 60 European LAF layout values from avkon.rh
- *
- */
-void CEikCaptionedControl::GetAknLayoutValuesL()
-    {
-    TAknWindowLineLayout l = AknLayoutScalable_Avkon::form_field_data_pane(0).LayoutLine();
-    TRect parentRect = iAvkonAppUi->ClientRect();
-    TAknLayoutRect layoutRect;
-    layoutRect.LayoutRect( parentRect, l );
-    TRect rectDataPane( layoutRect.Rect() );
-
-    iAknFormControlWidth = rectDataPane.Width();
-    iAknFormControlHeight = rectDataPane.Height();
-   }
-
-    
 
 TBool   CEikCaptionedControl::IsDisplayable() const
     {
@@ -3158,12 +2892,12 @@
 EXPORT_C const TPtrC CEikCaptionedControl::GetFullCaptionText() const
     {
     return *iCaptionText;
-    };
+    }
 
 void CEikCaptionedControl::RegisterPageWithCaptionControl(CEikDialogPage* aPage)
     {
     iDialogPage=aPage;
-    };
+    }
 
 TInt CEikCaptionedControl::MaximumNumberOfControlLinesOnVisiblePage() const
     {
@@ -3213,37 +2947,8 @@
     _AKNTRACE( "maxItems: [%d]", maxItems );
     _AKNTRACE_FUNC_EXIT;
     return maxItems;
-    };
-
-
-TRect CEikCaptionedControl::ViewRect() const
-
-    {
-/* 
-The Rect that the view mode is expecting is:
-176 across 
-21 high
-set from 0,0
-
-We are
-174 across
-23 high
-set from (1,1) relative to viewwin.
-
-To convert we must:
-* Shrink(-1,1) to make Y cord and size equal, and X coord equal.
-* add 1 to the BR X coord. to make X size equal.
-*/
-    TRect viewRectConversion(EditRect());
-    viewRectConversion.Shrink(0,1);
-    return viewRectConversion;
     }
 
-TRect CEikCaptionedControl::EditRect() const
-    {
-    //The Rect provided by Rect() is fine  
-    return Rect();
-    } 
 
 void CEikCaptionedControl::FormLayoutControlBitmap(CEikImage* aBitmap, const TRect& aParent, TBool aIsEditable, TBool aSingleLayout, TInt aNumberOfLines)
     {   
@@ -3393,8 +3098,7 @@
     	SetScrollRect(aEdwin, layoutRect, textLayout, aNumberOfLines);
 	    }
 
-	TBool isviewmode = !aIsEditable;
-	aEdwin->SetSuppressBackgroundDrawing(isviewmode);
+	aEdwin->SetSuppressBackgroundDrawing(!aIsEditable);
     }
 
 
@@ -3417,11 +3121,7 @@
     // Layout the label for the single line format
     if (aSingleLayout) 
         {
-        if (aIsEditable)
-            {
-            // Do nothing; this is the default used
-            }
-        else
+        if (!aIsEditable)
             {
             // This layout is dy
             if (aBitmapPresent)
@@ -3564,7 +3264,7 @@
         TBool aSingleLayout, TInt aNumberOfLines, TBool aBitmapPresent,
         TBool /*aIsFocused*/)
     {
-    TRect layoutRect = aParent;
+    TRect layoutRect( aParent );
     TAknWindowLineLayout layoutData(AKN_LAYOUT_WINDOW_list_form_pane(aNumberOfLines-1));
 	TAknTextLineLayout labelLayout(AknLayout::Form_data_field_texts_Line_2(0));
     if (!aNumberOfLines)
@@ -3587,59 +3287,26 @@
 		{
 		isText = ETrue;
 		}
- 
+	
     if (aSingleLayout)
         {
-        if (aIsEditable)
-            {
-            layoutData=AKN_LAYOUT_WINDOW_list_form_pane(aNumberOfLines-1);
-            }
-        else
-            {
-/* 
-popupfields not specified in lists.  
-Have to convert aParent to form equivalent and use that layout.
-*/
-            ConvertViewRectToEditRect(layoutRect);
-            layoutData=AKN_LAYOUT_WINDOW_list_form_pane(aNumberOfLines-1);
-            }
+        layoutData=AKN_LAYOUT_WINDOW_list_form_pane(aNumberOfLines-1);
         }
     else  // double layout
         {
         TInt newpar = ( aBitmapPresent ? 1 : 0 ) ;
-        if (!aBitmapPresent)
-            {
-            if (aIsEditable)
-                {
-                layoutData=AKN_LAYOUT_WINDOW_list_form_wide_pane(newpar, aNumberOfLines-1);
-                }
-            else
-                {
-                // have to convert Rect before doing this.
-                ConvertViewRectToEditRect(layoutRect);
-                layoutData=AKN_LAYOUT_WINDOW_list_form_wide_pane(newpar, aNumberOfLines-1);
-                }
-            }
-        else //AKN_LAYOUT_WINDOW_list_form_graphic_wide_pane
+        layoutData=AKN_LAYOUT_WINDOW_list_form_wide_pane(newpar, aNumberOfLines-1);
+
+        if ( aBitmapPresent && !aIsEditable )
             {
-            if (aIsEditable)
-                {
-                layoutData=AKN_LAYOUT_WINDOW_list_form_wide_pane(newpar, aNumberOfLines-1);
-                }
-            else
-                {
-                // have to convert Rect before doing this.
-                ConvertViewRectToEditRect(layoutRect);
-                layoutData=AKN_LAYOUT_WINDOW_list_form_wide_pane(newpar, aNumberOfLines-1);
-				//move bitmap's width for display second line text
-		        TAknWindowLineLayout l = AknLayout::List_pane_elements__single_graphic_heading__Line_1();
-		        TAknLayoutRect bmpRect;
-		        TRect tempRect;
-		        bmpRect.LayoutRect( tempRect, l );
-				layoutRect.iTl.iX += bmpRect.Rect().Width();
-                }
+            //move bitmap's width for display second line text
+            TAknWindowLineLayout l = AknLayout::List_pane_elements__single_graphic_heading__Line_1();
+            TAknLayoutRect bmpRect;
+            TRect tempRect;
+            bmpRect.LayoutRect( tempRect, l );
+            layoutRect.iTl.iX += bmpRect.Rect().Width();
             }
-        };
+        }
 	aPopfield->SetFormFieldRect(layoutRect);
 	if (isText)
 		{ // popup field will be same size as text element
@@ -3670,7 +3337,6 @@
             TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL( *aPopfield, EColorLabelText, textColor ) ); 
             }          
         }
-        
     }
 
 // Password editor
@@ -3742,61 +3408,26 @@
     {   
     if (!aNumberOfLines)
         return;
-    if (aSingleLayout)
-        {
-        if (aIsEditable)
-            {
-            aSlider->SetRect(aParent);
-            }
-        else
-            {
-/* 
-sliders not specified in lists.  
-Have to convert aParent to form equivalent and use that layout.
-*/
-            TRect conversionRect(aParent);
-            ConvertViewRectToEditRect(conversionRect);
-            aSlider->SetRect(conversionRect);
-            }
-        }
-    else 
+    
+    TRect parentRect( aParent );
+    
+    if ( !aSingleLayout )
         {
         // Not currently specified, so making temporary alterations here.
-        TInt baselineSkip= AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_2(1).BaselineSkip();
-        TRect newParentRect(aParent);
-        //Only move the rect will cover a part or next dialogline, so decrease height of rect form iTl.
+        TInt baselineSkip = AKN_LAYOUT_MULTILINE_TEXT_Form_data_field_texts_Line_2(1).BaselineSkip();
+
+        // Only move the rect will cover a part or next dialogline, so decrease height of rect form iTl.
         if( !aIsEditable )
 	        {
-	        newParentRect.iTl.iX += baselineSkip;          	
+            parentRect.iTl.iX += baselineSkip;          	
 	        }
-        newParentRect.iTl.iY += baselineSkip;
-            
-        if (aIsEditable)
-            {
-            aSlider->SetRect(newParentRect);
-            }
-        else 
-            {
-            TRect conversionRect(newParentRect);
-            ConvertViewRectToEditRect(conversionRect);
-            aSlider->SetRect(conversionRect);
-            }
-        }   
-
-        // Exteded skin support for sliders coded in slider file: \s60\AvKon\src\Aknslider.cpp
+        
+        parentRect.iTl.iY += baselineSkip;
+        }
+    
+    aSlider->SetRect( parentRect );
     }
 
-void CEikCaptionedControl::ConvertViewRectToEditRect(TRect& aRect)
-    {
-    aRect.Grow(-1,1);
-    aRect.iBr.iX--;
-    }
-
-void CEikCaptionedControl::ConvertEditRectToViewRect(TRect& aRect)
-    {
-    aRect.Shrink(-1,1);
-    aRect.iBr.iX++;
-    }
 
 // Standard access method for the form layout from within captioned control
 CEikDialogPage::TFormLayoutSelection CEikCaptionedControl::FormLayout() const
@@ -3804,12 +3435,12 @@
     // There is no undefined style, but initialize to single...
     CEikDialogPage::TFormLayoutSelection ret = CEikDialogPage::ESingle;
     if ( iDialogPage )
+        {
         ret = iDialogPage->FormLayout();
-    
-    if (!iDialogPage)
+        }
+    else if (iFlags & EEikFormUseDoubleSpacedFormat) // similar to CEikDialogPage::ConstructFormFromResourceL()
         {
-        if (iFlags & EEikFormUseDoubleSpacedFormat) // similar to CEikDialogPage::ConstructFormFromResourceL()
-            ret = CEikDialogPage::EDouble;
+        ret = CEikDialogPage::EDouble;
         }
     return ret;
     }
@@ -3821,23 +3452,11 @@
         {
         sepLineRect.LayoutRect
             (
-            ViewRect(), 
+            Rect(), 
             AKN_LAYOUT_WINDOW_List_pane_elements__single_heading__Line_2
             );
         sepLineRect.DrawRect(gc);
-
         }
-//  else
-//      {
-// Currently no LAF specification for separator in double mode
-//      sepLineRect.LayoutRect
-//          (
-//          ViewRect(), 
-//          AKN_LAYOUT_WINDOW_List_pane_elements__double_graphic__Line_??
-//          );
-//      sepLineRect.DrawRect(gc);
-//
-//      }
     }
 
 void CEikCaptionedControl::DrawClosingLine() const
@@ -3923,8 +3542,6 @@
         }
     else
         {
-        outerRect = ViewRect() ;
-        innerRect = outerRect ;
         innerRect.iTl = ViewFrameTopLeftRect( outerRect ).iBr ;
         innerRect.iBr = ViewFrameBottomRightRect( outerRect ).iTl ;
         iExtension->iViewModeHighlightControlContext->SetFrameRects( outerRect, innerRect );
@@ -3963,58 +3580,56 @@
         }
     else // Highlight Skinning.  Requires Frame
         {
+        TRect outerRect( Rect() );
+        TRect innerRect( outerRect );
+        
         if ( iIsEditable )
             {
-            TRect innerRect( EditRect() ) ;
-            innerRect.iTl = EditFrameTopLeftRect( Rect() ).iBr ;
-            innerRect.iBr = EditFrameBottomRightRect( Rect() ).iTl ;
+            innerRect.iTl = EditFrameTopLeftRect( outerRect ).iBr ;
+            innerRect.iBr = EditFrameBottomRightRect( outerRect ).iTl ;
 
             MAknsControlContext* parentCc = GetDialogControlContext( iDialogPage ) ; 
-            AknsDrawUtils::Background( skin, parentCc, this, aGc, Rect() ) ;
-
-            AknListUtils::DrawSeparator( aGc, Rect(), textColor, skin );
+            AknsDrawUtils::Background( skin, parentCc, this, aGc, outerRect ) ;
+
+            AknListUtils::DrawSeparator( aGc, outerRect, textColor, skin );
             
             // Set the rectangle(s) for the Frame context
-            iExtension->iEditModeHighlightControlContext->SetFrameRects( EditRect(), innerRect ) ;
-            iExtension->iEditModeHighlightControlContextPressed->SetFrameRects( EditRect(), innerRect ) ;
+            iExtension->iEditModeHighlightControlContext->SetFrameRects( outerRect, innerRect ) ;
+            iExtension->iEditModeHighlightControlContextPressed->SetFrameRects( outerRect, innerRect ) ;
             
-            AknsDrawUtils::DrawFrame( skin, aGc, EditRect(), innerRect,
+            AknsDrawUtils::DrawFrame( skin, aGc, outerRect, innerRect,
                                       PressedDownState() ?
                                       KAknsIIDQsnFrListPressed : KAknsIIDQsnFrInput, KAknsIIDDefault );
             }
         else // View Mode highlight
             {
             TBool drawOk = EFalse;
-            TRect viewRect( ViewRect() );
-            TRect innerRect( viewRect );
-            innerRect.iTl = ViewFrameTopLeftRect( viewRect ).iBr;
-            innerRect.iTl.iX-- ; innerRect.iTl.iY--;
-            innerRect.iBr = ViewFrameBottomRightRect( viewRect ).iTl ;
+            innerRect.iTl = ViewFrameTopLeftRect( outerRect ).iBr;
+            innerRect.iBr = ViewFrameBottomRightRect( outerRect ).iTl ;
     
             // The bit around the outside must use the parent's control context
             MAknsControlContext* parentCc = GetDialogControlContext( iDialogPage );
-            AknsDrawUtils::BackgroundBetweenRects( skin, parentCc, this, aGc, 
-                    Rect(), innerRect );
+            AknsDrawUtils::Background( skin, parentCc, this, aGc, outerRect ) ;
     
-            AknListUtils::DrawSeparator( aGc, Rect(), textColor, skin );
+            AknListUtils::DrawSeparator( aGc, outerRect, textColor, skin );
 
             // Draw the animation itself
             if ( iExtension->IsHighlightAnimated() 
                     && iExtension->iAnimation->Animation() )
                 {
                 drawOk = iExtension->iAnimation->Animation()->Render( aGc, 
-                        viewRect );
+                        outerRect );
                 }
     
             if ( !drawOk )
                 {
                 // Set the rectangle(s) for the Frame context
                 iExtension->iViewModeHighlightControlContext->SetFrameRects( 
-                        viewRect, innerRect ) ;
+                        outerRect, innerRect ) ;
                 iExtension->iViewModeHighlightControlContextPressed->
-                    SetFrameRects( viewRect, innerRect ) ;
+                    SetFrameRects( outerRect, innerRect ) ;
                 
-                AknsDrawUtils::DrawFrame( skin, aGc, viewRect, innerRect,
+                AknsDrawUtils::DrawFrame( skin, aGc, outerRect, innerRect,
                         PressedDownState() ? KAknsIIDQsnFrListPressed : 
                         KAknsIIDQsnFrList, KAknsIIDDefault );
                 }
@@ -4154,40 +3769,7 @@
         User::LeaveIfError(AknIconUtils::SetSize(aBitmap, 
                               rectElements.Size() ));
         }
-/*        
-    
-    if (iIsFormControl)
-        {
-        if (iIsEditable)
-            {
-            if (iBitmap && iBitmap->Bitmap())
-                {
-                AknIconUtils::SetSize(CONST_CAST(CFbsBitmap*, iBitmap->Bitmap()), 
-                                        TSize(AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_4.iW, 
-                                        AKN_LAYOUT_WINDOW_Form_data_field_elements_Line_4.iH));
-                }
-            }
-        else
-            {
-            if (iBitmap && iBitmap->Bitmap())
-                {
-                AknIconUtils::SetSize(CONST_CAST(CFbsBitmap*, iBitmap->Bitmap()), 
-                                        TSize(AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1.iW, 
-                                        AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1.iH));
-                }
-            }
-        }
-    else
-        {
-        if (iBitmap && iBitmap->Bitmap())
-            {
-            AknIconUtils::SetSize(CONST_CAST(CFbsBitmap*, iBitmap->Bitmap()), 
-                        TSize(AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1.iW, 
-                        AKN_LAYOUT_WINDOW_List_pane_elements__single_graphic_heading__Line_1.iH));
-            }
-        }                       */
     }
-    
 
 
 // -----------------------------------------------------------------------------
@@ -4281,11 +3863,6 @@
     }
 
 
-void CEikCaptionedControl::SetPartiallyVisible( TBool aPVisible )
-    {
-    iExtension->iPartiallyVisible = aPVisible;
-    }
-    
 /*  
  * Special Label Class which appends colon to label text
  */
--- a/uifw/EikStd/dlgsrc/EIKCAPCA.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKCAPCA.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -97,105 +97,7 @@
 	return iExtension;
 }
 
-TInt CEikCapCArray::NumberOfTextLines() const
-{
-	_AKNTRACE_FUNC_ENTER;
-	CEikCaptionedControl *firstCapCC = Count() > 0 ? (*this)[0] : NULL;
-	const CEikDialogPage *dialogPage = firstCapCC ? firstCapCC->DialogPage() : NULL;
-    CEikDialogPage::TFormLayoutSelection ret = CEikDialogPage::ESingle;
-	if ( dialogPage )
-		ret = dialogPage->FormLayout();
 
-	TInt lines = 0;
-	for(TInt i = 0; i<Count(); i++)
-		{
-			TInt num_of_lines = 0;
-			CEikCaptionedControl *line = (*this)[i];
-			if (ret == CEikDialogPage::ESingle)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h;
-					}
-			else if (ret == CEikDialogPage::EDouble)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h; // one for title
-					}	
-		lines += num_of_lines;
-	}
-	_AKNTRACE( "lines: [%d]", lines );
-	_AKNTRACE_FUNC_EXIT;
-	return lines;
-}
-
-TInt CEikCapCArray::NumberOfTextLinesBeforeLine(TInt aLine) const
-{
-	_AKNTRACE_FUNC_ENTER;
-	CEikCaptionedControl *firstCapCC = Count() > 0 ? (*this)[0] : NULL;
-	const CEikDialogPage *dialogPage = firstCapCC ? firstCapCC->DialogPage() : NULL;
-    CEikDialogPage::TFormLayoutSelection ret = CEikDialogPage::ESingle;
-	if ( dialogPage )
-		ret = dialogPage->FormLayout();
-
-	TInt lines = 0;
-	for(TInt i = 0; i<aLine; i++)
-		{
-			TInt num_of_lines = 0;
-			CEikCaptionedControl *line = (*this)[i];
-			if (ret == CEikDialogPage::ESingle)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h;
-					}
-			else if (ret == CEikDialogPage::EDouble)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h; // one for title
-					}	
-		lines += num_of_lines;
-	}
-	_AKNTRACE( "lines: [%d]", lines );
-	_AKNTRACE_FUNC_EXIT;
-	return lines;
-
-}
-
-TInt CEikCapCArray::FindItemFromTextLine(TInt aTextLine) const
-	{
-	CEikCaptionedControl *firstCapCC = Count() > 0 ? (*this)[0] : NULL;
-	const CEikDialogPage *dialogPage = firstCapCC ? firstCapCC->DialogPage() : NULL;
-    CEikDialogPage::TFormLayoutSelection ret = CEikDialogPage::ESingle;
-	if ( dialogPage )
-		ret = dialogPage->FormLayout();
-
-	TInt lines = 0;
-	TInt i = 0;
-	for(i = 0; i<Count(); i++)
-		{
-			TInt num_of_lines = 0;
-			CEikCaptionedControl *line = (*this)[i];
-			if (ret == CEikDialogPage::ESingle)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h;
-					}
-			else if (ret == CEikDialogPage::EDouble)
-					{
-					//line->MinimumSize(); // ensures NumberOfLines() is valid.
-					TInt h = line->NumberOfLinesForScrollBar();
-					num_of_lines = h; // one for title
-					}	
-		lines += num_of_lines;
-		if (lines > aTextLine)
-			break;
-	}
-	return i;
-	}
 /**
  *  Calculate the size of all the component controls stacked vertically.
  *  For Avkon Forms the controls overlap by 2 pixels (hard coded)
@@ -212,78 +114,63 @@
 		// TP HACK START (made because MinimumSize() is not good name for situations where content dimensions are desired)
 		TInt height = 0;
 		TInt width = 0;
-		TRect parentRect = Rect();
 		TSize lineSize; // absolute size, minimumSize = maximumSize = LAF size
 		for(TInt i=0;i<Count();i++)
 			{
-			TInt gap = 0; // not possible to get this from LAF. (should be 0.5u or something)
 			CEikCaptionedControl *line = (*this)[i];
-				TAknWindowLineLayout layout;
-			const CEikDialogPage *dialogPage = firstCapCC->DialogPage();
-		    CEikDialogPage::TFormLayoutSelection ret = CEikDialogPage::ESingle;
-			if ( dialogPage )
-				ret = dialogPage->FormLayout();
-			if (ret == CEikDialogPage::ESingle)
-					{
-					lineSize = line->MinimumSize(); // ensures NumberOfLines() is valid.
-					}
-			else if (ret == CEikDialogPage::EDouble)
-					{
-					lineSize = line->MinimumSize(); // ensures NumberOfLines() is valid.
-					}	
-			height += lineSize.iHeight + gap;
+            lineSize = line->MinimumSize(); // ensures NumberOfLines() is valid.
+			height += lineSize.iHeight;
 			width = lineSize.iWidth;
 			}
-		size = TSize(width,height);
+		size.SetSize(width,height);
 		}
 	else
 		{
-
-	TInt wholeWidth=0;
-	const TInt count=Count();
-	const TInt topMargin=iDensePacking ? KAknNoTopMargin : KAknTopMargin;
-	const TInt bottomMargin = iDensePacking ? KAknNoTopMargin : KAknTopMargin ;
-	const TInt verticalSpacing=iDensePacking ? KVerticalSpacingSquash : KVerticalSpacing;
-	TInt deltaHeight=0;
-	CEikCapCArrayExtension *extension = ExtensionOrNull();
-	if (!extension) return TSize(30,30); // OOM
-	for (TInt ii=0;ii<count;++ii)
-		{
-		CEikCaptionedControl* line=(*this)[ii];
-		TSize thisSize=line->MinimumSize();
-		TInt thisDeltaHeight=thisSize.iHeight+verticalSpacing;
-		if (deltaHeight<thisDeltaHeight)
-			deltaHeight=thisDeltaHeight;
-		const TInt thisCaptionWidth=line->iCaptionWidth;
-		if (!(line->LatentGroupLineFollows()))
-			{
-			size.iHeight+=deltaHeight;
-			deltaHeight=0;
-			}
-		if (!thisCaptionWidth)
-			{
-			if (wholeWidth<thisSize.iWidth)
-				wholeWidth=thisSize.iWidth;
-			}
-		else
-			{
-			thisSize.iWidth-=thisCaptionWidth;
-			if (extension->iCaptionWidth<thisCaptionWidth)
-				extension->iCaptionWidth=thisCaptionWidth;
-			if (size.iWidth<thisSize.iWidth)
-				size.iWidth=thisSize.iWidth;
-			}
-		}
-	size.iWidth+=extension->iCaptionWidth;
-	if (size.iWidth<wholeWidth)
-		size.iWidth=wholeWidth;
-	// If the total height is zero don't bother adding a top margin
-	if ( size.iHeight > 0 )
-		{
-		size.iHeight+=( topMargin + bottomMargin ) ;
-		size.iHeight+=2 ;  // (we have included one too many '-2's)
-		}
-	}
+        TInt wholeWidth=0;
+        const TInt count=Count();
+        const TInt topMargin=iDensePacking ? KAknNoTopMargin : KAknTopMargin;
+        const TInt bottomMargin = iDensePacking ? KAknNoTopMargin : KAknTopMargin ;
+        const TInt verticalSpacing=iDensePacking ? KVerticalSpacingSquash : KVerticalSpacing;
+        TInt deltaHeight=0;
+        CEikCapCArrayExtension *extension = ExtensionOrNull();
+        if (!extension) return TSize(30,30); // OOM
+        for (TInt ii=0;ii<count;++ii)
+            {
+            CEikCaptionedControl* line=(*this)[ii];
+            TSize thisSize=line->MinimumSize();
+            TInt thisDeltaHeight=thisSize.iHeight+verticalSpacing;
+            if (deltaHeight<thisDeltaHeight)
+                deltaHeight=thisDeltaHeight;
+            const TInt thisCaptionWidth=line->iCaptionWidth;
+            if (!(line->LatentGroupLineFollows()))
+                {
+                size.iHeight+=deltaHeight;
+                deltaHeight=0;
+                }
+            if (!thisCaptionWidth)
+                {
+                if (wholeWidth<thisSize.iWidth)
+                    wholeWidth=thisSize.iWidth;
+                }
+            else
+                {
+                thisSize.iWidth-=thisCaptionWidth;
+                if (extension->iCaptionWidth<thisCaptionWidth)
+                    extension->iCaptionWidth=thisCaptionWidth;
+                if (size.iWidth<thisSize.iWidth)
+                    size.iWidth=thisSize.iWidth;
+                }
+            }
+        size.iWidth+=extension->iCaptionWidth;
+        if (size.iWidth<wholeWidth)
+            size.iWidth=wholeWidth;
+        // If the total height is zero don't bother adding a top margin
+        if ( size.iHeight > 0 )
+            {
+            size.iHeight+=( topMargin + bottomMargin ) ;
+            size.iHeight+=2 ;  // (we have included one too many '-2's)
+            }
+        }
     _AKNTRACE( "The Size : ( %d, %d ) ", size.iHeight, size.iWidth );
 	_AKNTRACE_FUNC_EXIT;
 	return size;
@@ -373,7 +260,7 @@
 			{
 			// should Panic() here 
 			}
-		TRect rect = TRect(TPoint(0,0), aAreaSize);
+		TRect rect(aAreaSize);
 		TAknLayoutRect layoutRect;
 		layoutRect.LayoutRect(rect, layout);
 		TInt height2 = layoutRect.Rect().Height();
@@ -384,7 +271,6 @@
 			break;
 			}
 
-
 		newMiddle = i + 1;
 		if (aTopItemIndex == -1)
 			{
@@ -476,149 +362,6 @@
 	SetRect(aRect, 0, -1, -1);
 }
 
-/**
- * If aControl is an edwin, set its clipping rect to empty. This
- * will disable the text hiding.
- */
-static void ResetHides(CEikCaptionedControl *aControl)
-	{
-	aControl->SetPartiallyVisible( EFalse );
-	if (aControl->ControlIsAnEdwin(aControl->iControlType))
-		{
-		CEikEdwin *edwin = (CEikEdwin*)aControl->iControl;
-		edwin->SetTextLinesRect(TRect());
-		}
-	}
-
-/**
- * Sets a clipping rectangle for hiding the whole or a part of edwin's text.
- *
- * The reason for using this function is the multiline edwins. The text inside
- * an edwin can be broken to two or more lines, which must be hidden or shown 
- * independently from each other. That is why it is not enough just to move
- * the whole edwin out of the screen.
- *
- * @param aClipRect The clipping rect for edwin's text. An empty rect disables 
- *   hiding.
- *
- * @return How many subcontrols were hidden
- */
-static TInt HideLines_Edwin(CEikEdwin *aEdwin, TRect aClipRect)
-	{
-	aEdwin->SetTextLinesRect(aClipRect);
-    
-    // Create rects of the first and last edwin lines
-    TPoint edwinTl( aEdwin->Rect().iTl );
-    TPoint edwinBr( aEdwin->Rect().iBr );
-    TRect textFirstLine;
-    aEdwin->TextLayout()->GetLineRect(edwinTl.iY, textFirstLine);
-    textFirstLine.Move( edwinTl.iX, edwinTl.iY + aEdwin->Margins().iTop );
-    TRect textLastLine;
-    aEdwin->TextLayout()->GetLineRect(edwinBr.iY, textLastLine);
-    textLastLine.Move( edwinBr.iX, edwinBr.iY - aEdwin->Margins().iTop - textLastLine.Height() );
-
-    // Check if at least one line fits to the clipping rect
-	if( aClipRect.Contains(textFirstLine.iTl) &&
-	    aClipRect.iBr.iY >= textFirstLine.iBr.iY )   // The first line fits
-	    return 0;
-	if( aClipRect.Contains(textLastLine.iTl) &&
-	    aClipRect.iBr.iY >= textLastLine.iBr.iY )   // The last line fits
-	    return 0;
-	return 1;
-	}
-
-/**
- * Tries to hide the specified control. The control will be hidden, if it doesn't
- * fit to the specified clipping rectangle. Checks if the control exists.
- *
- * @return How many subcontrols were hidden
- */
-static TInt HideLines_Ctrl(CCoeControl *aControl, TRect aClipRect)
-	{
-	if ( !aControl )
-	    return 1;   // It doesn't exist and hence not visible
-	TRect rect( aControl->Rect() );
-	if ( !aClipRect.Contains(rect.iTl) || aClipRect.iBr.iY <= rect.iBr.iY )
-	    // Never use TRect::Contains() for checking the bottom right corner, see documentation
-		{
-		// hide it
-		aControl->SetPosition( TPoint(-666,-666) );
-		return 1;
-		}
-    else
-        return 0;
-	}
-
-/**
- * Get vertically minimal rectangle of the two given.
- *
- * Vertically reduces aRect1 by aRect2's dangling part, if aRect2
- * doesn't fit to aRect1.
- *
- * Sets aRect1 to the resulting minimal rectangle.
- */	
-static void GetVertMinRect( TRect& aRect1, const TRect aRect2 )
-    {
-    // If aRect2's top doesn't fit, lower aRect1's top
-    if( aRect2.iTl.iY < aRect1.iTl.iY )
-        aRect1.iTl.iY = Max( aRect1.iTl.iY, aRect2.iBr.iY );
-    // If aRect2's bottom doesn't fit, raise aRect1's bottom
-    if( aRect2.iBr.iY > aRect1.iBr.iY )
-        aRect1.iBr.iY = Min( aRect1.iBr.iY, aRect2.iTl.iY );
-    }
-
-/**
- * Hides the specified form line, if it does not fit to the specified clipping rectangle.
- * The function never hides focused editable lines. If the form layout is single, the whole
- * captioned control is hidden.
- * 
- * @param aControl The form line to be hidden
- * @param aClipRect The clipping rectangle
- *
- * @return How many subcontrols remained visible
- */	
-static TInt HideLines(CEikCaptionedControl *aControl, TRect aClipRect)
-	{
-	TInt visibleCtrls = 3; // Visible subcontrols after hiding
-	CEikCaptionedControl *currentdLine = aControl->DialogPage()->CurrentLine();
-	if( ( aControl == currentdLine ) && aControl->iIsEditable )
-	    {
-	    return visibleCtrls;
-	    }
-	
-	TBool isEdwin = aControl->ControlIsAnEdwin(aControl->iControlType);    
-	CEikEdwin* edwin( NULL );
-	if( isEdwin )
-	    edwin = (CEikEdwin*)aControl->iControl;
-	TRect ctrlRect( aControl->iControl->Rect() );
-		
-	if( isEdwin )
-	    {
-	    // Adjust rectangle only to the first line (with edwin's top margin)
-	    TRect textFirstLine;
-	    edwin->TextLayout()->GetLineRect(ctrlRect.iTl.iY, textFirstLine);
-	    ctrlRect.iBr.iY = ctrlRect.iTl.iY + edwin->Margins().iTop + textFirstLine.Height();
-	    }	    
-	
-	// Find the minimal clipping rectangle
-	if( aControl->iBitmap )
-	    GetVertMinRect( aClipRect, aControl->iBitmap->Rect() );
-	if( aControl->iCaption )
-	    GetVertMinRect( aClipRect, aControl->iCaption->Rect() );
-	GetVertMinRect( aClipRect, ctrlRect );
-	
-	
-	
-	// Try to hide all controls on the current line
-	aControl->SetPartiallyVisible( ETrue );
-	visibleCtrls -= HideLines_Ctrl( aControl->iBitmap, aClipRect );
-	visibleCtrls -= HideLines_Ctrl( aControl->iCaption, aClipRect );
-	if( isEdwin )
-		visibleCtrls -= HideLines_Edwin( edwin, aClipRect );
-	else
-		visibleCtrls -= HideLines_Ctrl( aControl->iControl, aClipRect );
-    return visibleCtrls;
-	}
 
 /**
 * Places the dialog items according to the current visible window position.
@@ -650,7 +393,7 @@
     TAknLayoutRect formtLayoutRect;
     formtLayoutRect.LayoutRect(aRect, AknLayoutScalable_Avkon::listscroll_form_pane().LayoutLine());
     formtLayoutRect.LayoutRect(formtLayoutRect.Rect(), AknLayoutScalable_Avkon::list_form_gen_pane().LayoutLine());
-    TRect formRect = formtLayoutRect.Rect();
+    TRect formRect( formtLayoutRect.Rect() );
 	
 	CEikCapCArrayExtension *extension_or_null = ExtensionOrNull();
 	
@@ -679,271 +422,46 @@
             }
         }
         
-	TBool topDefined = EFalse;   // top or bottom number defined?
-	if( aTop > -1 )
-	    {
-	    topDefined = ETrue;
-	    }
-	else if( aBottom > -1 )
-	    {
-	    topDefined = EFalse;
-	    }
-	else    // aBottom == aTop == -1
-	    {
-	    User::Panic( _L("CEikCapCArray::SetRect(): Neither top nor bottom items number defined"), EAknPanicInvalidValue );
-	    }
-	const TInt count = Count();
-	const TInt rectHeight = aRect.Height();
-	/**
-	* Special invisible points are used for placing the items that are
-	* outside the window. CCoeControl's invisible flag cannot be used,
-	* as it is controlled by third-party applications.
-	*/
-	const TPoint topInvisPoint( -10000, -10000 );
-	const TPoint bottomInvisPoint( 10000, 10000 );
-	
-	CEikCaptionedControl *firstCapCC = count > 0 ? (*this)[0] : NULL;
-	if( firstCapCC && firstCapCC->iIsFormControl )  // Forms
-		{
-		CEikCaptionedControl *selectedLine( NULL );
-		if( firstCapCC->DialogPage())
-	        selectedLine = firstCapCC->DialogPage()->CurrentLine();
-		
-		// Check height of items and the input parameters aTop and aBottom.
-		TInt rest = 0;  // number of the rest items without aTop or aBottom
-		TInt index = 0;
-    	if( topDefined )
-    	    {
-    	    rest = count - aTop;
-    	    index = aTop;
-    	    }
-    	else
-    	    {
-    	    rest = count - aBottom;
-    	    index = rest - 1;
-    	    }
-		TInt height = 0;
-		for( TInt ii = 0; ii < rest; ii++ )
-			{
-    		CEikCaptionedControl* line = (*this)[index];
-		    height += line->MinimumSize().iHeight;  // Use MinimumSize() here as a protection from dynamic layout change
-		    if( height >= rectHeight )
-                break;  // Input params are OK
-		    topDefined? index++ : index--;
-		    }
-		/** 
-		* If the window contains too few items inside and there are still items outside,
-		* correct the input parameters @a aTop and @a aBottom to fill up the window.
-		*/
-		if( height < rectHeight )
-		    {
-		    if( topDefined && aTop > 0 )    // For top-down placement and there are items above the window
-    		    {
-    		    // Calculate height of controls above the window also
-		        for( TInt ii = 0; ii < aTop; ii++ )
-		            {
-    		        CEikCaptionedControl* line = (*this)[ii];
-		            height += line->MinimumSize().iHeight;
-        		    if( height >= rectHeight )  // All items don't fit to the window anyway
-    		            {
-        		        topDefined = EFalse;   // Reverse direction to bottom-up
-        		        aBottom = 0;
-                        break;
-        		        }
-		            }
-		        if( height < rectHeight )  // All items fit to the window
-    		        {
-    		        aTop = 0; // Just place them from the first item
-    		        }
-    		    }
-    	    else if( !topDefined )  // For bottom-up placement
-    	        {
-    		    topDefined = ETrue;   // Reverse direction to top-down
-    		    aTop = 0;
-    	        }
-    	    }
-		
-		// Hiding items that are explicitly defined to be outside the window
-		TInt start;
-		TInt end;
-	    TPoint invisPoint;    // current invisible point, depends on placement direction
-    	if( topDefined )
-    	    {
-    	    start = 0;
-    	    end = aTop;
-    	    invisPoint = topInvisPoint;
-    	    }
-    	else
-    	    {
-    	    start = count - aBottom;
-    	    end = count;
-    	    invisPoint = bottomInvisPoint;
-    	    }
-		for( TInt ii = start; ii < end; ii++ )
-			{
-			CEikCaptionedControl* line = (*this)[ii];
-			line->SetPosition( invisPoint );
-			}
-		
-		// Setting rects for the rest of the items
-    	if( topDefined )
-    	    {
-    	    rest = count - aTop;
-    	    invisPoint = bottomInvisPoint;
-    	    index = aTop;
-    	    }
-    	else
-    	    {
-    	    rest = count - aBottom;
-    	    invisPoint = topInvisPoint;
-    	    index = rest - 1;
-    	    }
-		TInt reservedHeight = 0; // in pixels
-		TBool insideWindow = ETrue; // The current item is still inside the window
-        TInt topY = 0;
-        
-		
-		for( TInt ii = 0; ii < rest; ii++ )
-			{
-    		CEikCaptionedControl* line = (*this)[index];
-    		TSize lineSize( line->Size() );
-		    if( insideWindow )
-		        {
-			    ResetHides( line );
-    		    if( topDefined )
-    		        {   // Top-down placement
-    		        topY = aRect.iTl.iY + reservedHeight;   
-    		        }
-    		    else
-    		        {   // Bottom-up placement
-    		        topY = aRect.iBr.iY - reservedHeight - lineSize.iHeight;
-    		        }
-    		    line->SetExtent( TPoint( formRect.iTl.iX, topY ), lineSize );
-    			AknsUtils::RegisterControlPosition( line );
-    			AknsUtils::RegisterControlPosition( line->iCaption );
-    			AknsUtils::RegisterControlPosition( line->iControl );
-    			AknsUtils::RegisterControlPosition( line->iTrailer );
-    			AknsUtils::RegisterControlPosition( line->iBitmap );
-    			reservedHeight += lineSize.iHeight;
-    			/** 
-    			* The control at a window edge is considered as partially-visible.
-    			* Its subcontrols must be checked for visibility individually.
-    			*/
-    			if( reservedHeight > rectHeight )
-    			    {
-    			    TInt visibleSubctrls = HideLines( line, aRect );    // Check how many subcontrols stayed visible
-    			    insideWindow = EFalse;
-    			    /**
-    			    * For the bottom-up placement:
-    			    * if the window contains only an empty "partially-visible" control and a
-    			    * a selected popup field, make the popup to hang at the top alone.
-    			    */
-    			    if( !topDefined && index < count - 1 ) // bottom-up and not last
-    			        {
-        			    CEikCaptionedControl* lineBelow = (*this)[index+1];
-        			    if( visibleSubctrls == 0 && ii == 1 &&
-        			        IsPopupField( lineBelow ) && lineBelow == selectedLine )
-        			        {
-            		        TRect popupRect( lineBelow->Rect() );
-            		        TInt diff = aRect.iTl.iY - popupRect.iTl.iY; // negative
-            		        popupRect.Move( 0, diff );
-            		        lineBelow->SetRect( popupRect );
-        			        }
-    			        }
-    			    }
-		        }
-		    else
-		        {
-	            line->SetPosition( invisPoint );
-		        }
-		    topDefined? index++ : index--;
-			}
-		}
-	else    // Dialogs other than forms:
-		{
-    	TRect rect=aRect;
-    	const TInt fullWidth=rect.iBr.iX-rect.iTl.iX;
-    	const TInt count=Count();
-    	const TInt topMargin=iDensePacking ? KAknNoTopMargin : KAknTopMargin;
-    	const TInt verticalSpacing=iDensePacking ? KVerticalSpacingSquash : KVerticalSpacing;
-    	rect.iTl.iY+=topMargin;
-    	TInt deltaHeight=0;
-    	for (TInt ii=0;ii<count;++ii)
-    		{
-    		CEikCaptionedControl* line=(*this)[ii];
-    	    TSize thisSize=line->MinimumSize();
-    		TInt thisDeltaHeight=thisSize.iHeight+verticalSpacing;
-    		if (deltaHeight<thisDeltaHeight)
-    			deltaHeight=thisDeltaHeight;
-    		if (!(line->iCaptionWidth))
-    			thisSize.iWidth=fullWidth;
-    		else
-    			{
-    			CEikCapCArrayExtension *ext = ExtensionOrNull();
-    			TInt deltaWidth = 0;
-    			if (ext) 
-    				deltaWidth = ext->iCaptionWidth-line->iCaptionWidth;
-    			thisSize.iWidth+=deltaWidth;
-    			if (ext)
-    				line->iCaptionWidth=ext->iCaptionWidth;
-    			else
-    				line->iCaptionWidth = 0;
-    			line->iMinSize.iWidth+=deltaWidth;
-    			}
-    		line->iFullWidth=fullWidth;
-    	    line->SetExtent(rect.iTl,thisSize);
-    		if (!(line->LatentGroupLineFollows()))
-    			{
-    			rect.iTl.iY+=deltaHeight;
-    			deltaHeight=0;
-    			}
-    		}
-		}
-	_AKNTRACE_FUNC_EXIT;
-	}
+	// rest of the function is executed for dialogs and empty forms only
+    TRect rect(aRect);
+    const TInt fullWidth=rect.iBr.iX-rect.iTl.iX;
+    const TInt count=Count();
+    const TInt topMargin=iDensePacking ? KAknNoTopMargin : KAknTopMargin;
+    const TInt verticalSpacing=iDensePacking ? KVerticalSpacingSquash : KVerticalSpacing;
+    rect.iTl.iY+=topMargin;
+    TInt deltaHeight=0;
+    for (TInt ii=0;ii<count;++ii)
+        {
+        CEikCaptionedControl* line=(*this)[ii];
+        TSize thisSize=line->MinimumSize();
+        TInt thisDeltaHeight=thisSize.iHeight+verticalSpacing;
+        if (deltaHeight<thisDeltaHeight)
+            deltaHeight=thisDeltaHeight;
+        if (!(line->iCaptionWidth))
+            thisSize.iWidth=fullWidth;
+        else
+            {
+            CEikCapCArrayExtension *ext = ExtensionOrNull();
+            TInt deltaWidth = 0;
 
-TInt CEikCapCArray::YPosToLine(const TRect &aRect, 
-							   TInt aTop, TInt aMiddle, TInt aBottom, 
-							   TInt aYCoord)
-	{
-	TInt top = aTop;
-	TInt middle = aMiddle;
-	TInt bottom = aBottom;
-	CalcItemIndexes(top, middle, bottom, aRect.Size());
-	
-	for(int i = top ; i < top+middle; i++)
-		{
-		CEikCaptionedControl *fst = (*this)[i];
-		if (aYCoord < fst->Rect().iTl.iY)
-			{
-			if (i > 0)
-				return i-1;
-			else
-				return KErrNotFound;
-			}
-		}
-	if (Count() == 0) return -1;
-	TInt ii = top+middle-1;
-	CEikCaptionedControl *last = (*this)[ii];
-	if ( aYCoord < last->Rect().iBr.iY )
-		{
-		return ii;
-		}
-	else
-		{
-		if ( ii+1 < Count() )
-		    {
-		    return ii+1;
-		    }
-		else if ( aYCoord > last->Rect().iBr.iY )
-		    {
-		    return KErrNotFound;
-		    }
-		else
-		    {
-		    return ii;
-		    }
-		}
+            if (ext) 
+                deltaWidth = ext->iCaptionWidth-line->iCaptionWidth;
+            thisSize.iWidth+=deltaWidth;
+            if (ext)
+                line->iCaptionWidth=ext->iCaptionWidth;
+            else
+                line->iCaptionWidth = 0;
+            }
+        line->iFullWidth=fullWidth;
+        line->SetExtent(rect.iTl,thisSize);
+        if (!(line->LatentGroupLineFollows()))
+            {
+            rect.iTl.iY+=deltaHeight;
+            deltaHeight=0;
+            }
+        }
+
+    _AKNTRACE_FUNC_EXIT;
 	}
 	
 EXPORT_C void CEikCapCArray::ResetMinimumSizes()
@@ -989,61 +507,6 @@
 	return(KErrNotFound);
 	}
 
-// ---------------------------------------------------------------------------
-// CEikCapCArray::ScrollByPixels
-// ---------------------------------------------------------------------------
-//
-TInt CEikCapCArray::ScrollByPixels( TInt aDelta )
-    {
-	_AKNTRACE_FUNC_ENTER;
-    TInt count = Count();
-    
-    // Top and bottom of lines
-    TInt topY = (*this)[0]->Rect().iTl.iY;
-    TInt bottomY = (*this)[count - 1]->Rect().iBr.iY;
-
-    TRect formRect( Rect() );
-
-    if ( aDelta )
-        {
-        for( TInt i = 0; i < count; ++i )
-            {
-            CEikCaptionedControl* line = (*this)[i];
-            TBool onDisplay = line->Rect().Intersects( formRect );
-            TPoint position( line->Position() );
-            position.iY += aDelta;
-            
-            line->SetPosition( position );
-            
-            onDisplay = onDisplay || line->Rect().Intersects( formRect );
-            
-            // Line is or was on display
-            if ( ETrue /*onDisplay*/ )
-                // Some controls, eg. slider and edwin don't handle
-                // SetPosition properly. Workaround is to use SetRect,
-                // which is slow as it does a whole layout for the control.
-                // If form panning is ever speed optimized, captioned
-                // control should me made to support SetPosition() correctly.
-                {
-                if ( line->ControlIsAPopfield( line->iControlType ) )
-                    {
-                    // Have to layout whole captioned control, otherwise
-                    // text doesn't move. Fix later popup field to move
-                    // properly.
-                    line->SetRect( line->Rect() );
-                    }
-                else
-                    {
-                    line->iControl->SetRect( line->iControl->Rect() );
-                    }
-                line->DrawDeferred();
-                //line->DrawNow();
-                }
-            }
-        }
-    _AKNTRACE_FUNC_EXIT;
-    return aDelta;
-    }
 
 // ---------------------------------------------------------------------------
 // CEikCapCArray::SetRealRect
@@ -1170,7 +633,7 @@
         {
         TInt y = LineIndexToYPosition( aCurrentLine, aTopY );
 
-        // if current line is visible on the screen the focus that
+        // if current line is visible on the screen then focus that
         if ( y >= 0 && y <= Rect().Height() )
             {
             focusableLine = aCurrentLine;
--- a/uifw/EikStd/dlgsrc/EIKDIALG.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKDIALG.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -1364,7 +1364,7 @@
 	if (line)
 		{
 		line->SetCaptionL(aText);
-		line->DrawNow();
+		line->DrawDeferred();
 		}
 	}
 
@@ -2450,10 +2450,6 @@
     	CCoeControl::HandleResourceChange(aType);
         }
     
-    if( !CAknEnv::Static()->TransparencyEnabled() && aType==KEikColorResourceChange)
-        {
-        Window().SetBackgroundColor(iEikonEnv->ControlColor(EColorDialogBackground,*this));
-        }
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -2469,16 +2465,19 @@
     if ( !isForm )
         {
         SizeChanged();
-    
-        TInt lastPage =  ( iPageSelector->PageContainer()->NumPages() - 1 );
-        TInt pageIndex = 0;
-        CEikDialogPage* page;
-    
-        while ( pageIndex++ <= lastPage )
-            {
-            page = iPageSelector->PageContainer()->Page( pageIndex );
-            page->HandleResourceChange( KEikDynamicLayoutVariantSwitch );
-            }
+		}
+	
+    if( iPageSelector )
+    	{		
+		TInt lastPage =  ( iPageSelector->PageContainer()->NumPages() - 1 );
+		TInt pageIndex = 0;
+		CEikDialogPage* page( NULL );
+	
+		while ( pageIndex++ <= lastPage )
+			{
+			page = iPageSelector->PageContainer()->Page( pageIndex );
+			page->HandleResourceChange( KEikDynamicLayoutVariantSwitch );
+			}   
         }
 
    	if (iExtension)
--- a/uifw/EikStd/dlgsrc/EIKDLG.MMP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKDLG.MMP	Mon Aug 23 15:39:03 2010 +0100
@@ -73,7 +73,7 @@
 LIBRARY         avkon.lib
 LIBRARY         form.lib
 LIBRARY         fepbase.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         gdi.lib
 LIBRARY         aknskins.lib
 LIBRARY         fbscli.lib
--- a/uifw/EikStd/dlgsrc/EIKDLGUT.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKDLGUT.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -360,7 +360,7 @@
 	{
 	CEikEdwin* edwin=(CEikEdwin*)Control(aControlId);
 	edwin->SetTextL(aDes);
-	edwin->DrawNow();
+	edwin->DrawDeferred();
 	}
 
 /**
--- a/uifw/EikStd/dlgsrc/EIKDPAGE.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKDPAGE.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -94,7 +94,8 @@
 public:
     enum TFlags
         {
-        ELineHandlerCalled
+        ELineHandlerCalled,
+        EDragEventsAllowed  // turned on when dragging is allowed
         };
     static CDialogPageExtension* NewL();
     ~CDialogPageExtension();
@@ -131,7 +132,6 @@
     TBool iExternalScrollbar;
     TBool iIsDoubleQuery;
     TBool iFocusedClicked;
-    TInt iPreviousThumbPosition;
     TBool iPreviousThumbDirection;
     MTouchFeedback* iFeedback;
     TBitFlags iFlags;
@@ -495,7 +495,6 @@
         thisLine->iIsFormControl = aFormControl ;
         if ( aFormControl )
             {
-            thisLine->GetAknLayoutValuesL() ;   // should cause the control to have size.
             if ( iFormFlags )
             thisLine->SetFormFlags( iFormFlags ) ;
             }       
@@ -1329,27 +1328,6 @@
     return KErrNotFound;
     }
 
-TInt CEikDialogPage::YPosToLine2(TInt aYPos) const
-    {
-    return iLines->YPosToLine( Rect(), iScroll->Top(), iScroll->Middle(), iScroll->Bottom(), aYPos );
-    }
-
-TInt CEikDialogPage::LineToYPos(TInt& aLine) const
-//
-// Calcs YPos of line relative to the ViewWin and adjusts aLine if its out of bounds
-    {
-	_AKNTRACE_FUNC_ENTER;
-    ASSERT(iLines);
-    const TInt numLines=iLines->Count();
-    ASSERT(numLines>0);
-    if (aLine<0)
-        aLine=0;
-    else if (aLine>=numLines)
-        aLine=numLines-1;
-    _AKNTRACE( "[%s][%s][%d]", "CEikDialogPage", __FUNCTION__, (*iLines)[aLine]->Position().iY );
-    _AKNTRACE_FUNC_EXIT;
-    return (*iLines)[aLine]->Position().iY; // TPREMOVAL +iDataWinPos.iY;
-    }
 
 void CEikDialogPage::ExposeLine(TInt aLine, TBool aForceResize, TBool aShowWholeLine) 
 //
@@ -1406,6 +1384,38 @@
             }
         }
 
+    // If control height is greater then screen. Make sure that edwin's cursor is visible
+    if (controlType == EEikCtEdwin && controlHeight > Rect().Height())
+        {
+        CEikEdwin* edwin = dynamic_cast<CEikEdwin*>(capCtrl->iControl); 
+        if (edwin)
+            {
+            TInt pos = edwin->CursorPos();
+            TRect linerect;
+            TRAP_IGNORE( linerect = edwin->TextLayout()->GetLineRectL(pos, pos) );
+            
+            TPoint capctrlpos = capCtrl->Position();
+            TPoint edwinpos = edwin->Position();
+            if (edwinpos.iY - capctrlpos.iY + (linerect.iTl.iY + linerect.iBr.iY)/2 > Rect().Height()/2) // cursor not fully visible
+                {
+                TInt offset = edwinpos.iY - capctrlpos.iY + (linerect.iTl.iY + linerect.iBr.iY)/2 - Rect().Height()/2;
+                if (topYPosOfControlWhichMustBeViewable + offset + Rect().Height() <= bottomYPosOfControlWhichMustBeViewable)
+                    {
+                    topYPosOfControlWhichMustBeViewable += offset;
+                    bottomYPosOfControlWhichMustBeViewable = topYPosOfControlWhichMustBeViewable + Rect().Height();
+                    }
+                else
+                    {
+                    topYPosOfControlWhichMustBeViewable = bottomYPosOfControlWhichMustBeViewable - Rect().Height();
+                    }
+                }
+            else
+                {
+                bottomYPosOfControlWhichMustBeViewable = topYPosOfControlWhichMustBeViewable + Rect().Height();
+                }
+            }
+        }
+ 
     SetDataPosition( topYPosOfControlWhichMustBeViewable, bottomYPosOfControlWhichMustBeViewable, aForceResize ); 
   
     if ( aLine != iLastExposedLine )
@@ -1523,13 +1533,31 @@
             }
 
         iLines->SetRect( Rect(), iScroll->Top(), iScroll->Middle(), iScroll->Bottom() );
-
         iExtension->iInitialLayoutDone = ETrue;
         UpdatePhysics();
 
-        if ( ( count > 0 ) && ( iCurrentLine >= 0 ) )
+        if ( iExtension->iScrolling
+                || iExtension->iFlags.IsSet( 
+                        CDialogPageExtension::EDragEventsAllowed ) )
+            {
+            iPhysics->Stop();
+            Synchronize();
+            }
+
+        if ( count > 0 && iCurrentLine != KErrNotFound )
             {
+            if ( iLastExposedLine != -1 )
+                {
+                iLastExposedLineViewWinYPosition = 
+                        iLines->LineIndexToYPosition( iLastExposedLine, 0 );
+                }
+
             ExposeLine( iCurrentLine, ETrue );
+            
+            if ( Size() != TSize::EUninitialized )
+                {
+                (*iLines)[iCurrentLine]->DrawDeferred();
+                }
             }
         
         TRAP_IGNORE( UpdateScrollBarL() ); // ignore any errors.
@@ -1633,7 +1661,7 @@
                     
                     if ( i != iCurrentLine )
                         {
-                        DrawNow();
+                        DrawDeferred();
                         }
                         
                     break;
@@ -1678,7 +1706,7 @@
                     {
                     RecordLineL( i );
                     }
-                DrawNow();
+                DrawDeferred();
                 break;
                 }
             }
@@ -1737,16 +1765,10 @@
                                              KAknsIIDQsnFrInput,
                                              KAknsIIDDefault ) ;
                 }
-
             }       
-        
         }
-    
     }
 
-void CEikDialogPage::DrawVerticalLine() const
-    {       
-    }
 
 void CEikDialogPage::HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType)
     {
@@ -1823,7 +1845,7 @@
     if (height > maxHeight)
         height = maxHeight;
 
-    TSize size = aEdwin->Size();
+    TSize size( aEdwin->Size() );
     TInt maximumEdwinHeight = aEdwin->MaximumHeight();
 // ensure maxheight as dynamic construction may be done whilst form is of zero height.
     if ((maximumEdwinHeight > maxHeight) && maxHeight) 
@@ -1878,54 +1900,6 @@
     }
 
 
-static TInt CountNumberOfLines_Edwin(CEikEdwin *aEdwin, TRect aRect, TInt numOfLines)
-    {
-    TInt edwinLines = numOfLines;
-    TInt count = 0;
-    for(TInt i=0;i<edwinLines;i++)
-        {
-        TInt scrolledLines = aEdwin->TextLayout()->FirstLineInBand();
-        TInt docPos = aEdwin->TextLayout()->FirstCharOnLine(scrolledLines + i+1);
-        TPoint point;
-        aEdwin->TextLayout()->PosInBand(docPos, point);
-        TInt yPos = point.iY;
-        TRect lineRect;
-        aEdwin->TextLayout()->GetLineRect(yPos, lineRect);
-        lineRect.iTl += aEdwin->Position();
-        lineRect.iBr += aEdwin->Position();
-        if (aRect.Contains(lineRect.iTl) && aRect.Contains(lineRect.iBr))
-            count++;
-        }   
-    return count;
-    }
-static TInt CountNumberOfLines_Ctrl(CCoeControl *aControl, TRect aRect)
-    {
-    TRect rect = TRect(aControl->Position(), aControl->Size());
-    TInt count = 0;
-    if (aRect.Contains(rect.iTl) && aRect.Contains(rect.iBr))
-        count ++;
-    return count;
-    }
-
-static TInt CountNumberOfVisibleLines(CEikCaptionedControl *aControl, TRect aClipRect)
-    {
-    TInt count = 0;
-    if (aControl->ControlIsAnEdwin(aControl->iControlType))
-        count += CountNumberOfLines_Edwin((CEikEdwin*)aControl->iControl, aClipRect, aControl->NumberOfLines());
-    else
-        count += CountNumberOfLines_Ctrl(aControl->iControl, aClipRect);
-    count += CountNumberOfLines_Ctrl(aControl->iCaption, aClipRect);
-    return count;
-    }
-
-static TInt NumberOfTextLinesVisible(CEikCapCArray *aLines, TInt aItem, TRect aClipRect)
-    {
-    if (aItem < 0) return 0;
-    CEikCaptionedControl *control = (*aLines)[aItem];
-    return CountNumberOfVisibleLines(control, aClipRect);   
-    }
-
-
 void CEikDialogPage::HandleScrollEventL(CEikScrollBar* aScrollBar,TEikScrollEvent aEventType)
     {
 	_AKNTRACE_FUNC_ENTER;
@@ -1990,23 +1964,15 @@
 
     if (scrollBar)
         {
-        TInt top = iScroll->Top();
-        TInt middle = iScroll->Middle();
-        TInt bottom = iScroll->Bottom();
-        TRect parent( Rect() );
-        TBool topmostPartial = top == -1;
-        iLines->CalcItemIndexes(top, middle, bottom, parent.Size());
-        TInt extraLines = topmostPartial ? NumberOfTextLinesVisible(iLines, top-1, parent) : 0;
-        iExtension->iPreviousThumbPosition = iLines->NumberOfTextLinesBeforeLine( top - extraLines );
-
         // Using form layout, since this is used by AknForm only
         TAknWindowComponentLayout layout = TAknWindowComponentLayout::Compose( 
             AknLayoutScalable_Avkon::listscroll_form_pane(),  
             AknLayoutScalable_Avkon::scroll_pane_cp8());
             
-        TRect scrollBarParent( MainPane().Size()/*mainPaneRect.Size()*/ );
-    
-        AknLayoutUtils::LayoutVerticalScrollBar(iPageContainer->ScrollBar(), scrollBarParent, layout.LayoutLine());
+		//Using Rect() instead of main pane rect for supporting partial input mode.
+        //TRect scrollBarParent( MainPane().Size() );   
+        AknLayoutUtils::LayoutVerticalScrollBar(iPageContainer->ScrollBar(), Rect(), layout.LayoutLine());
+        
         if(!ScbState() &&  iCurrentLine!=-1 && iCurrentLine < iLines->Count() )
         	{
     		CEikCaptionedControl *ctrl = (*iLines)[iCurrentLine];
@@ -2047,7 +2013,6 @@
         vertModel.iThumbSpan = iSize.iHeight - iSize.iHeight % 2;
         vertModel.iThumbPosition = Max( iPhysics->ViewTopY(), 0 );
 
-        iExtension->iPreviousThumbPosition = vertModel.iThumbPosition;
         TRAP_IGNORE(scrollBar->SetModelL(&vertModel)); // won't leave now, but can't guarantee forever        
         iPageContainer->ScrollBar()->Tile(&vertModel);
         iPageContainer->ScrollBar()->SetVFocusPosToThumbPos(vertModel.iThumbPosition);
@@ -2423,7 +2388,7 @@
     
     if ( iExtension->iUsesSingleClick && iExtension->iSetInitialFocusDone )
         {
-        ShowFocus( EFalse );
+        ShowFocus( EFalse, EFalse );
         }
     
     const TInt numLines=iLines->Count() ;
@@ -2545,9 +2510,6 @@
             // Have to call non const leaving function...  Ignore the TRAP as result is cosmetic only.
             TRAP_IGNORE( const_cast<CEikDialogPage*>(this)->DrawEmptyListL( windowGcRef ) ) ;
             }
-        else
-            DrawVerticalLine();
-        
         
         if ( IsForm() )
             {
@@ -2707,8 +2669,6 @@
         aLine->iIsFormControl = iFormControl ;
         if ( iFormFlags )
             aLine->SetFormFlags( iFormFlags ) ;
-
-        aLine->GetAknLayoutValuesL() ;  // should cause the control to have size.
         }
     };
 
@@ -2822,14 +2782,6 @@
     return EFalse;
     }
 
-TSize CEikDialogPage::RealDataSize() const
-    {
-    if (iLines)
-        if (iLines->Count()>0)
-            return TRect((*iLines)[0]->Rect().iTl,(*iLines)[iLines->Count()-1]->Rect().iBr).Size();
-    return iSize;
-    }
-
 TInt CEikDialogPage::NumberOfLines() const
     {
     if (iLines)
@@ -3001,6 +2953,8 @@
                     }
                 }
             }
+        
+        iExtension->iFlags.Set( CDialogPageExtension::EDragEventsAllowed );
         }
 
     if ( aPointerEvent.iType == TPointerEvent::EDrag )
@@ -3008,7 +2962,9 @@
         _AKNTRACE( "TPointerEvent::EDrag" );
         TPoint drag( iExtension->iDragStartPosition - aPointerEvent.iPosition );
         
-        if ( Abs( drag.iY ) > iPhysics->DragThreshold() )
+        if ( Abs( drag.iY ) > iPhysics->DragThreshold()
+                && iExtension->iFlags.IsSet( 
+                        CDialogPageExtension::EDragEventsAllowed ) )
             {
             iExtension->iHighlightTimer->Cancel();
 
@@ -3074,7 +3030,8 @@
         
         if ( !textSelected )
             {
-            if ( !iPhysics->StartFlick( drag, iExtension->iStartTime ) )
+            if ( !iExtension->iFlags.IsSet( CDialogPageExtension::EDragEventsAllowed ) 
+                    || !iPhysics->StartFlick( drag, iExtension->iStartTime ) )
                 {
                 iExtension->iScrolling = EFalse;
                 
@@ -3106,6 +3063,8 @@
                     }
                 }
             }
+        
+        iExtension->iFlags.Clear( CDialogPageExtension::EDragEventsAllowed );
         }
 
     // forward pointer event to line's observer
@@ -3186,13 +3145,13 @@
             viewCenter.iY = Abs( (*iLines)[0]->Rect().iTl.iY - iPosition.iY );
             }
             
-        viewCenter.iY += iPhysics->ViewCenterDistance();
+        TInt viewCenterDistance = iPhysics->ViewCenterDistance();
+        viewCenter.iY += viewCenterDistance;
         
         if ( iExtension->iInitialLayoutDone )
             {
             TInt oldScreenHeight = iPhysics->ViewSize().iHeight;
-            TInt delta = ( iPhysics->ViewCenterDistance() ) - 
-                ( oldScreenHeight / 2 );
+            TInt delta = ( viewCenterDistance ) - ( oldScreenHeight / 2 );
 
             viewCenter = iPhysics->ViewCenter();
             viewCenter.iY += delta;
@@ -3201,6 +3160,16 @@
         TSize worldSize( iLines->MinimumSize() );
         worldSize.iHeight = Max( worldSize.iHeight, iSize.iHeight );
 
+        // align to borders if those are crossed
+        if ( viewCenter.iY < viewCenterDistance )
+            {
+            viewCenter.iY = viewCenterDistance;
+            }
+        else if ( viewCenter.iY > ( worldSize.iHeight - viewCenterDistance ) )
+            {
+            viewCenter.iY = worldSize.iHeight - viewCenterDistance;
+            }
+        
         TRAP_IGNORE( iPhysics->InitPhysicsL( worldSize, iSize, viewCenter ) );
         TRAP_IGNORE( UpdateScrollBarL() );
         }
@@ -3267,7 +3236,7 @@
 // ---------------------------------------------------------------------------
 //
 void CEikDialogPage::ScrollCacheByPixels( 
-		TInt /*aDelta*/, const TDesC& /*aDebugMsg*/, TBool aDrawNow )
+		TInt /*aDelta*/, TBool aDrawNow )
     {
     if ( iLines->Count() <= 0 )
         return;
@@ -3302,17 +3271,16 @@
         {
         if ( upperItem != iExtension->iTopItem || bottomItem != iExtension->iBottomItem )
             {
-            if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionDragging )
-                {
-                iExtension->Feedback( *this, ETouchFeedbackSensitiveList );
-                }
-            else if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionFlicking )
+            switch(iPhysics->OngoingPhysicsAction())
                 {
-                iExtension->SilentFeedback( *this, ETouchFeedbackSensitiveList, TPointerEvent() );
-                }
-            else if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionBouncing )
-                {
-                iExtension->SilentFeedback( *this, ETouchFeedbackSensitiveList, TPointerEvent() );
+                case CAknPhysics::EAknPhysicsActionBouncing:
+                case CAknPhysics::EAknPhysicsActionDragging:
+                case CAknPhysics::EAknPhysicsActionFlicking:
+                    iExtension->SilentFeedback( *this,
+                            ETouchFeedbackSensitiveList, TPointerEvent() );
+                    break;
+                default:
+                    break;
                 }
             }
         }
@@ -3320,17 +3288,16 @@
         {
         if ( upperItem < iExtension->iTopItem || bottomItem > iExtension->iBottomItem )
             {
-            if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionDragging )
-                {
-                iExtension->Feedback( *this, ETouchFeedbackSensitiveList );
-                }
-            else if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionFlicking )
+            switch(iPhysics->OngoingPhysicsAction())
                 {
-                iExtension->SilentFeedback( *this, ETouchFeedbackSensitiveList, TPointerEvent() );
-                }
-            else if( iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionBouncing )
-                {
-                iExtension->SilentFeedback( *this, ETouchFeedbackSensitiveList, TPointerEvent() );
+                case CAknPhysics::EAknPhysicsActionBouncing:
+                case CAknPhysics::EAknPhysicsActionDragging:
+                case CAknPhysics::EAknPhysicsActionFlicking:
+                    iExtension->SilentFeedback( *this,
+                            ETouchFeedbackSensitiveList, TPointerEvent() );
+                    break;
+                default:
+                    break;
                 }
             }
         }
@@ -3395,6 +3362,7 @@
 void CEikDialogPage::Synchronize()
     {
     iExtension->iScrolling = EFalse;
+    iExtension->iFlags.Clear( CDialogPageExtension::EDragEventsAllowed );
     iLines->MoveLineToScreen( iCurrentLine, iPhysics->ViewTopY(), ETrue );
     }
 
@@ -3477,22 +3445,6 @@
 
 
 // ---------------------------------------------------------------------------
-// CEikDialogPage::ScrollByPixels
-// ---------------------------------------------------------------------------
-//
-void CEikDialogPage::ScrollByPixels( TInt aDelta )
-    {
-    if ( aDelta != 0 )
-        {
-        iLines->ScrollByPixels( aDelta );
-        TRAP_IGNORE( UpdateScrollBarL() );
-        DrawNow();
-        TRAP_IGNORE( RecordLinesL() );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
 // CEikDialogPage::RemovePressedDownHighlight
 // ---------------------------------------------------------------------------
 //
@@ -3592,12 +3544,10 @@
     CCoeControl* grabbingComponent = GrabbingComponent(); 
     TBool callDefaultImplementation = ETrue;
     TBool focusItem = EFalse;
-    // YPosToLine is scaled to iDataWinPos, so add it to pointer Y position
-    TInt yPosition = aPointerEvent.iPosition.iY; // + iDataWinPos.iY;
-    TInt touchedLineIndex = YPosToLine2( yPosition );
+    TInt touchedLineIndex = iLines->YPositionToLineIndex( aPointerEvent.iPosition.iY );
+
     // If the stylus is down and the touched line is already the current one,
     // mark this fact in iExtension->iFocusedClicked to be used later when the stylus is up.
-    
     if ( touchedLineIndex != KErrNotFound && 
          iExtension->iCapturingItem != KErrNotFound &&
          touchedLineIndex != iExtension->iCapturingItem )
@@ -4492,32 +4442,15 @@
     iPageSelector = aPageSelector;
     }
 
-void CEikDialogPageContainer::SetPageFormSized()
+void CEikDialogPageContainer::SetPageFormSized(const TRect& aRect)
     {
     iForm = ETrue;
 
     //
     // Form layout
-    //
-    
-    /** Dialog page container and page have the same size */
-    TRect mainPaneRect;
-    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
-    mainPaneRect = TRect( mainPaneRect.Size() );    // Moving to point (0, 0)
-    TAknLayoutRect formPaneLt;
-    formPaneLt.LayoutRect( mainPaneRect, AknLayoutScalable_Avkon::listscroll_form_pane().LayoutLine() );
-    formPaneLt.LayoutRect( formPaneLt.Rect(), AknLayoutScalable_Avkon::list_form_gen_pane().LayoutLine() );
+    //    
     
-    //
-    // End of form layout
-    //
-
-    if ( formPaneLt.Rect() != Rect() )
-        {
-        // TODO: use static method to do variation between traditional scrolling and panning when available
-        //SetRect( formPaneLt.Rect() );
-        SetRect( mainPaneRect );
-        }
+    SetRect(aRect);
 
     /** Only forms have line highlight animations. Animation creation is delayed
       * here.
--- a/uifw/EikStd/dlgsrc/EIKDPSEL.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/EIKDPSEL.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -592,7 +592,7 @@
 
     if ( iIsForm )
         {
-        iPageContainer->SetPageFormSized();
+        iPageContainer->SetPageFormSized(Rect());
         }
     else
         {
--- a/uifw/EikStd/dlgsrc/aknformphysics.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/aknformphysics.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -115,16 +115,11 @@
                                    const TTime& aStartTime )
     {
     _AKNTRACE_FUNC_ENTER;
-    if (  PhysicsAllowed() )
+    TPoint drag( aLength );
+
+    if ( iPhysics->StartPhysics( drag, aStartTime ) )
         {
-        TPoint drag( aLength );
-        if ( iPhysics->StartPhysics( drag, aStartTime ) )
-            {
-            // reset benchmark variables
-            iStartTime.HomeTime();
-            iFrameCount = 0;
-            return ETrue;
-            }
+        return ETrue;
         }
 
     PhysicEmulationEnded();
@@ -170,7 +165,7 @@
 void CAknFormPhysics::SetPanningPosition( const TPoint& aDelta )
     {
     _AKNTRACE_FUNC_ENTER;
-    if (  PhysicsAllowed() && iPhysics )
+    if ( iPhysics )
         {
         iPhysics->RegisterPanningPosition( aDelta );
         }
@@ -189,32 +184,9 @@
     _AKNTRACE_FUNC_ENTER;
     _AKNTRACE( "The Position of aNewPosition are: ( %d, %d ) ", 
     		aNewPosition.iX, aNewPosition.iY );
-    if ( !PhysicsAllowed() )
-        {
-        return;
-        }
-    TInt fps = 0;
+
     iViewCenter = aNewPosition;
-
-    // benchmark / debug part
-    if ( iFrameCount != -1 )
-        {
-        ++iFrameCount;
-        TTime now;
-        now.HomeTime();
-        
-        TInt64 duration = now.MicroSecondsFrom( iStartTime ).Int64();
-        
-        if ( duration > 0 )
-            {
-            fps = iFrameCount * 1000000 / duration;
-            }
-        }
-
-    TBuf<128> msg;
-    msg.Format( _L( "%dfps" ), fps );
-
-    iParent.ScrollCacheByPixels( iViewCenter.iY, msg, aDrawNow );
+    iParent.ScrollCacheByPixels( iViewCenter.iY, aDrawNow );
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -227,7 +199,6 @@
     {
     _AKNTRACE_FUNC_ENTER;
     iParent.Synchronize();
-    iFrameCount = -1;
     _AKNTRACE_FUNC_EXIT;
     }
 
@@ -300,13 +271,4 @@
     {
     return iViewCenter;
     }
-
-
-// ---------------------------------------------------------------------------
-// CAknFormPhysics::PhysicsAllowed
-// ---------------------------------------------------------------------------
-//
-TBool CAknFormPhysics::PhysicsAllowed() const
-    {
-    return ETrue;
-    }
+	
--- a/uifw/EikStd/dlgsrc/aknrecordinggc.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/dlgsrc/aknrecordinggc.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -183,8 +183,7 @@
                     case CBufferItem::EDrawLine:
                         // EDrawLine is used for separator line only and it
                         // should be skipped for the last visible item.
-                        if ( i < iLines.Count() - 1 
-                                && realRect.iBr.iY < aRect.iBr.iY )
+                        if ( i < iLines.Count() - 1 )
                             {
                             gc->DrawLine( item->iRect.iTl, item->iRect.iBr );
                             }
--- a/uifw/EikStd/srvuisrc/EIKSRVUI.MMP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/srvuisrc/EIKSRVUI.MMP	Mon Aug 23 15:39:03 2010 +0100
@@ -71,17 +71,17 @@
 LIBRARY         mediaclientaudio.lib
 LIBRARY         eiksrv.lib
 LIBRARY         avkon.lib
-LIBRARY         eikalert.lib
+LIBRARY         Eikalert.lib
 LIBRARY         apfile.lib
-LIBRARY         cdlengine.lib
-LIBRARY         commonengine.lib
+LIBRARY         CdlEngine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         aknnotify.lib
 LIBRARY         aknskins.lib
 LIBRARY         fbscli.lib
 LIBRARY         featmgr.lib
 LIBRARY         aknicon.lib
 LIBRARY         egul.lib
-LIBRARY         aknlayout2scalable.lib
+LIBRARY         AknLayout2Scalable.lib
 LIBRARY         oodmonitor.lib
 LIBRARY         uiklaf.lib
 LIBRARY         viewcli.lib
--- a/uifw/EikStd/srvuisrc/eikkeysoundserver.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/EikStd/srvuisrc/eikkeysoundserver.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -1229,7 +1229,8 @@
 
     if ( Preference() != KKeyClickPreference ) // Other sounds than key click
         {
-        aAudioPlayer->SetVolume( ((TInt)iVolume * max )/(TInt)ESoundVolume9);
+		//change (TInt)ESoundVolume9 to ((TInt)ESoundVolume9 + 1)) to keep consistent with audiotheme
+        aAudioPlayer->SetVolume( ((TInt)iVolume * max )/((TInt)ESoundVolume9 + 1));
         return;
         }
 
--- a/uifw/eikctl/group/eikctl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/eikctl/group/eikctl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -88,18 +88,18 @@
 LIBRARY         insock.lib
 LIBRARY         fepbase.lib
 LIBRARY         avkon.lib
-LIBRARY         cdlengine.lib
+LIBRARY         CdlEngine.lib
 LIBRARY         aknskins.lib
 LIBRARY         numberconversion.lib
 LIBRARY         aknpictograph.lib
 LIBRARY         aknicon.lib
-LIBRARY         AknLayout2.lib
+LIBRARY         aknlayout2.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         centralrepository.lib
-LIBRARY         Lbs.lib
+LIBRARY         lbs.lib
 LIBRARY         bitgdi.lib
 LIBRARY         cenrepnotifhandler.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
 LIBRARY  aknlistloadertfx.lib
 #endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -109,7 +109,7 @@
 LIBRARY         aknphysics.lib
 
 // For trace log
-LIBRARY         AknNotify.lib
+LIBRARY         aknnotify.lib
 DEFFILE         EIKCTL.DEF
 
 START WINS
--- a/uifw/eikctl/src/EIKCLBD.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/eikctl/src/EIKCLBD.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -2127,15 +2127,19 @@
                 }
             if ( AknsUtils::AvkonSkinEnabled() )
                 {
-                if ( iExtension->iTextColor != NULL )
-                    {
-                    textColor = iExtension->iTextColor;
-                    }
-                
-                if ( aHighlight && iExtension->iHighlightedTextColor != NULL )
-                    {
-                    textColor = iExtension->iHighlightedTextColor;
-                    }
+                CListBoxView* view = listbox->View();
+                TBool useOverrideColor = view->ItemDrawer()->Flags() & CListItemDrawer::EUseOverrideSkinTextColor;
+                if ( !useOverrideColor )
+                   {                 
+                   if ( iExtension->iTextColor != NULL )
+                       {
+                       textColor = iExtension->iTextColor;
+                       }
+                   if ( aHighlight && iExtension->iHighlightedTextColor != NULL )
+                       {
+                       textColor = iExtension->iHighlightedTextColor;
+                       }
+                   }
                 }
                 
             const CFont* rowAndColFont=RowAndColumnFont(iExtension->iCurrentRow,column);
@@ -2611,15 +2615,15 @@
                     aGc.SetPenColor(aColors.iHighlightedText);
                     aGc.SetBrushColor(aColors.iHighlightedBack);    
                     }
-
-                if ( AknsUtils::AvkonSkinEnabled() )
+                CListBoxView* view = listbox->View();
+                TBool useOverrideColor = view->ItemDrawer()->Flags() & CListItemDrawer::EUseOverrideSkinTextColor;
+                if ( AknsUtils::AvkonSkinEnabled() && !useOverrideColor )
                     {
-                    if (iExtension->iTextColor != NULL)
+                    if ( iExtension->iTextColor != NULL )
                         {
                         aGc.SetPenColor(iExtension->iTextColor);
                         }
-
-                    if (aHighlight && iExtension->iHighlightedTextColor != NULL)
+                    if ( aHighlight && iExtension->iHighlightedTextColor != NULL )
                         {
                         aGc.SetPenColor(iExtension->iHighlightedTextColor);
                         }
@@ -2836,12 +2840,8 @@
                 & CListItemDrawer::EMarkingModeEnabled &&
                 !aProperties.IsSelectionHidden() &&
                 iExtension->iMarkingIconArray &&
-#ifdef RD_TOUCH2_MARKING
                 iExtension->iMarkingIconArray->Count() == 
-                        KMarkingModeIconArraySize )
-#else
-                iExtension->iMarkingIconArray->Count() == 2 )
-#endif // RD_TOUCH2_MARKING            
+                        KMarkingModeIconArraySize )          
             {
             if ( AknLayoutUtils::LayoutMirrored() )
                 {
--- a/uifw/eikctl/src/EIKMFNE.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/eikctl/src/EIKMFNE.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -104,6 +104,128 @@
     User::Panic(KPanicCat, aPanic);
     }
 
+NONSHARABLE_CLASS(CEikTimeEditorExtension) : public CBase, 
+	public CAknExtendedInputCapabilities::MAknEventObserver 
+    {
+public:
+    static CEikTimeEditorExtension* NewL();
+    virtual ~CEikTimeEditorExtension();
+private: 
+    CEikTimeEditorExtension();
+
+    void ConstructL();
+public:
+    /**
+     * From CAknExtendedInputCapabilities::MAknEventObserver
+     * Handle an event
+     *
+     * @since S60 v9.2
+     * @param aEvent An event, see TInputCapabilitiesEvent
+     * @param aParams Event dependent parameters
+     */
+
+    void HandleInputCapabilitiesEventL( TInt aEvent, TAny* aParams );
+public:
+    CEikTimeEditor * iEditor;
+    };
+
+CEikTimeEditorExtension* CEikTimeEditorExtension::NewL()
+    {
+	CEikTimeEditorExtension* self = new (ELeave) CEikTimeEditorExtension();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+CEikTimeEditorExtension::~CEikTimeEditorExtension()
+    {
+
+    }
+
+CEikTimeEditorExtension::CEikTimeEditorExtension()
+    {
+    }
+
+void CEikTimeEditorExtension::ConstructL()
+    {
+    }
+
+void CEikTimeEditorExtension::HandleInputCapabilitiesEventL( TInt aEvent, TAny* /*aParams*/ )
+	{
+    switch ( aEvent )
+        {
+        case CAknExtendedInputCapabilities::MAknEventObserver::EChangeAmPm:
+        	if ( iEditor )
+	            {
+        	    iEditor->ChangeAmPm();
+	            }
+            break;
+        }
+    return;
+	}
+
+
+NONSHARABLE_CLASS(CEikTimeAndDateEditorExtension) : public CBase, 
+	public CAknExtendedInputCapabilities::MAknEventObserver 
+    {
+public:
+    static CEikTimeAndDateEditorExtension* NewL();
+    virtual ~CEikTimeAndDateEditorExtension();
+private: 
+    CEikTimeAndDateEditorExtension();
+
+    void ConstructL();
+public:
+    /**
+     * From CAknExtendedInputCapabilities::MAknEventObserver
+     * Handle an event
+     *
+     * @since S60 v9.2
+     * @param aEvent An event, see TInputCapabilitiesEvent
+     * @param aParams Event dependent parameters
+     */
+
+    void HandleInputCapabilitiesEventL( TInt aEvent, TAny* aParams );
+public:
+    CEikTimeAndDateEditor * iEditor;
+    };
+
+CEikTimeAndDateEditorExtension* CEikTimeAndDateEditorExtension::NewL()
+    {
+	CEikTimeAndDateEditorExtension* self = new (ELeave) CEikTimeAndDateEditorExtension();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
+CEikTimeAndDateEditorExtension::~CEikTimeAndDateEditorExtension()
+    {
+
+    }
+
+CEikTimeAndDateEditorExtension::CEikTimeAndDateEditorExtension()
+    {
+    }
+
+void CEikTimeAndDateEditorExtension::ConstructL()
+    {
+    }
+
+void CEikTimeAndDateEditorExtension::HandleInputCapabilitiesEventL( TInt aEvent, TAny* /*aParams*/ )
+	{
+    switch ( aEvent )
+        {
+        case CAknExtendedInputCapabilities::MAknEventObserver::EChangeAmPm:
+        	if ( iEditor )
+	            {
+        	    iEditor->ChangeAmPm();
+	            }
+            break;
+        }
+    return;
+	}
 NONSHARABLE_CLASS(CEikMfneExtension) : public CBase, public MCoeFepAwareTextEditor 
     {
 public:
@@ -165,6 +287,7 @@
     MTouchFeedback* iFeedback;
     TBool iLaunchPenInputAutomatic;
     TBool iPartialScreenInput;
+    TBool iChangeAmPm;
     };
 
 // Implementation of the extension
@@ -1930,6 +2053,7 @@
                     iExtension->iDisablePenInput = !( iExtension->iFingerSupport );                    
                     iExtension->iFingerParam = aFeatureParam; 
                     iExtension->iHighlightAll = ( iExtension->iFingerSupport &&
+                        !iExtension->iTouchActivated &&
                         aFeatureParam == EnableWithAllHighlight );                  
                     }
                 else
@@ -1967,6 +2091,26 @@
                     ret = KErrGeneral;
                     }
                 break;
+            case EChangeAmPm:
+                if ( iExtension )
+                    {
+                    iExtension->iChangeAmPm = aFeatureParam;
+                    TUint caps( iExtension->iExtendedInputCapabilities->Capabilities() );
+                    if ( aFeatureParam )
+                        {
+                        caps |= CAknExtendedInputCapabilities::EInputEditorAmPm;
+                        }
+                    else
+                        {
+                        caps &= ~CAknExtendedInputCapabilities::EInputEditorAmPm;
+                        }
+                    iExtension->iExtendedInputCapabilities->SetCapabilities( caps );
+                    }
+                else
+                    {
+                    ret = KErrGeneral;
+                    }
+                break;
             default:
                 ret = KErrNotSupported;
                 break;
@@ -2039,6 +2183,16 @@
                     ret = KErrGeneral;
                     }
                 break;
+            case EChangeAmPm:
+                if ( iExtension )
+                    {
+                    aFeatureParam = iExtension->iChangeAmPm;
+                    }
+                else
+                    {
+                    ret = KErrGeneral;
+                    }
+                break;
             default:
                 ret = KErrNotSupported;
                 break;
@@ -2059,7 +2213,8 @@
         EDisablePenInput,
         EFingerSupport,
         ELaunchPenInputAutomatic,
-        EPartialScreenInput
+        EPartialScreenInput,
+        EChangeAmPm
         };
         
     TBool ret = EFalse;
@@ -2448,6 +2603,8 @@
                     }
                 else 
                     {
+
+
                     // Note!! This is taking responsibility away from the CEikMfne Field for drawing
                     // Skin background is drawn for the fields here
                     if( SkinningBackground() && !iFlags[EUseOverrideColors] )
@@ -3150,7 +3307,8 @@
     void SetUninitialised(TBool aUninitialised);
     TBool IsUninitialised() const;
     void RefreshFromLocale(const CFont& aFont);
-
+    void ChangeAmPm();
+    TBool HasAmPm();
 private:
     void AddAmPmFieldsIfNecessaryL(CEikMfne& aOwner, TAmPm aAmPm, TLocalePos aPos);
 private:
@@ -3421,7 +3579,25 @@
         (iAmPm && iAmPm->IsUninitialised());
     }
 
-
+void CTimeEditor::ChangeAmPm()
+	{
+	if ( iAmPm && HasAmPm() )
+		{
+	    if ( iAmPm->IdOfCurrentSymbolicItem() == EPm )
+	    	{
+	        iAmPm->SetCurrentSymbolicItemToId(EAm);
+	    	}
+	    else
+	    	{
+            iAmPm->SetCurrentSymbolicItemToId(EPm);
+	    	}
+		}
+	}
+
+TBool CTimeEditor::HasAmPm()
+	{
+	return iAmPm && ( iFlags&EIn12HourFormat );
+	}
 // CDateEditor
 
 class CDateEditor : public CBase
@@ -3819,7 +3995,9 @@
 EXPORT_C CEikTimeEditor::~CEikTimeEditor()
     {
     AKNTASHOOK_REMOVE();
+    iExtension->iExtendedInputCapabilities->UnregisterObserver(iTimeExtension);
     delete iTimeEditor;
+    delete iTimeExtension;
     }
 
 EXPORT_C void CEikTimeEditor::ConstructL(const TTime& aMinimumTime, const TTime& aMaximumTime, const TTime& aInitialTime, TUint32 aFlags)
@@ -3830,6 +4008,10 @@
     iTimeEditor->ConstructFieldsL(*this, aInitialTime, *Font());
     iTimeEditor->RefreshFromLocale(*Font());
     DoSetMinimumAndMaximum(aMinimumTime, aMaximumTime);
+    iTimeExtension = CEikTimeEditorExtension::NewL();
+    iTimeExtension->iEditor = this;
+    iExtension->iExtendedInputCapabilities->RegisterObserver(iTimeExtension);
+    SetFeature( CEikMfne::EChangeAmPm, iTimeEditor->HasAmPm() );
     }
 
 EXPORT_C void CEikTimeEditor::SetMinimumAndMaximum(const TTime& aMinimumTime, const TTime& aMaximumTime)
@@ -3925,6 +4107,19 @@
     return iTimeEditor->IsUninitialised();
     }
 
+void CEikTimeEditor::ChangeAmPm( )
+	{
+	TInt para( 0 );
+    GetFeature( CEikMfne::EChangeAmPm, para );
+	if ( para )
+		{
+	    iTimeEditor->ChangeAmPm();
+	    DrawDeferred();
+	    TRAP_IGNORE ( ReportEventL( MCoeControlObserver::EEventStateChanged ) );
+        ReportUpdate();
+		}
+	return;
+	}
 // CEikDateEditor
 
 EXPORT_C CEikDateEditor::CEikDateEditor()
@@ -4107,8 +4302,10 @@
 EXPORT_C CEikTimeAndDateEditor::~CEikTimeAndDateEditor()
     {
     AKNTASHOOK_REMOVE();
+    iExtension->iExtendedInputCapabilities->UnregisterObserver(iTimeDateExtension);
     delete iTimeEditor;
     delete iDateEditor;
+    delete iTimeDateExtension;
     }
 
 EXPORT_C void CEikTimeAndDateEditor::ConstructL(const TTime& aMinimumTimeAndDate, const TTime& aMaximumTimeAndDate,
@@ -4154,6 +4351,10 @@
     // do stuff that can only be done when all leaving functions have successfully been done
     if (aInterveningText)
         interveningText->SetText(aInterveningText);
+    iTimeDateExtension = CEikTimeAndDateEditorExtension::NewL();
+    iTimeDateExtension->iEditor = this;
+    iExtension->iExtendedInputCapabilities->RegisterObserver(iTimeDateExtension);
+    SetFeature( CEikMfne::EChangeAmPm, iTimeEditor->HasAmPm() );
     }
 
 EXPORT_C void CEikTimeAndDateEditor::SetMinimumAndMaximum(const TTime& aMinimumTimeAndDate, const TTime& aMaximumTimeAndDate)
@@ -4293,6 +4494,19 @@
     {
     }
 
+void CEikTimeAndDateEditor::ChangeAmPm( )
+	{
+	TInt para( 0 );
+    GetFeature( CEikMfne::EChangeAmPm, para );
+	if ( para )
+		{
+	    iTimeEditor->ChangeAmPm();
+	    DrawDeferred();
+	    TRAP_IGNORE ( ReportEventL( MCoeControlObserver::EEventStateChanged ) );
+        ReportUpdate();
+		}
+	return;
+	}
 
 // CEikDurationEditor
 
--- a/uifw/eikctl/src/EIKSECED.CPP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/eikctl/src/EIKSECED.CPP	Mon Aug 23 15:39:03 2010 +0100
@@ -942,7 +942,8 @@
     editorState->SetFlags( EAknEditorFlagNoLRNavigation |
                            EAknEditorFlagLatinInputModesOnly |
                            EAknEditorFlagNoT9 |
-                           EAknEditorFlagUseSCTNumericCharmap );
+                           EAknEditorFlagUseSCTNumericCharmap |
+                           EAknEditorFlagAvkonSecretEditor );
 
     editorState->SetDefaultInputMode(EAknEditorSecretAlphaInputMode);
     editorState->SetCurrentInputMode(EAknEditorSecretAlphaInputMode);
@@ -1208,7 +1209,7 @@
     TInt textWidth( iRevealSecretText ? 
         iFont->TextWidthInPixels( *iSecCharArr ) : 
         iFont->CharWidthInPixels( KSecretChar ) * pos );
-    TInt x;
+    TInt x( 0 );
     if ( iExtension )
     	{
 		if ( iAlign == CGraphicsContext::ELeft )
@@ -1278,11 +1279,11 @@
         TInt flags( edwinState->Flags() );
         if ( aEnable )
             {
-            flags &= ~EEikEdwinAvkonDisableCursor;
+            flags |= EAknEditorFlagTextCursorVisible;
             }
         else
             {
-            flags |= EEikEdwinAvkonDisableCursor;
+            flags &= ~EAknEditorFlagTextCursorVisible;
             }
         edwinState->SetFlags( flags );
         }    
--- a/uifw/ganes/group/ganes.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/group/ganes.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -73,20 +73,20 @@
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY       aknicon.lib
-LIBRARY       AknLayout2.lib       
+LIBRARY       aknlayout2.lib
 LIBRARY       AknLayout2Scalable.lib
 LIBRARY       aknnotify.lib
 LIBRARY       aknphysics.lib
-LIBRARY       aknskins.lib 
+LIBRARY       aknskins.lib
 LIBRARY       aknskinsrv.lib
 LIBRARY       akntouchgesturefw.lib
 LIBRARY       apparc.lib
 LIBRARY       avkon.lib
 LIBRARY       bitgdi.lib
 LIBRARY       CdlEngine.lib 
-LIBRARY       CenrepNotifHandler.lib
+LIBRARY       cenrepnotifhandler.lib
 LIBRARY       centralrepository.lib
-LIBRARY       commonengine.lib
+LIBRARY       CommonEngine.lib
 LIBRARY       cone.lib
 LIBRARY       efsrv.lib 
 LIBRARY       egul.lib
@@ -97,7 +97,7 @@
 LIBRARY       euser.lib
 LIBRARY       fbscli.lib
 LIBRARY       fepbase.lib
-LIBRARY       FeatMgr.lib
+LIBRARY       featmgr.lib
 LIBRARY       gdi.lib
 LIBRARY       imageconversion.lib 
 LIBRARY       libOpenVG.lib
--- a/uifw/ganes/src/HgItem.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/src/HgItem.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -67,8 +67,8 @@
 //
 CHgItem::CHgItem( TInt aFlags, CGulIcon* aIcon ) :
     iIcon( aIcon ),
-    iFlags( aFlags ),
-    iTime(0)
+    iTime(0),
+    iFlags( aFlags )
     {
     }
 
--- a/uifw/ganes/src/HgScroller.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/src/HgScroller.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -241,9 +241,9 @@
             if( iMarkingObserver )
                 {
                 TRAP_IGNORE( iMarkingObserver->HandleMarkingL( aIndex, ETrue ) );
-                }            
+                }
             }
-        }    
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -592,7 +592,8 @@
 
             if( iDetector 
                     && iSelectedIndex != KErrNotFound 
-                    && !HasHighlight() 
+                    && !HasHighlight()
+                    && !(iFlags & EHgScrollerSelectionMode)
                     && iActionMenu->InitMenuL() )
                 {
                 iDetector->PointerEventL( aEvent );
@@ -1131,17 +1132,10 @@
         TInt action = iPhysics->OngoingPhysicsAction();
         if( action !=  CAknPhysics::EAknPhysicsActionNone && needsFeedback )
             {
-            TTouchFeedbackType type( ETouchFeedbackVibra );
-            if ( CAknPhysics::EAknPhysicsActionDragging == action )
-                {
-                type = TTouchFeedbackType(ETouchFeedbackVibra | ETouchFeedbackAudio);
-                }
-
             MTouchFeedback* feedback = MTouchFeedback::Instance();
             if(feedback)
                 feedback->InstantFeedback( this, ETouchFeedbackSensitiveList,
-                                            type,
-                                            TPointerEvent() );
+                                           ETouchFeedbackVibra, TPointerEvent() );
             }
 
         if(iManager)
@@ -1202,7 +1196,7 @@
                 }
             else if( iItemCount )
                 {
-                iSelectedIndex = iCurrentRow;
+                iSelectedIndex = CurrentIndex();
                 FitSelectionToView();
                 iShowHighlight = ETrue;
                 iDrawUtils->EnableMarquee(HasHighlight());
@@ -1739,6 +1733,9 @@
             iScrollbar = CHgScrollbar::NewL(*this);
             InitScrollbarL();
             InitGraphicsL();
+            
+            HandleSizeChanged();
+            DrawDeferred();
             }
         )
     }
@@ -1750,7 +1747,7 @@
 void CHgScroller::HandleLongTapEventL( const TPoint& /*aPenEventLocation*/,
                         const TPoint& aPenEventScreenLocation)
     {
-    if( iActionMenu )
+    if( iActionMenu && !(iFlags & EHgScrollerSelectionMode) )
         {
         iOldWinPos = DrawableWindow()->OrdinalPosition();
         iActionMenu->ShowMenuL(aPenEventScreenLocation);
--- a/uifw/ganes/src/HgVgEGL.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/src/HgVgEGL.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -272,7 +272,8 @@
     eglMakeCurrent(iDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
     eglDestroySurface(iDisplay,iSurface);
     eglDestroyContext( iDisplay, iContextVg );
-    eglTerminate(iDisplay);    
+    eglTerminate(iDisplay);
+    eglReleaseThread();
     }
 
 
--- a/uifw/ganes/src/HgVgLetterPopup.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/src/HgVgLetterPopup.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -132,15 +132,10 @@
         iDrawBuffer->Clear(iRect.Size(), KRgbBlack);
         
         TAknLayoutText layout;
-        layout.LayoutText(iParentRect, iTextLayout);
+        layout.LayoutText( TRect(TPoint(0,0), iRect.Size()), iTextLayout);
         layout.DrawText(iDrawBuffer->Gc(), aText, ETrue, KRgbWhite);
         
-/*        TInt width = iFont->TextWidthInPixels(aText);
-        TInt height = iFont->HeightInPixels();
-        TPoint pos(iRect.Width() / 2 - width / 2, 
-                iRect.Height() / 2 + height / 2);
-        iDrawBuffer->DrawText(aText, iFont, KRgbWhite, pos);*/
-        iDrawBuffer->GetDrawBufferToVgImage(iRect.Size(), TPoint(0,0), iLetterImage, VG_A_8);
+        iDrawBuffer->GetDrawBufferToVgImage(TRect(TPoint(0,0), iRect.Size()), TPoint(0,0), iLetterImage, VG_A_8);
         }
     }
 
@@ -216,6 +211,7 @@
     {
     iPopupLayout = aPopupLayout;
     iTextLayout = aTextLayout;
+    iTextLayout.Setr(0);
     iTextLayout.Setl(0);
     iTextLayout.Sett(0);
     iParentRect = aParentRect;
--- a/uifw/ganes/src/HgVgMediaWall.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/ganes/src/HgVgMediaWall.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -145,7 +145,7 @@
     
     
     SetMopParent( aParent );
-    SetFlags( EHgVgMediaWallUninitialized );
+    SetFlags( EHgVgMediaWallDrawToWindowGC | EHgVgMediaWallUninitialized );
     
     }
 
@@ -159,11 +159,15 @@
     // Set the windows size       
     SetRect ( aRect );
 
-#ifdef MEDIAWALL_ORIENTATION_FIX    
+#ifdef MEDIAWALL_ORIENTATION_FIX
     TSize screenSize = iCoeEnv->ScreenDevice()->SizeInPixels();
     if (aRect == TRect(TPoint(0,0), screenSize) 
             && iMediaWallStyle == EHgVgMediaWallStyleCoverflowFullScreen)
         {
+        TPixelsAndRotation sizeAndRotation;
+        iCoeEnv->ScreenDevice()->GetDefaultScreenSizeAndRotation(sizeAndRotation);
+        iRotatedDraw = sizeAndRotation.iRotation != CFbsBitGc::EGraphicsOrientationNormal;
+        
         Window().FixNativeOrientation();
         }
 #endif
@@ -176,7 +180,7 @@
 //
 EXPORT_C void CHgVgMediaWall::RefreshScreen( TInt aIndex )
     {
-    ClearFlags(EHgVgMediaWallDrawToWindowGC);
+    
     if( !iIsForeground  )
         {
         return;
@@ -189,7 +193,15 @@
                         && aIndex <= FirstIndexOnScreen() + ItemsOnScreen()) )
             {
             UpdateLabelsAndPopup();
-            DrawNow();
+            if(iFlags & EHgVgMediaWallDrawToWindowGC)
+                {
+                DrawNow();
+                }
+            else
+                {
+                DrawOpenVG();
+                }
+        
             }
         }
     }
@@ -367,19 +379,34 @@
         return;
         }
     
-    if(iFlags & EHgVgMediaWallDrawToWindowGC)
+    CHgVgMediaWall* self = const_cast<CHgVgMediaWall*>(this);           
+
+    if( iFlags & EHgVgMediaWallDrawToWindowGC )
         {
-        CHgVgMediaWall* self = const_cast<CHgVgMediaWall*>(this);
-        self->ClearFlags(EHgVgMediaWallDrawToWindowGC);
-        FillSystemGcWithSkin( );
-        return;
+        CFbsBitmap* screenshot = NULL;
+        screenshot = self->DrawToBitmap();
+        if (screenshot)
+            {
+            SystemGc().BitBlt( Rect().iTl,screenshot );
+            delete screenshot;
+            }
+        else
+            {
+            // draw with alpha to make a hole to composition layer
+            SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+            SystemGc().SetBrushColor(TRgb(0,0,0,0));
+            SystemGc().Clear();
+            DrawOpenVG();
+            }
         }
-    
-    // draw with alpha to make a hole to composition layer
-    SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
-    SystemGc().SetBrushColor(TRgb(0,0,0,0));
-    SystemGc().Clear();
-    DrawOpenVG();
+    else
+        {
+        // draw with alpha to make a hole to composition layer
+        SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+        SystemGc().SetBrushColor(TRgb(0,0,0,0));
+        SystemGc().Clear();
+        DrawOpenVG();
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -842,10 +869,11 @@
             handled = ETrue;
             } break;
         case EKeyEnter:
+        case EKeyOK:
             {
             if( iSelectedIndex != KErrNotFound && iSelectionObserver )
                 {
-                TRAP_IGNORE( DoStartOpeningAnimationL( ); )                
+                TRAP_IGNORE( DoStartOpeningAnimationL( ); )
                 return EKeyWasConsumed;
                 }
             return EKeyWasNotConsumed;
@@ -1084,8 +1112,9 @@
         return NULL;
     
 #ifdef MEDIAWALL_ORIENTATION_FIX    
-    return iEGL->GetSurfaceToBitmap(iRect, 
-            iMediaWallStyle == EHgVgMediaWallStyleCoverflowFullScreen);        
+    return iEGL->GetSurfaceToBitmap(
+            iRect, 
+            iRotatedDraw && (iMediaWallStyle == EHgVgMediaWallStyleCoverflowFullScreen) );        
 #else
     return iEGL->GetSurfaceToBitmap(iRect, EFalse);            
 #endif
@@ -1164,6 +1193,9 @@
     
             iAnimationTimer->Cancel();
             }
+    
+        SetFlags( EHgVgMediaWallDrawToWindowGC  );
+        DrawNow();
         }
     
     if( aType == KEikMessageUnfadeWindows )
@@ -1171,8 +1203,15 @@
         ClearFlags( EHgVgMediaWallDrawToWindowGC );
         DrawNow();
         }
+
+    if( aType == KEikDynamicLayoutVariantSwitch && !(iFlags & EHgVgMediaWallDrawToWindowGC) )
+        {
+        SetFlags( EHgVgMediaWallDrawToWindowGC );
+        DrawNow();
+        }
     }
 
+
 // ---------------------------------------------------------------------------
 // CHgVgMediaWall::InitItemsL()
 // ---------------------------------------------------------------------------
@@ -1226,13 +1265,16 @@
 
     iIsForeground = EFalse;
     
+    // draw screenshot using window gc, this is needed
+    // for nga effects to work
+    DrawNow();
+    
     // free textures    
     FreeItemsImages();
     // free other resources
     DestroyRendering();
 
-    SetFlags( EHgVgMediaWallUninitialized );
-    DrawNow();
+    SetFlags( EHgVgMediaWallUninitialized | EHgVgMediaWallDrawToWindowGC );
     
     iCoeEnv->WsSession().Flush();
     }
@@ -1554,7 +1596,8 @@
     
 #ifdef MEDIAWALL_ORIENTATION_FIX
     iScrollBar->EnableLandscapeRendering( 
-            iMediaWallStyle == CHgVgMediaWall::EHgVgMediaWallStyleCoverflowFullScreen );
+            iRotatedDraw 
+            && (iMediaWallStyle == CHgVgMediaWall::EHgVgMediaWallStyleCoverflowFullScreen) );
 #endif
     
     }
@@ -2403,15 +2446,15 @@
     
     InitScrollBarL(EFalse);
 
-#ifdef MEDIAWALL_ORIENTATION_FIX    
-    iRenderer->EnableLandscapeMode(ETrue);
-    iAlbumLabel->EnableLandscapeRendering(ETrue);
-    iArtistLabel->EnableLandscapeRendering(ETrue);
-    iEmptyLabel->EnableLandscapeRendering(ETrue);
-    iSkinRenderer->EnableLanscapeRendering(ETrue);
-    iScrollBar->EnableLandscapeRendering(ETrue);
-    iHideSKButton->EnableLandscapeRendering(ETrue);
-    iLetterPopup->EnableLandscapeRendering(ETrue);
+#ifdef MEDIAWALL_ORIENTATION_FIX
+    iRenderer->EnableLandscapeMode(iRotatedDraw);
+    iAlbumLabel->EnableLandscapeRendering(iRotatedDraw);
+    iArtistLabel->EnableLandscapeRendering(iRotatedDraw);
+    iEmptyLabel->EnableLandscapeRendering(iRotatedDraw);
+    iSkinRenderer->EnableLanscapeRendering(iRotatedDraw);
+    iScrollBar->EnableLandscapeRendering(iRotatedDraw);
+    iHideSKButton->EnableLandscapeRendering(iRotatedDraw);
+    iLetterPopup->EnableLandscapeRendering(iRotatedDraw);
 #endif
     
     }
--- a/uifw/tsrc/public/basic/AknSoundServerStifTest/group/AknSoundServerStifTest.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/tsrc/public/basic/AknSoundServerStifTest/group/AknSoundServerStifTest.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -37,7 +37,7 @@
 MW_LAYER_SYSTEMINCLUDE
 
 LIBRARY             euser.lib
-LIBRARY             stiftestinterface.lib
+LIBRARY             StifTestInterface.lib
 LIBRARY             stiftestengine.lib
 LIBRARY             avkon.lib
 LIBRARY             cone.lib
--- a/uifw/uiklaf/Group/EikCoCtlLaf.MMP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/uiklaf/Group/EikCoCtlLaf.MMP	Mon Aug 23 15:39:03 2010 +0100
@@ -87,12 +87,12 @@
 LIBRARY         avkon.lib
 LIBRARY         apgrfx.lib
 LIBRARY         aknnotify.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         eikcore.lib
 LIBRARY         aknskins.lib
-LIBRARY         cdlengine.lib
-LIBRARY		    ESTOR.LIB 
-LIBRARY         Uiklaf.lib
+LIBRARY         CdlEngine.lib
+LIBRARY		    estor.lib
+LIBRARY         uiklaf.lib
 
 deffile EIKCOCTLLAF.DEF
 
--- a/uifw/uiklaf/Group/UIKLAF.MMP	Tue Jul 13 11:36:42 2010 +0100
+++ b/uifw/uiklaf/Group/UIKLAF.MMP	Mon Aug 23 15:39:03 2010 +0100
@@ -81,16 +81,16 @@
 LIBRARY         avkon.lib
 LIBRARY         apgrfx.lib
 LIBRARY         aknnotify.lib
-LIBRARY         commonengine.lib
+LIBRARY         CommonEngine.lib
 LIBRARY         eikcore.lib
 LIBRARY         aknskins.lib
-LIBRARY         cdlengine.lib
-LIBRARY	        ESTOR.LIB 
+LIBRARY         CdlEngine.lib
+LIBRARY	        estor.lib
 LIBRARY         EikCoCtlLaf.lib
-LIBRARY         FontUtils.lib
+LIBRARY         fontutils.lib
 LIBRARY         AknLayout2Scalable.lib
 LIBRARY         FontProvider.lib
-LIBRARY         AknCapServerClient.lib
+LIBRARY         akncapserverclient.lib
 
 #if defined(ARMCC)
 DEFFILE         /epoc32/include/uiklaf/private/eabi/uiklaf.def
--- a/uiutils/Findutil/group/FindUtil.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/group/FindUtil.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,7 +49,7 @@
 LIBRARY         euser.lib
 
 #if defined(WINS)
-LIBRARY         FeatMgr.lib
+LIBRARY         featmgr.lib
 #endif
 
 // end of file
--- a/uiutils/Findutil/group/FindUtilImpl.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/group/FindUtilImpl.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -48,13 +48,17 @@
 SOURCE          FindUtilKorean.cpp
 
 LIBRARY         euser.lib
-LIBRARY         findutil.lib
+LIBRARY         FindUtil.lib
 LIBRARY         ptiengine.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
+LIBRARY         cenrepnotifhandler.lib
 LIBRARY         cone.lib
 LIBRARY         fepbase.lib 
 LIBRARY         avkon.lib eikcoctl.lib eikctl.lib form.lib uiklaf.lib 
+LIBRARY         featmgr.lib
+
+DEBUGLIBRARY    charconv.lib
+DEBUGLIBRARY 	efsrv.lib
 
 // end of file
--- a/uiutils/Findutil/group/FindUtilImplChina.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/group/FindUtilImplChina.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -49,11 +49,11 @@
 SOURCE          ChineseFindUtils.cpp
 
 LIBRARY         euser.lib
-LIBRARY         findutil.lib
+LIBRARY         FindUtil.lib
 LIBRARY         ptiengine.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
+LIBRARY         cenrepnotifhandler.lib
 LIBRARY         cone.lib
 LIBRARY         fepbase.lib 
 LIBRARY         avkon.lib eikcoctl.lib eikctl.lib form.lib uiklaf.lib 
--- a/uiutils/Findutil/group/FindUtilImplJapan.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/group/FindUtilImplJapan.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -47,11 +47,11 @@
 SOURCE          FindUtilJapanese.cpp
 
 LIBRARY         euser.lib
-LIBRARY         findutil.lib
+LIBRARY         FindUtil.lib
 LIBRARY         ptiengine.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
+LIBRARY         cenrepnotifhandler.lib
 LIBRARY         cone.lib
 LIBRARY         fepbase.lib 
 LIBRARY         avkon.lib eikcoctl.lib eikctl.lib form.lib uiklaf.lib 
--- a/uiutils/Findutil/group/FindUtilImplThai.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/group/FindUtilImplThai.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -47,11 +47,11 @@
 SOURCE          FindUtilThai.cpp
 
 LIBRARY         euser.lib
-LIBRARY         findutil.lib
+LIBRARY         FindUtil.lib
 LIBRARY         ptiengine.lib
-LIBRARY         commonengine.lib
-LIBRARY         CentralRepository.lib
-LIBRARY         CenRepNotifHandler.lib
+LIBRARY         CommonEngine.lib
+LIBRARY         centralrepository.lib
+LIBRARY         cenrepnotifhandler.lib
 LIBRARY         cone.lib
 LIBRARY         fepbase.lib 
 LIBRARY         avkon.lib eikcoctl.lib eikctl.lib form.lib uiklaf.lib 
--- a/uiutils/Findutil/inc/FindUtilChinese.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/inc/FindUtilChinese.h	Mon Aug 23 15:39:03 2010 +0100
@@ -283,14 +283,6 @@
     TBool IsChineseWord(const TDesC& aWord);
     
     /**
-     * Find pane text is just Chinese word
-     * 
-     * @param aWord Reference to text for analyse
-     * @return ETrue it is a Chinese word; otherwise EFalse
-     */
-    TBool ChineseWord(const TDesC& aWord);
-
-    /**
      * Find pane text is including stroke symbol
      *
      * @since S60 v3.2
--- a/uiutils/Findutil/inc/FindUtilKorean.h	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/inc/FindUtilKorean.h	Mon Aug 23 15:39:03 2010 +0100
@@ -24,6 +24,11 @@
 
 #include "FindUtilBase.h"
 
+#ifdef _DEBUG
+#include <f32file.h>
+class CCnvCharacterSetConverter;
+#endif
+
 /**
  *  CFindUtilKorean utils class
  *
@@ -57,6 +62,13 @@
  
     private:
     
+		enum TMatchFlag
+            {
+            EMatchFlagNone = 0x0000,
+            EMatchFlagAsterikInLast = 0x0001,
+            EMatchFlagAsterikInStart = 0x0002
+            };
+			
         CFindUtilKorean();
 
         void ConstructL();
@@ -69,9 +81,10 @@
          * @param aSearchText for text to be used in searching
          * @return ETrue if match found, EFalse otherwise
          */    
-        TBool IsFindMatchL( 
+        TInt IsFindMatch( 
             const TDesC& aItemString, 
-            const TDesC& aSearchText );
+            const TDesC& aSearchText,
+            const TMatchFlag aFlag = EMatchFlagNone);
         
         /**
          * Decomposes given string to plain jamos.
@@ -84,6 +97,8 @@
             const TDesC& aString,
             HBufC* aDecomposedString );
         
+        void DecomposeChar( TChar aChar, TDes& aDecomposedString );
+    
         /**
          * Decomposes hangul syllables to single jamos.
          *
@@ -166,6 +181,27 @@
         							const TDesC& aSearchText, 
         							HBufC*& aNextChars);
 
+    private:
+        
+        void TakeIntoNextCharsL(HBufC*& aNextChars, TChar aChar);
+        
+        void InsertNextCharsL(
+                HBufC*& aNextChars, 
+                TBool& aReAlloced,
+                const TChar& aChar, 
+                const TInt aIndex = KErrNotFound);
+        
+        inline TBool MatchConsonentBased(const TChar& aA, const TChar& aB);
+
+    private:
+        
+        TUid iCurrentProcessUid3;
+        
+#ifdef _DEBUG
+        RFs iFs;
+        CCnvCharacterSetConverter* iConv;
+#endif
+        
     };
 
 #endif // __FINDUTILKOREAN__
--- a/uiutils/Findutil/src/FindUtilChinese.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/src/FindUtilChinese.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -875,7 +875,7 @@
         haschineseword = ETrue;
         ret = IncludeString(aItemString, tempBuf);
         
-        if (ret || ChineseWord( tempBuf ))
+        if (ret)
             {
             return ret;
             }
@@ -905,45 +905,50 @@
     if (haschineseword)
         {
         TInt ii=0;
-        TBuf<KMaxWordLength> tmpBuf;
-        tmpBuf.Zero();
-        
-        ////translate the whole searchstring to spelllist
+        TBool leftDifferentChinese = EFalse; 
+		//this is used for fixing for the issue of search string including Chinese characters
         while (ii< tempBuf.Length())
             {
-            
-            //if it is a valid chinese character
             if ((TInt)tempBuf[ii]>= KMinUnicodeHz && (!InputMethodStroke
                     ||(InputMethodStroke && !IsStrokeSymbol(tempBuf[ii]))))
                 {
-                
-                RPointerArray<HBufC> spellList;
-                
-                //translate the chinese charater to spellList( pinyin or stroke )
-                if( DoTranslationL(TInt16(tempBuf[ii]), spellList)
-                    && ( tmpBuf.Length() + spellList[0]->Length() < KMaxWordLength)  )
-                	{
-                    tmpBuf.Append( spellList[0]->Des() );
+                TInt Findcursor = itemString.Locate(tempBuf[ii]);
+                if (Findcursor != KErrNotFound)
+                    {
+                    if ((Findcursor == itemString.Length()-1)&& (ii
+                            ==tempBuf.Length()-1))
+                        {
+                        
+                        if ( leftDifferentChinese || IsChineseWord(
+                            itemString.Left( Findcursor ) ) )
+                            {
+                            //if the different Chinese character at the left or middle, return false.
+                            return EFalse;
+                            }
+                        
+                        return ETrue;
+                        }
+                    itemString.Delete(0, Findcursor+1);
+                    tempBuf.Delete(0, ii+1);
+                    ii=0;
                     }
+                else
+                    {
                     
-                spellList.ResetAndDestroy();
-                spellList.Close();
-                ii++;
+                    if ( IsChineseWord( tempBuf.Left( ii + 1 ) ) )
+                        {
+                        //flag the different Chinese character at the left.
+                        leftDifferentChinese = ETrue;
+                        }
+                    
+                    ii++;
+                    }
                 }
-            //if not, just append it     
             else
                 {
-                if( tmpBuf.Length() + 1 < KMaxWordLength )
-                	{
-                    tmpBuf.Append( tempBuf[ii] );
-                    }
-                    
                 ii++;
                 }
             }
-            
-            tempBuf.Zero();
-            tempBuf.Copy(tmpBuf);
         }
 
     // Array for item string
@@ -1481,32 +1486,6 @@
 
     return IsChineseSearchStr;
     }
-
-// --------------------------------------------------------
-// Find pane text is just Chinese word
-// --------------------------------------------------------
-//
-TBool CFindUtilChinese::ChineseWord(const TDesC& aWord)
-	{
-	TBool isChineseWord = ETrue;
-	const TInt len = aWord.Length();
-	
-    TBool InputMethodStroke = EFalse;
-    if(iLanguage == ELangHongKongChinese && iCurInputMode == 0x0020)
-        {
-        InputMethodStroke = ETrue;
-        }
-	
-	for( TInt i = 0; i < len; i++ )
-		{
-		if( ( ( TInt )aWord[i] < KMinUnicodeHz ) || ( InputMethodStroke && IsStrokeSymbol(aWord[i]) ) )
-			{
-			isChineseWord = EFalse;
-			break;
-			}
-		}
-	return isChineseWord;
-	}
     
 // ---------------------------------------------------------
 // Find pane text is including stroke symbol  
--- a/uiutils/Findutil/src/FindUtilKorean.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/src/FindUtilKorean.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -17,6 +17,11 @@
 
 
 #include "FindUtilKorean.h"
+#include <e32svr.h>
+
+#ifdef _DEBUG
+#include <charconv.h>
+#endif
 
 const TInt KSBase = 0xac00; // base address for hangul syllables
 const TInt KLBase = 0x1100; // base address for L-jamo
@@ -93,8 +98,48 @@
 0x1175,
 };
 
+const TUint16 conversionTableFromLJamoToCompatibilityJamo[] = {
+0x3131, /* ? */
+0x3132, /* ? */
+0x3134, /* ? */
+0x3137, /* ? */
+0x3138, /* ? */
+0x3139, /* ? */
+0x3141, /* ? */
+0x3142, /* ? */
+0x3143, /* ? */
+0x3145, /* ? */
+0x3146, /* ? */
+0x3147, /* ? */
+0x3148, /* ? */
+0x3149, /* ? */
+0x314A, /* ? */
+0x314B, /* ? */
+0x314C, /* ? */
+0x314D, /* ? */
+0x314E  /* ? */
+};
+
 #define KCCount (sizeof(conversionTableFromCompatibilityJamoToJamo) / sizeof(TUint16))
 
+#define KCountCompToJamo (sizeof(conversionTableFromCompatibilityJamoToJamo) / sizeof(TUint16))
+
+#define KCountLJamoToComp (sizeof(conversionTableFromLJamoToCompatibilityJamo) / sizeof(TUint16))
+
+#define ISLJamo(a) (KLBase <= a && a <= KLBase + KLCount)
+
+#define IsCompatibilityJamo(a) (0x3130 <= a && a <= 0x318F)
+
+const TInt KNextCharsGranuarity = 20;
+
+const TUid KUidPhoneBook = {0x101F4CCE};
+const TUid KUidPhoneBookServer = {0x10207277};
+const TUid KUidSymbianContactModel = {0x10003A73};
+
+#define IsPhoneBookProcess(a) ( a == KUidSymbianContactModel || a == KUidPhoneBook || a == KUidPhoneBookServer )
+
+
+
 // ============================ MEMBER FUNCTIONS =============================
 
 
@@ -117,6 +162,13 @@
 //
 void CFindUtilKorean::ConstructL()
     {
+#ifdef _DEBUG
+    User::LeaveIfError( iFs.Connect() );
+    iConv = CCnvCharacterSetConverter::NewL();
+    iConv->PrepareToConvertToOrFromL(0x200100FF, iFs);
+#endif
+    
+    iCurrentProcessUid3 = ( RProcess().Type() )[2];
     }
 
 // ---------------------------------------------------------------------------
@@ -133,6 +185,10 @@
 //
 CFindUtilKorean::~CFindUtilKorean()
     {
+#ifdef _DEBUG
+    delete iConv;
+    iFs.Close();
+#endif
     }
 
 // ---------------------------------------------------------------------------
@@ -156,35 +212,140 @@
 // Compares two strings against others.
 // ---------------------------------------------------------------------------
 //
-TBool CFindUtilKorean::IsFindMatchL( 
-    const TDesC& aItemString, 
-    const TDesC& aSearchText )
+TInt CFindUtilKorean::IsFindMatch( 
+        const TDesC& aItemString, 
+        const TDesC& aSearchText,
+        const TMatchFlag aFlag)
     {
-    TBool result( EFalse );
+    
+#ifdef _DEBUG
+    TRAP_IGNORE(
+        HBufC8* bufItemString = HBufC8::NewLC((aItemString.Length() + 1) * 2);
+        HBufC8* bufSearchText = HBufC8::NewLC((aSearchText.Length() + 1) * 2);
+        TPtr8 ptrItemString(bufItemString->Des());
+        ptrItemString.FillZ(ptrItemString.MaxLength());
+        TPtr8 ptrSearchText(bufSearchText->Des());
+        ptrSearchText.FillZ(ptrSearchText.MaxLength());
+        iConv->ConvertFromUnicode(ptrItemString, aItemString);
+        iConv->ConvertFromUnicode(ptrSearchText, aSearchText);
+        RDebug::Printf("DBG: comparing %s, %s", bufItemString->Ptr(), bufSearchText->Ptr());
+        CleanupStack::PopAndDestroy(2);
+    );
+#endif
     
     // To disable the wildchar matching provided by MatchC.
-    if ( KErrNotFound != aSearchText.Locate( KLitQuestion ) && 
+    if ( aFlag == EMatchFlagNone &&
+        KErrNotFound != aSearchText.Locate( KLitQuestion ) && 
         KErrNotFound != aSearchText.Locate( KLitStar ) )
     	{
-    	return EFalse;
+#ifdef _DEBUG
+    	RDebug::Printf("DBG: comparing includes wild");
+#endif
+    	return KErrNotFound;
     	}
-    
+
+#if 1 // 2009.08.14 consonent based search
+    TUint flag = aFlag;
+
+    TInt lenItemString = aItemString.Length();
+    TInt lenSearchText = aSearchText.Length();
+
+    // detect asterik in end of string
+    if (lenSearchText > 0 && aSearchText[lenSearchText - 1] == KLitStar)
+        {
+        flag |= EMatchFlagAsterikInLast;
+        lenSearchText--;
+        }
+
+    // set asterik start
+    if (!IsPhoneBookProcess(iCurrentProcessUid3) || 
+        (aSearchText.Length() > 0 && aSearchText[0] == KLitStar))
+        {
+        flag |= EMatchFlagAsterikInStart;
+        }
+
+    if (lenItemString < lenSearchText)
+        {
+        return KErrNotFound;
+        }
+
+    if (IsPhoneBookProcess(iCurrentProcessUid3))
+        {
+        TInt i = 0;
+        TInt j = 0;
+        for (; i < lenItemString && j < lenSearchText; i++)
+            {
+            TChar ch(aItemString[i]);
+            if (IsFindWordSeparator(ch))
+                {
+                continue;
+                }
+            
+            if (MatchConsonentBased(ch, aSearchText[j]))
+                {
+                j++;
+                }
+            else
+                {
+                break;
+                }
+            }
+        
+        if (j == lenSearchText)
+            return 0;
+        }
+
+    for (TInt i = 0; i < lenItemString - lenSearchText + 1; i++)
+        {
+        if (!(flag & EMatchFlagAsterikInStart))
+            {
+            if (0 != i && !IsFindWordSeparator(aItemString[i - 1]))
+                {
+                continue;
+                }
+            }
+
+        TBool matched(ETrue);
+        for (TInt j = 0; j < lenSearchText; j++)
+            {
+            if (!MatchConsonentBased(aItemString[i + j], aSearchText[j]))
+                {
+#ifdef _DEBUG
+                RDebug::Printf("DBG: mismatch between %d %d", i + j, j);
+#endif
+                matched = EFalse;
+                break;
+                }
+            }
+
+        if (matched)
+            {
+#ifdef _DEBUG
+            RDebug::Print(_L("DBG: comparing matched"));
+#endif
+            return i;
+            }
+        }
+
+    return KErrNotFound;
+
+#else
     // Convert aItemString to single jamo's.
     HBufC* itemString = HBufC::NewLC( aItemString.Length() * KMaxLengthDecomposedSyllable );
     DecomposeToPlainJamos( aItemString, itemString );
-    
+
     HBufC* searchText = HBufC::NewLC( aSearchText.Length() * KMaxLengthDecomposedSyllable + 2 );
     searchText->Des().Append( KLitStar );
 
     // Convert aSearchText to single jamo's.
     DecomposeToPlainJamos( aSearchText, searchText );
     searchText->Des().Append( KLitStar );
-    
+
     // Compare strings containing plain jamo's against others.
     for ( TInt i = 0; i < itemString->Length() && !result; i++ )
         {
-        if ( 0 == i || IsFindWordSeparator( 
-            static_cast<TChar>( itemString->Des()[ i - 1 ] ) ) )
+        if ( 0 == i || IsFindWordSeparator(
+                        static_cast<TChar>( itemString->Des()[ i - 1 ] ) ) )
             {
             if ( KErrNotFound != itemString->Mid( i ).MatchC( *searchText ) )
                 {
@@ -192,11 +353,12 @@
                 }
             }
         }
-    
+
     CleanupStack::PopAndDestroy( searchText );
     CleanupStack::PopAndDestroy( itemString );
-    
-    return result;    
+
+    return result;
+#endif
     }
 
 // ---------------------------------------------------------------------------
@@ -230,6 +392,25 @@
         }
     }
 
+void CFindUtilKorean::DecomposeChar( TChar aChar, TDes& aDecomposedString )
+    {
+    aDecomposedString.Zero();
+    if ( IsHangulSyllable( aChar ) )
+        {
+        Decompose( aChar, aDecomposedString );
+        }
+    else if ( IsHangulCompatibilityJamo( aChar ) )
+        {
+        TUint16 jamo = conversionTableFromCompatibilityJamoToJamo[ (TInt)aChar - KCBase ];
+        aDecomposedString.Append( jamo );    
+        }
+    // Otherwise append character directly to 'decomposed string'.
+    else
+        {
+        aDecomposedString.Append( aChar );
+        }    
+    }
+
 // ---------------------------------------------------------------------------
 // Decomposes hangul syllables to single jamos.
 // ---------------------------------------------------------------------------
@@ -285,7 +466,7 @@
     {
     // Character is 'hangul compatibility jamo' 
     // if it's numeric value is between KCBase and KCBase + KCCount.
-    TInt index = static_cast<TInt> ( aChar ) - KCBase;
+    TInt index = static_cast<TInt>( aChar ) - KCBase;
     if ( index < 0 || index >= KCCount )
         {
         return EFalse;
@@ -304,20 +485,17 @@
     // does not contain any characters.
     if ( aContactsField.Length() )
         {
-       // In case that both of strings contain some characters,
-       // matching is made with function below.
-      TRAPD(err, retVal = IsFindMatchL( aContactsField, aWord ));
-    	
-      if (err != KErrNone)
-    	{
-    	retVal = EFalse;
-    	}
+	    // In case that both of strings contain some characters,
+	    // matching is made with function below.
+#ifdef _DEBUG
+        RDebug::Printf("DBG: Comparing from Match");
+#endif
+	    retVal = (IsFindMatch( aContactsField, aWord ) != KErrNotFound);
         }
 	
-   return retVal;
+	return retVal;
     }
 
-
 // ---------------------------------------------------------------------------
 // It tests a partial matching.
 // ---------------------------------------------------------------------------
@@ -342,7 +520,11 @@
 
     // In case that both of strings contain some characters,
     // matching is made with function below.
-    return IsFindMatchL( aItemString, aSearchText );
+#ifdef _DEBUG
+    RDebug::Printf("DBG: Comparing from MatchRefineL");
+#endif
+    
+    return (IsFindMatch( aItemString, aSearchText ) != KErrNotFound);
     }
 
 // -----------------------------------------------------------------------------
@@ -350,19 +532,276 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //  
-TBool CFindUtilKorean::MatchAdaptiveRefineL( const TDesC& /*aItemString*/, 
-	const TDesC& /*aSearchText*/, HBufC*& /*aNextChars*/ )
-	{
-	return 0;	
-	}
+TBool CFindUtilKorean::MatchAdaptiveRefineL(const TDesC& aItemString,
+        const TDesC& aSearchText, HBufC*& aNextChars)
+    {
+    if (aSearchText.Length() == 0)
+        {
+        TakeIntoNextCharsL(aNextChars, aItemString[0]);
+        return ETrue;
+        }
+    else
+        {
+        const TInt lenItemString = aItemString.Length();
+        const TInt lenSearchText = aSearchText.Length();
+
+        if (lenItemString < lenSearchText)
+            {
+            return EFalse;
+            }
+
+#ifdef _DEBUG
+        RDebug::Printf("DBG: Comparing from MatchAdaptiveRefineL");
+#endif
+        TInt idx = IsFindMatch(aItemString, aSearchText,
+                EMatchFlagAsterikInLast);
+
+        if (idx == KErrNotFound)
+            {
+            return EFalse;
+            }
+
+        TLex lexItemString(aItemString);
+        if (IsPhoneBookProcess(iCurrentProcessUid3) && idx == 0)
+            {
+            // find out the position next to last matched string.
+            // work through strings when it reaches length of search string,
+            // while skipping spaces due to ingnoring space matching scheme.
+            for (TInt compareCount = 0; compareCount < lenSearchText;)
+                {
+                if (!IsFindWordSeparator(lexItemString.Get()))
+                    {
+                    compareCount++;
+                    }
+                }
+            
+            if (lexItemString.Eos())
+                return EFalse;
+
+            // Skip spaces
+            while (IsFindWordSeparator(lexItemString.Peek()))
+                {
+                lexItemString.Inc();
+                }
+            
+            if (lexItemString.Eos())
+                {
+                return EFalse;
+                }
+            }
+        else
+            {
+            lexItemString.Inc(idx + lenSearchText);
+            }
+
+        TChar next = lexItemString.Peek();
+        if (next == 0)
+            {
+            // nothing to take
+            }
+        else
+            {
+            TakeIntoNextCharsL(aNextChars, next);
+            }
+        }
+    
+    return ETrue;
+    }
+
+void CFindUtilKorean::TakeIntoNextCharsL(HBufC*& aNextChars,
+        TChar aCharToInsert)
+    {
+    // examine the characters to be inserted
+    TBuf<3> jamo;
+    if (IsHangulSyllable(aCharToInsert))
+        {
+        Decompose(aCharToInsert, jamo);
+        }
+    else if (IsHangulCompatibilityJamo(aCharToInsert))
+        {
+        TUint16 ljamo = 
+                conversionTableFromCompatibilityJamoToJamo[(TInt)aCharToInsert - KCBase];
+        jamo.Append(ljamo);
+        }
+    else
+        {
+        aCharToInsert.UpperCase();
+        }
+
+    TPtr nextChar(aNextChars->Des());
+    TBool reAlloced(EFalse);
+
+    // in case there is no character in the list
+    if (nextChar.Length() == 0)
+        {
+        __ASSERT_ALWAYS(nextChar.MaxLength() > 2, User::Panic(_L("FINDUTIL"), __LINE__));
+        
+        // Hangul only
+        if (jamo.Length() && ISLJamo(jamo[0]))
+            {
+            const TChar consonentToInsert =
+                    conversionTableFromLJamoToCompatibilityJamo[jamo[0] - KLBase];
+            
+            InsertNextCharsL(aNextChars, reAlloced, consonentToInsert);
+
+            // if Jamo only character, return...
+            if (jamo.Length() == 1)
+                {
+                return;
+                }
+            }
+        
+        InsertNextCharsL(aNextChars, reAlloced, aCharToInsert);
+        return;
+        }
+
+    TBool jamoInserted(EFalse);
+    TInt length = nextChar.Length();
+    const TBool isPB(IsPhoneBookProcess(iCurrentProcessUid3));
+    
+    for (TInt i = 0; i < length; i++)
+        {
+        const TChar ch = nextChar[i];
+        // Hangul consonent check
+        if (!jamoInserted && jamo.Length() && ISLJamo(jamo[0]))
+            {
+            const TChar consonentToInsert =
+                    conversionTableFromLJamoToCompatibilityJamo[jamo[0] - KLBase];
+            
+            if (ch == consonentToInsert)
+                {
+                // Jamo only character finished
+                if (jamo.Length() == 1)
+                    {
+                    return;
+                    }
+
+                jamoInserted = ETrue;
+                }
+            else if ((isPB && !IsCompatibilityJamo(ch)) || (ch > consonentToInsert))
+                {
+                InsertNextCharsL(aNextChars, reAlloced, consonentToInsert, i);
+                // Jamo only character finished
+                if (jamo.Length() == 1)
+                    {
+                    return;
+                    }
+
+                jamoInserted = ETrue;
+                }
+            else
+                {
+                // pass
+                }
+            }
+        // Hangul or Latin
+        else
+            {
+            if (ch == aCharToInsert)
+                {
+                return; // already exist
+                }
+            else if (isPB && IsCompatibilityJamo(ch))
+                {
+                // pass
+                }
+            else if (ch > aCharToInsert)
+                {
+                InsertNextCharsL(aNextChars, reAlloced, aCharToInsert, i);
+                return; // finished
+                }
+            else
+                {
+                // pass
+                }
+            }
+        
+        if (reAlloced)
+            {
+            nextChar.Set(aNextChars->Des());
+            length = nextChar.Length();
+            }
+        }
+    
+    InsertNextCharsL(aNextChars, reAlloced, aCharToInsert);
+    }
+
+void CFindUtilKorean::InsertNextCharsL(HBufC*& aNextChars, TBool& aReAlloced,
+        const TChar& aChar, const TInt aIndex)
+    {
+    aReAlloced = EFalse;
+    TPtr ptr(aNextChars->Des());
+    const TInt len = ptr.Length();
+    const TInt maxLen = ptr.MaxLength();
+
+    if (KErrNotFound != ptr.Locate(aChar))
+        {
+        // Do not insert duplicate characters
+        return;
+        }
+
+    if (len == maxLen)
+        {
+        aNextChars = aNextChars->ReAllocL(maxLen + KNextCharsGranuarity);
+        ptr.Set(aNextChars->Des());
+        aReAlloced = ETrue;
+        
+#ifdef _DEBUG
+        RDebug::Printf("DBG: Next Character buffer created with %d",
+                ptr.MaxLength());
+#endif
+        }
+
+    if (aIndex == KErrNotFound)
+        {
+        ptr.Append(aChar);
+        }
+    else
+        {
+        TBuf<1> buf;
+        buf.Append(aChar);
+        ptr.Insert(aIndex, buf);
+        }
+    }
 
 // ---------------------------------------------------------------------------
 // It checks whether aWord is valid.
 // ---------------------------------------------------------------------------
 //
-TBool CFindUtilKorean::IsWordValidForMatching( const TDesC& /*aWord*/ )
+TBool CFindUtilKorean::IsWordValidForMatching(const TDesC& /*aWord*/)
     {
     return ETrue;
     }
 
+TBool CFindUtilKorean::MatchConsonentBased(const TChar& aA, const TChar& aB)
+    {
+    TBuf<3> jamoItemString;
+    TBuf<3> jamoSearchText;
+    DecomposeChar(aA, jamoItemString);
+    DecomposeChar(aB, jamoSearchText);
+    const TInt lenJamoItemString = jamoItemString.Length();
+    const TInt lenJamoSearchText = jamoSearchText.Length();
+
+    // check consonent match for one character
+    if (lenJamoSearchText == 1 && 
+        ISLJamo(jamoItemString[0]) && ISLJamo(jamoSearchText[0]))
+        {
+        if (jamoItemString[0] == jamoSearchText[0])
+            {
+            return ETrue;
+            }
+        }
+    else
+        {
+        TChar chItemString(aA);
+        TChar chSearchText(aB);
+        chItemString.UpperCase();
+        chSearchText.UpperCase();
+        if (chItemString == chSearchText)
+            {
+            return ETrue;
+            }
+        }
+    return EFalse;
+    }
 // End of file
--- a/uiutils/Findutil/src/FindUtilWestern.cpp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Findutil/src/FindUtilWestern.cpp	Mon Aug 23 15:39:03 2010 +0100
@@ -29,6 +29,9 @@
 #include "FindUtilKorean.h"
 #include <avkon.rsg>
 #include <StringLoader.h>
+#include <featmgr.h>
+#include <bldvariant.hrh>
+
 const TInt KLitTab('\t');
 const TInt KLitSpace(' ');
 const TInt KLitHyphen('-');
@@ -309,7 +312,7 @@
         }
     else
     	{
-    TInt numChar = 1;
+        TInt numChar = 1;
     	if (!aContactsField.Length())
         	{
                 _LIT( KNone, "*" );
@@ -342,22 +345,24 @@
 //
 TBool CFindUtilWestern::MatchRefineL( const TDesC& aItemString, const TDesC& aSearchText )
     {
-    if ( iFindUtilKorean->IsKoreanLanguage( aItemString ) || iFindUtilKorean->IsKoreanLanguage( aSearchText ) )
+    if ( FeatureManager::FeatureSupported( KFeatureIdKorean ) || 
+         iFindUtilKorean->IsKoreanLanguage( aItemString ) || 
+         iFindUtilKorean->IsKoreanLanguage( aSearchText ) )
         {
         return iFindUtilKorean->MatchRefineL( aItemString, aSearchText );	
         }
     else
-    {
-    if ( aItemString.Length() == 0 )
         {
-        return EFalse;
-        }
-
-    if ( aSearchText.Length() == 0 )
-        {
-        return ETrue;
-        }
-    return IsFindMatch( aItemString, aSearchText, iInputLanguage );
+        if ( aItemString.Length() == 0 )
+            {
+            return EFalse;
+            }
+    
+        if ( aSearchText.Length() == 0 )
+            {
+            return ETrue;
+            }
+        return IsFindMatch( aItemString, aSearchText, iInputLanguage );
     	}
     }
 
@@ -1310,6 +1315,12 @@
         {
         return EFalse;
         }
+		
+    if ( iFindUtilKorean )
+        {
+        return iFindUtilKorean->MatchAdaptiveRefineL(aItemString,aSearchText,aNextChars);   
+        }
+		
     if ( aSearchText.Length() == 0 )
         {        
         UpdateNextCharsFromString( aNextChars, aItemString );
--- a/uiutils/Localizer/group/DirectoryLocalizer.mmp	Tue Jul 13 11:36:42 2010 +0100
+++ b/uiutils/Localizer/group/DirectoryLocalizer.mmp	Mon Aug 23 15:39:03 2010 +0100
@@ -48,7 +48,7 @@
 LIBRARY		    cone.lib
 LIBRARY         efsrv.lib
 #ifdef RD_MULTIPLE_DRIVE
-LIBRARY         PlatformEnv.lib
+LIBRARY         platformenv.lib
 #endif //RD_MULTIPLE_DRIVE
 
 // End of file.