messagingapp/msgui/appengine/src/conversationssummarymodel.cpp
branchGCC_SURGE
changeset 47 5b14749788d7
parent 27 e4592d119491
parent 44 36f374c67aa8
--- a/messagingapp/msgui/appengine/src/conversationssummarymodel.cpp	Thu Jun 17 09:57:06 2010 +0100
+++ b/messagingapp/msgui/appengine/src/conversationssummarymodel.cpp	Thu Jul 22 16:32:06 2010 +0100
@@ -18,12 +18,14 @@
 #include "conversationssummarymodel.h"
 #include "conversationsenginedefines.h"
 #include "conversationsengineutility.h"
-#include "s60qconversions.h"
+#include <xqconversions.h>
 #include "convergedmessage.h"
 #include "unidatamodelloader.h"
 #include "unidatamodelplugininterface.h"
 #include "ringbc.h"
 #include "msgcontacthandler.h"
+#include "debugtraces.h"
+
 #include <ccsclientconversation.h>
 #include <ccsconversationentry.h>
 #include <QFile>
@@ -36,6 +38,8 @@
 ConversationsSummaryModel::ConversationsSummaryModel(QObject* parent)
 :QStandardItemModel(parent)
     {
+    QStandardItemModel::setSortRole(TimeStamp);
+    QStandardItemModel::sort(0, Qt::DescendingOrder);
     }
 
 //---------------------------------------------------------------
@@ -154,7 +158,7 @@
 // @see header
 //---------------------------------------------------------------
 void ConversationsSummaryModel::addRow(
-        const CCsClientConversation& conversation)
+        const CCsClientConversation& conversation, bool caching)
     {  
     int convId = conversation.GetConversationEntryId();
     
@@ -176,7 +180,12 @@
         QModelIndex index = indexList[0];
         QStandardItem* item = this->item(index.row(), 0);
         populateItem(*item,conversation);
-    }        
+    }  
+    // no need to sort if it is initial caching, as sorting is already done
+    if (!caching)
+        {
+        QStandardItemModel::sort(0, Qt::DescendingOrder);
+        }
     }
 
 //---------------------------------------------------------------
@@ -204,6 +213,8 @@
 void ConversationsSummaryModel::populateItem(QStandardItem& item, 
         const CCsClientConversation& conversation)
     {
+    QCRITICAL_WRITE("ConversationsSummaryModel::populateItem start.");
+            
     //get entry
     CCsConversationEntry* conEntry = conversation.GetConversationEntry(); 
     //error scenario
@@ -240,7 +251,7 @@
         HBufC* body = conEntry->Description();
         if( body && body->Length())
         {     
-            QString bodytext(S60QConversions::s60DescToQString(*body));
+            QString bodytext(XQConversions::s60DescToQString(*body));
             item.setData(bodytext, BodyText); 
             item.setData(bodytext, Subject );
         }
@@ -263,7 +274,7 @@
     //display name
     if(disName && disName->Length())
         {
-        displayName = S60QConversions::s60DescToQString(*disName);
+        displayName = XQConversions::s60DescToQString(*disName);
         item.setData(displayName,DisplayName); 
         }
     
@@ -272,7 +283,7 @@
     QString contactNumber("");
     if ( contactno && contactno->Length() )
         {
-        contactNumber = S60QConversions::s60DescToQString(*contactno);                  
+        contactNumber = XQConversions::s60DescToQString(*contactno);                  
         }        
     item.setData(contactNumber, ConversationAddress);
 
@@ -281,7 +292,9 @@
     item.setData(contactId, ContactId);
     
     // unread status        
-    item.setData(conEntry->IsAttributeSet(ECsAttributeUnread),UnReadStatus);      
+    item.setData(conEntry->IsAttributeSet(ECsAttributeUnread),UnReadStatus); 
+    
+    QCRITICAL_WRITE("ConversationsSummaryModel::populateItem start.");
     }
 
 
@@ -294,7 +307,7 @@
 {
     //TODO, needs to be revisited again, once BT team provides the solution for
     //BT received as Biomsg issue.
-    QString description = S60QConversions::s60DescToQString(*(entry.Description()));
+    QString description = XQConversions::s60DescToQString(*(entry.Description()));
 
     if (description.contains(".vcf") || description.contains(".ics")) // "vCard"
     {
@@ -369,12 +382,30 @@
             }
         }
     }
-    else {
+
+   else if(ConvergedMessage::NokiaService == msgSubType){
+        // This is a bio message so lets parse it and see if it has a associated attachment ..        
+        if (bioMsgPlugin->attachmentCount() > 0) {
+				// TODO : need to confirm if we need to read from attachment
+        }
+        else {// description
+            HBufC* description = entry.Description();
+            QString subject("");
+            if (description && description->Length()) {
+                subject = (XQConversions::s60DescToQString(*description));
+                item.setData(subject, BodyText);
+            }
+
+        }
+
+    }
+
+   else {
         // description
         HBufC* description = entry.Description();
         QString subject("");
         if (description && description->Length()) {
-            subject = (S60QConversions::s60DescToQString(*description));
+            subject = (XQConversions::s60DescToQString(*description));
             item.setData(subject, BodyText);
         }
     }