emailservices/emailserver/cmailhandlerplugin/src/cmailcpssettings.cpp
branchRCL_3
changeset 10 f5907b1a1053
parent 8 e1b6206813b4
child 13 8592a65ad3fb
--- a/emailservices/emailserver/cmailhandlerplugin/src/cmailcpssettings.cpp	Fri Feb 19 22:37:30 2010 +0200
+++ b/emailservices/emailserver/cmailhandlerplugin/src/cmailcpssettings.cpp	Fri Mar 12 15:41:14 2010 +0200
@@ -443,18 +443,20 @@
 // CMailCpsSettings::AssociateWidgetToSetting
 // ---------------------------------------------------------------------------
 //
-TBool CMailCpsSettings::AssociateWidgetToSetting( const TDesC& aContentId )
+void CMailCpsSettings::AssociateWidgetToSetting( const TDesC& aContentId,
+                                                 const TFSMailMsgId aMailbox )
     {
     FUNC_LOG;
-    TBool alreadyAssociated(ETrue);
-    
-    if (!IsAlreadyAssociated(aContentId))
+    TInt setId (GetSettingToAssociate(aContentId));
+    if (setId>=0)
         {
-        TUint32 key (GetSettingToAssociate());
-        iCenRep->Set( key, aContentId );
-        alreadyAssociated = EFalse;
+        TInt id = aMailbox.Id();
+        TUid pluginId = aMailbox.PluginId();
+        TInt pId(pluginId.iUid);
+        iCenRep->Set( KCMailMailboxIdBase+setId, id );
+        iCenRep->Set( KCMailPluginIdBase+setId, pId );
+        iCenRep->Set( KCMailWidgetContentIdBase+setId, aContentId );        
         }
-    return alreadyAssociated;
     }
 
 // ---------------------------------------------------------------------------
@@ -467,8 +469,6 @@
     TUint32 key(0);
     TUint32 mailboxKey(0);
 
-    RemoveFromContentIdListL( aContentId );
-
     for (TInt i = 0; i < KMaxMailboxCount; i++)
         {
         TBuf<KMaxDescLen> value;
@@ -487,6 +487,45 @@
     }
 
 // ---------------------------------------------------------------------------
+// CMailCpsSettings::GetSettingToAssociate
+// ---------------------------------------------------------------------------
+//
+TInt CMailCpsSettings::GetSettingToAssociate( const TDesC& aContentId )
+    {
+    FUNC_LOG;    
+    TInt ret(KErrNotFound);
+    
+    for (TInt i = 0; i < KMaxMailboxCount; i++)
+        {
+        TBuf<KMaxDescLen> value;
+        TUint32 key(KCMailWidgetContentIdBase+i);
+        iCenRep->Get( key, value );
+        TInt result = value.Compare(aContentId);
+        if (!result)
+            {
+            ret = i;
+            break;
+            }
+        }
+    if (ret < 0 )
+        {
+        for (TInt i = 0; i < KMaxMailboxCount; i++)
+            {       
+            TBuf<KMaxDescLen> value;
+            TUint32 key(KCMailWidgetContentIdBase+i);
+            iCenRep->Get( key, value );
+            TInt result = value.Compare(KDissociated);
+            if (!result)
+                {
+                ret = i;
+                break;
+                }
+            }
+        }
+    return ret;
+    }
+
+// ---------------------------------------------------------------------------
 // CMailCpsSettings::GetContentId
 // ---------------------------------------------------------------------------
 //
@@ -582,52 +621,6 @@
     }
 
 // ---------------------------------------------------------------------------
-// CMailCpsSettings::IsAlreadyAssociated
-// ---------------------------------------------------------------------------
-//
-TBool CMailCpsSettings::IsAlreadyAssociated( const TDesC& aContentId )
-    {
-    FUNC_LOG;
-    TBool ret(EFalse);
-    for (TInt i = 0; i < KMaxMailboxCount; i++)
-        {       
-        TBuf<KMaxDescLen> value;
-        TUint32 key(KCMailWidgetContentIdBase+i);
-        iCenRep->Get( key, value );
-        TInt result = value.Compare(aContentId);
-        if (!result)
-            {
-            ret = ETrue;
-            break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CMailCpsSettings::GetSettingToAssociate
-// ---------------------------------------------------------------------------
-//
-TUint32 CMailCpsSettings::GetSettingToAssociate()
-    {
-    FUNC_LOG;
-    TUint32 ret(KErrNone);
-    for (TInt i = 0; i < KMaxMailboxCount; i++)
-        {       
-        TBuf<KMaxDescLen> value;
-        TUint32 key(KCMailWidgetContentIdBase+i);
-        iCenRep->Get( key, value );
-        TInt result = value.Compare(KDissociated);
-        if (!result)
-            {
-            ret = KCMailWidgetContentIdBase + i;
-            break;
-            }
-        }
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
 // CMailCpsSettings::Configuration
 // ---------------------------------------------------------------------------
 //
@@ -650,77 +643,6 @@
     return ret;
     }
 
-// ---------------------------------------------------------------------------
-// CMailCpsSettings::FindFromContentIdListL
-// ---------------------------------------------------------------------------
-//
-TBool CMailCpsSettings::FindFromContentIdListL( const TDesC& aContentId )
-    {
-    FUNC_LOG;
-    TBool ret(EFalse);
-
-    TBuf<KMaxDescLen> cid;    
-    cid.Copy(KStartSeparator);    
-    cid.Append(aContentId);
-    cid.Append(KEndSeparator);
-    
-    TBuf<KMaxDescLen> value;
-    TUint32 key(KCMailContentIdList);
-    iCenRep->Get( key, value );
-    
-    TInt result = value.Find(cid);
-    
-    if (result >= 0)
-        {
-        ret = ETrue;        
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------------------------
-// CMailCpsSettings::AddToContentIdListL
-// ---------------------------------------------------------------------------
-//
-void CMailCpsSettings::AddToContentIdListL( const TDesC& aContentId )
-    {
-    FUNC_LOG;
-    TBuf<KMaxDescLen> value;
-
-    TUint32 key(KCMailContentIdList);
-    iCenRep->Get( key, value );
-
-    value.Append(KStartSeparator);
-    value.Append(aContentId);
-    value.Append(KEndSeparator);  
-    
-    iCenRep->Set( key, value );    
-    }
-
-// ---------------------------------------------------------------------------
-// CMailCpsSettings::RemoveFromContentIdListL
-// ---------------------------------------------------------------------------
-//
-void CMailCpsSettings::RemoveFromContentIdListL( const TDesC& aContentId )
-    {
-    FUNC_LOG;
-    TBuf<KMaxDescLen> cid;
-    cid.Copy(KStartSeparator);    
-    cid.Append(aContentId);
-    cid.Append(KEndSeparator);
-    
-    TBuf<KMaxDescLen> value;
-    TUint32 key(KCMailContentIdList);
-    iCenRep->Get( key, value );
-    
-    TInt result = value.Find(cid);
-    if (result >= 0)
-        {
-        value.Delete(result, cid.Length());
-        iCenRep->Set( key, value );        
-        }
-    }
-
 // -----------------------------------------------------------------------------
 // CMailCpsSettings::ToggleWidgetNewMailIconL
 // -----------------------------------------------------------------------------