--- a/messagingapp/msgui/appengine/src/conversationssummarymodel.cpp Mon May 03 12:29:07 2010 +0300
+++ b/messagingapp/msgui/appengine/src/conversationssummarymodel.cpp Fri Jun 25 15:47:40 2010 +0530
@@ -18,10 +18,13 @@
#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>
@@ -35,6 +38,8 @@
ConversationsSummaryModel::ConversationsSummaryModel(QObject* parent)
:QStandardItemModel(parent)
{
+ QStandardItemModel::setSortRole(TimeStamp);
+ QStandardItemModel::sort(0, Qt::DescendingOrder);
}
//---------------------------------------------------------------
@@ -153,7 +158,7 @@
// @see header
//---------------------------------------------------------------
void ConversationsSummaryModel::addRow(
- const CCsClientConversation& conversation)
+ const CCsClientConversation& conversation, bool caching)
{
int convId = conversation.GetConversationEntryId();
@@ -175,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);
+ }
}
//---------------------------------------------------------------
@@ -203,6 +213,8 @@
void ConversationsSummaryModel::populateItem(QStandardItem& item,
const CCsClientConversation& conversation)
{
+ QCRITICAL_WRITE("ConversationsSummaryModel::populateItem start.");
+
//get entry
CCsConversationEntry* conEntry = conversation.GetConversationEntry();
//error scenario
@@ -239,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 );
}
@@ -262,7 +274,7 @@
//display name
if(disName && disName->Length())
{
- displayName = S60QConversions::s60DescToQString(*disName);
+ displayName = XQConversions::s60DescToQString(*disName);
item.setData(displayName,DisplayName);
}
@@ -271,7 +283,7 @@
QString contactNumber("");
if ( contactno && contactno->Length() )
{
- contactNumber = S60QConversions::s60DescToQString(*contactno);
+ contactNumber = XQConversions::s60DescToQString(*contactno);
}
item.setData(contactNumber, ConversationAddress);
@@ -280,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.");
}
@@ -293,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"
{
@@ -301,7 +315,8 @@
item.setData(ConvergedMessage::VCard, MessageSubType);
//parse vcf file to get the details
- QString displayName = ConversationsEngineUtility::getVcardDisplayName(description);
+ QString displayName = MsgContactHandler::getVCardDisplayName(
+ description);
item.setData(displayName, BodyText);
}
else
@@ -341,7 +356,8 @@
QString attachmentPath = attList[0]->path();
//get display-name and set as bodytext
- QString displayName = ConversationsEngineUtility::getVcardDisplayName(attachmentPath);
+ QString displayName = MsgContactHandler::getVCardDisplayName(
+ attachmentPath);
item.setData(displayName, BodyText);
// clear attachement list : its allocated at data model
@@ -353,12 +369,43 @@
else if (ConvergedMessage::VCal == msgSubType) {
//not supported
}
- else {
+ else if (ConvergedMessage::RingingTone == msgSubType) {
+ if (bioMsgPlugin->attachmentCount() > 0) {
+ UniMessageInfoList attList = bioMsgPlugin->attachmentList();
+ QString attachmentPath = attList[0]->path();
+
+ //get tone title, and set as bodytext
+ RingBc ringBc;
+ item.setData(ringBc.toneTitle(attachmentPath), BodyText);
+ while (!attList.isEmpty()) {
+ delete attList.takeFirst();
+ }
+ }
+ }
+
+ 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);
}
}