emailuis/nmailuiengine/src/nmmailboxlistmodel.cpp
changeset 43 99bcbff212ad
parent 40 2c62ef3caffd
child 76 38bf5461e270
--- a/emailuis/nmailuiengine/src/nmmailboxlistmodel.cpp	Mon May 24 21:02:02 2010 +0300
+++ b/emailuis/nmailuiengine/src/nmmailboxlistmodel.cpp	Fri May 28 13:56:43 2010 +0300
@@ -34,6 +34,7 @@
 :QStandardItemModel(parent),
 mDataManager(dataManager)
 {
+    NM_FUNCTION;
 }
 
 /*!
@@ -41,6 +42,8 @@
  */
 NmMailboxListModel::~NmMailboxListModel()
 {
+    NM_FUNCTION;
+    
     clear();
 }
 
@@ -50,6 +53,8 @@
  */
 QVariant NmMailboxListModel::data(const QModelIndex &index, int role) const
 {
+    NM_FUNCTION;
+    
     QVariant qVariant;
     if (index.isValid() && Qt::DisplayRole == role) {
         NmMailboxListModelItem *item = static_cast<NmMailboxListModelItem*>(itemFromIndex(index));
@@ -65,7 +70,8 @@
 void NmMailboxListModel::refresh(
         QList<NmMailbox*> &mailboxList)
 {
-    NMLOG("nmuiengine: mailbox list model refresh");
+    NM_FUNCTION;
+    
     clear();
     for (int i(0); i < mailboxList.count(); i++) {
         NmMailbox *mailbox = mailboxList[i];
@@ -79,13 +85,11 @@
 /*!
     Updates specific model item.
     \param mailboxId Mailbox id.
-    \param allowEmitDataChanged If <code>true</code> data changed signal
-           is emitted \sa QStandardItem, otherwise signal is not send.
  */
-void NmMailboxListModel::refreshModelItem(const NmId &mailboxId, bool allowEmitDataChanged)
+void NmMailboxListModel::refreshModelItem(const NmId &mailboxId)
 {
-    NMLOG("NmMailboxListModel::refreshModelItem");
-
+    NM_FUNCTION;
+    
     // Get correct mailbox data.
     NmMailbox* mailbox = mDataManager.mailbox(mailboxId);
     NmMailboxListModelItem *entryItem(NULL);
@@ -102,21 +106,13 @@
 
     // Update entry item's data.
     if (mailbox && entryItem) {
-        if (allowEmitDataChanged) {
-            // Changes data and emits datachanged.
-            NmMailboxMetaData *metaData = new NmMailboxMetaData;
-            metaData->setId(mailbox->id());
-            metaData->setName(mailbox->name());
-            entryItem->setItemMetaData(metaData);
-        } else {
-            // Only changes meta data information (mailbox name).
-            // No need for updating mailbox id.
-            // Do not call emitDataChanged, because it seems that if
-            // emitDataChanged is called twice, it leads to KERN-EXEC 3 Panic.
-            entryItem->itemMetaData()->setName(mailbox->name());
-       }
+        // Changes data and emits datachanged.
+        NmMailboxMetaData *metaData = new NmMailboxMetaData;
+        metaData->setId(mailbox->id());
+        metaData->setName(mailbox->name());
+        metaData->setAddress(mailbox->address().address());
+        entryItem->setItemMetaData(metaData);
     }
-    NMLOG("NmMailboxListModel::refreshModelItem - OK");
 }
 
 /*!
@@ -124,7 +120,8 @@
  */
 void NmMailboxListModel::handleMailboxEvent(NmMailboxEvent event, const QList<NmId> &mailboxIds)
 {
-    NMLOG("NmMailboxListModel::handleMailboxEvent");
+    NM_FUNCTION;
+    
     for (int a(0); a < mailboxIds.count(); a++) {
         NmId mailboxId = mailboxIds[a];
         switch (event) {
@@ -174,6 +171,8 @@
  */
 NmMailboxListModelItem *NmMailboxListModel::createMailboxItem(const NmMailbox *mailbox)
 {
+    NM_FUNCTION;
+    
     NmMailboxMetaData *newMeta = new NmMailboxMetaData();
     newMeta->setId(mailbox->id());
     newMeta->setName(mailbox->name());