diff -r c6838af47512 -r 52d61119153d messagingappbase/mce/src/MceMainViewListItemArray.cpp --- a/messagingappbase/mce/src/MceMainViewListItemArray.cpp Wed Mar 31 21:25:02 2010 +0300 +++ b/messagingappbase/mce/src/MceMainViewListItemArray.cpp Wed Apr 14 15:53:21 2010 +0300 @@ -89,6 +89,7 @@ //cmail update #define KUidMsgTypeFsMtmVal 0x2001F406 +#define KConversationUidVal 0x2002A540 //Conversation Application UID //cmail update @@ -176,6 +177,7 @@ // todo iListBoxText = HBufC::NewL( iDescriptionLength*3 ); + iDefaultViewSettings = KMceConversationview; } // Two-phased constructor. @@ -431,6 +433,10 @@ tempText.Copy( item.iPrintableText ); return tempText; } + else if( item.iApplicationUid == KConversationUidVal ) + { + return CreateConversationsListItem( aIndex ); + } else { return item.iPrintableText; @@ -458,7 +464,15 @@ if ( item.iIconIndex <= KErrNone || item.iIconIndex >= iBitmapResolver.MtmIconIndex() ) { TInt messageCount = 0; - CONST_CAST( TMceListItem*, &item)->iIconIndex = iBitmapResolver.BitmapIndex( entry, messageCount ); + TMsvId id = entry.Id(); + if(iDefaultViewSettings == KMceConversationview && id == KMsvGlobalInBoxIndexEntryId ) + { + CONST_CAST( TMceListItem*, &item)->iIconIndex = EMceBitmapIndexInbox; + } + else + { + CONST_CAST( TMceListItem*, &item)->iIconIndex = iBitmapResolver.BitmapIndex( entry, messageCount ); + } CONST_CAST( TMceListItem*, &item)->iMessageCount = messageCount; } tempText.AppendNum( item.iIconIndex ); @@ -1014,7 +1028,15 @@ if ( iSession->GetEntry( item.iMsvId, serviceId, entry ) == KErrNone ) { TInt messageCount = 0; - item.iIconIndex = iBitmapResolver.BitmapIndex( entry, messageCount ); + TMsvId id = entry.Id(); + if(iDefaultViewSettings == KMceConversationview && id == KMsvGlobalInBoxIndexEntryId ) + { + item.iIconIndex = EMceBitmapIndexInbox; + } + else + { + item.iIconIndex = iBitmapResolver.BitmapIndex( entry, messageCount ); + } item.iMessageCount = messageCount; // item.iUnreadMessageCount = unreadMessageCount; if ( iListItemArrayObserver ) @@ -1145,6 +1167,7 @@ tempItem.iMsvId = extraItem.iCommandId; tempItem.iPrintableText.Copy( extraItem.iPrintableText ); tempItem.iSecondaryText.Copy(extraItem.iSecondaryText); + tempItem.iApplicationUid = extraItem.iApplicationUid; TUid appUid; appUid.iUid = extraItem.iApplicationUid; AddExtraItemWithIconL( tempItem, Count(), extraItem.iIconIndex, appUid ); @@ -1249,4 +1272,41 @@ CleanupStack::PopAndDestroy( entry ); return visiblecount; } +// ---------------------------------------------------- +// CMceMainViewListItemArray::CreateConversationsListItem() +// ---------------------------------------------------- +TPtrC CMceMainViewListItemArray::CreateConversationsListItem( TInt aIndex ) const + { + const TMceListItem& item = At( aIndex ); + TPtr tempText = iListBoxText->Des(); + tempText.Zero(); + TInt bitmapidx = EMceBitmapIndexConversation; + if(iDefaultViewSettings == KMceConversationview ) + { + TInt msgCount = 0; + TInt unreadCount = 0; + iBitmapResolver.HasUnreadMessagesL(KMsvGlobalInBoxIndexEntryId,msgCount,unreadCount); + if( unreadCount > 0 ) + { + bitmapidx = EMceBitmapIndexConversationNew ; + } + } + tempText.AppendNum(bitmapidx); + TPtrC Ptr(item.iPrintableText); + TInt len = Ptr.Length(); + TInt pos = Ptr.Locate(KColumnListSeparator); + TPtrC Ptr1(Ptr.Mid(pos)); + tempText.Append(Ptr1); + return tempText; + } + +// ---------------------------------------------------- +// CMceMainViewListItemArray::SetDefaultViewSettings() +// ---------------------------------------------------- +void CMceMainViewListItemArray::SetDefaultViewSettings(TBool aVal) + { + iDefaultViewSettings = aVal; + Reset(); + TRAP_IGNORE(AddFoldersL()); + } // End of File