--- 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;
}