nsMsgViewIndex nsMsgGroupThread::AddChildFromGroupView(nsIMsgDBHdr *child, nsMsgDBView *view) { uint32_t newHdrFlags = 0; uint32_t msgDate; nsMsgKey newHdrKey = 0; child->GetFlags(&newHdrFlags); child->GetMessageKey(&newHdrKey); child->GetDateInSeconds(&msgDate); if (msgDate > m_newestMsgDate) SetNewestMsgDate(msgDate); child->AndFlags(~(nsMsgMessageFlags::Watched), &newHdrFlags); uint32_t numChildren; // get the num children before we add the new header. GetNumChildren(&numChildren); // if this is an empty thread, set the root key to this header's key if (numChildren == 0) m_threadRootKey = newHdrKey; if (! (newHdrFlags & nsMsgMessageFlags::Read)) ChangeUnreadChildCount(1); return AddMsgHdrInDateOrder(child, view); }
nsresult nsMsgGroupThread::AddChildFromGroupView(nsIMsgDBHdr *child, nsMsgDBView *view) { PRUint32 newHdrFlags = 0; PRUint32 msgDate; nsMsgKey newHdrKey = 0; child->GetFlags(&newHdrFlags); child->GetMessageKey(&newHdrKey); child->GetDateInSeconds(&msgDate); if (msgDate > m_newestMsgDate) SetNewestMsgDate(msgDate); child->AndFlags(~(MSG_FLAG_WATCHED), &newHdrFlags); PRUint32 numChildren; // get the num children before we add the new header. GetNumChildren(&numChildren); // if this is an empty thread, set the root key to this header's key if (numChildren == 0) m_threadRootKey = newHdrKey; if (! (newHdrFlags & MSG_FLAG_READ)) ChangeUnreadChildCount(1); return AddMsgHdrInDateOrder(child, view); }