emailuis/nmailuiengine/src/nmuiengine.cpp
changeset 74 6c59112cfd31
parent 68 83cc6bae1de8
child 76 38bf5461e270
--- a/emailuis/nmailuiengine/src/nmuiengine.cpp	Wed Sep 15 17:47:19 2010 +0300
+++ b/emailuis/nmailuiengine/src/nmuiengine.cpp	Thu Sep 30 11:43:07 2010 +0300
@@ -214,7 +214,8 @@
             QObject *plugin = (*dataPlugins)[i];
             if (plugin) {
                 connect(plugin, SIGNAL(mailboxEvent(NmMailboxEvent, const QList<NmId> &)),
-                    mMailboxListModel, SLOT(handleMailboxEvent(NmMailboxEvent, const QList<NmId> &)));
+                    mMailboxListModel, SLOT(handleMailboxEvent(NmMailboxEvent, const QList<NmId> &)), 
+                    Qt::UniqueConnection);
             }
         }
     } else {
@@ -238,6 +239,8 @@
 NmMessageListModel &NmUiEngine::messageListModel(const NmId &mailboxId,
                                                  const NmId &folderId)
 {
+    NM_TIMESTAMP("NmUiEngine::messageListModel begins ***");
+    
     QObject *plugin = mPluginFactory->pluginInstance(mailboxId);
     bool isInbox(false);
     if (standardFolderId(mailboxId,NmFolderInbox)==folderId){
@@ -283,7 +286,10 @@
     else {
         ret = mMessageListModel;
     }
-    return *ret;
+    
+    NM_TIMESTAMP("NmUiEngine::messageListModel ends ***");
+    
+    return *ret;    
 }
 
 
@@ -1128,6 +1134,18 @@
             }
            break;
         }
+        case NmMailboxCreated:
+            {
+            if( mailboxIds.count() ){
+                NmDataPluginInterface *pluginInterface =
+                        mPluginFactory->interfaceInstance(mailboxIds.at(0));
+            
+                if (pluginInterface) {
+                    pluginInterface->subscribeMailboxEvents(mailboxIds.at(0));
+                    }
+                }
+            }
+            break;
         default:
         break;
     }