diff -r a32b19fb291e -r 5b14749788d7 messagingapp/msgui/appengine/src/conversationssummarymodel.cpp --- 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 #include "convergedmessage.h" #include "unidatamodelloader.h" #include "unidatamodelplugininterface.h" #include "ringbc.h" #include "msgcontacthandler.h" +#include "debugtraces.h" + #include #include #include @@ -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); } }