зеркало из https://github.com/mozilla/pjs.git
more work on 314124 folder pane popup on folders with new messages, sr=mscott
This commit is contained in:
Родитель
7eace4f6bf
Коммит
dce386397f
|
@ -2003,6 +2003,7 @@
|
||||||
|
|
||||||
// now get the database
|
// now get the database
|
||||||
var msgDatabase = msgFolder.getMsgDatabase(msgWindow);
|
var msgDatabase = msgFolder.getMsgDatabase(msgWindow);
|
||||||
|
msgFolder.setMsgDatabase(null);
|
||||||
var msgKeys = {};
|
var msgKeys = {};
|
||||||
var numMsgKeys = {};
|
var numMsgKeys = {};
|
||||||
msgDatabase.getNewList(numMsgKeys, msgKeys);
|
msgDatabase.getNewList(numMsgKeys, msgKeys);
|
||||||
|
@ -2016,12 +2017,14 @@
|
||||||
|
|
||||||
try {
|
try {
|
||||||
msgFolder.fetchMsgPreviewText(msgKeys.value, numMsgKeys.value, false, null, asyncResults);
|
msgFolder.fetchMsgPreviewText(msgKeys.value, numMsgKeys.value, false, null, asyncResults);
|
||||||
|
msgFolder.setMsgDatabase(null);
|
||||||
}
|
}
|
||||||
catch (ex)
|
catch (ex)
|
||||||
{
|
{
|
||||||
// fetchMsgPreviewText throws an error when we call it on a news folder, we should just not show
|
// fetchMsgPreviewText throws an error when we call it on a news folder, we should just not show
|
||||||
// the tooltip if this method returns an error.
|
// the tooltip if this method returns an error.
|
||||||
dump('fetchMsgPreviewText threw an error or failed to set any preview text data\n');
|
dump('fetchMsgPreviewText threw an error or failed to set any preview text data\n');
|
||||||
|
msgFolder.setMsgDatabase(null);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2035,7 +2038,7 @@
|
||||||
msgPopup, msgDatabase.GetMsgHdrForKey(msgKeys.value[index++]));
|
msgPopup, msgDatabase.GetMsgHdrForKey(msgKeys.value[index++]));
|
||||||
|
|
||||||
document.getAnonymousNodes(this)[0].appendChild(msgPopup);
|
document.getAnonymousNodes(this)[0].appendChild(msgPopup);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
]]>
|
]]>
|
||||||
</handler>
|
</handler>
|
||||||
|
|
|
@ -299,27 +299,7 @@ NS_IMETHODIMP nsMsgDBFolder::EndFolderLoading(void)
|
||||||
|
|
||||||
//GGGG check for new mail here and call SetNewMessages...?? -- ONE OF THE 2 PLACES
|
//GGGG check for new mail here and call SetNewMessages...?? -- ONE OF THE 2 PLACES
|
||||||
if(mDatabase)
|
if(mDatabase)
|
||||||
{
|
m_newMsgs.RemoveAll();
|
||||||
nsresult rv;
|
|
||||||
PRBool hasNewMessages;
|
|
||||||
|
|
||||||
rv = mDatabase->HasNew(&hasNewMessages);
|
|
||||||
if (!hasNewMessages)
|
|
||||||
{
|
|
||||||
for (PRUint32 keyIndex = 0; keyIndex < m_newMsgs.GetSize(); keyIndex++)
|
|
||||||
{
|
|
||||||
PRBool isRead = PR_FALSE;
|
|
||||||
mDatabase->IsRead(m_newMsgs[keyIndex], &isRead);
|
|
||||||
if (!isRead)
|
|
||||||
{
|
|
||||||
mDatabase->AddToNewList(m_newMsgs[keyIndex]);
|
|
||||||
hasNewMessages = PR_TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_newMsgs.RemoveAll();
|
|
||||||
}
|
|
||||||
SetHasNewMessages(hasNewMessages);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
@ -5111,7 +5091,8 @@ nsresult nsMsgDBFolder::GetMsgPreviewTextFromStream(nsIMsgDBHdr *msgHdr, nsIInpu
|
||||||
// might want to use a state var instead of bools.
|
// might want to use a state var instead of bools.
|
||||||
PRBool inMsgBody = PR_FALSE, msgBodyIsHtml = PR_FALSE, lookingForBoundary = PR_FALSE;
|
PRBool inMsgBody = PR_FALSE, msgBodyIsHtml = PR_FALSE, lookingForBoundary = PR_FALSE;
|
||||||
PRBool haveBoundary = PR_FALSE;
|
PRBool haveBoundary = PR_FALSE;
|
||||||
while (len > 0)
|
PRBool more = PR_TRUE;
|
||||||
|
while (len > 0 && more)
|
||||||
{
|
{
|
||||||
// might be on same line as content-type, so look before
|
// might be on same line as content-type, so look before
|
||||||
// we read the next line.
|
// we read the next line.
|
||||||
|
@ -5132,7 +5113,6 @@ nsresult nsMsgDBFolder::GetMsgPreviewTextFromStream(nsIMsgDBHdr *msgHdr, nsIInpu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PRBool more;
|
|
||||||
rv = NS_ReadLine(stream, lineBuffer, curLine, &more);
|
rv = NS_ReadLine(stream, lineBuffer, curLine, &more);
|
||||||
if (NS_SUCCEEDED(rv))
|
if (NS_SUCCEEDED(rv))
|
||||||
{
|
{
|
||||||
|
@ -5162,17 +5142,22 @@ nsresult nsMsgDBFolder::GetMsgPreviewTextFromStream(nsIMsgDBHdr *msgHdr, nsIInpu
|
||||||
inMsgBody = PR_TRUE;
|
inMsgBody = PR_TRUE;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (StringBeginsWith(curLine, NS_LITERAL_CSTRING("Content-Type:")))
|
if (StringBeginsWith(curLine, NS_LITERAL_CSTRING("Content-Type:"),
|
||||||
|
nsCaseInsensitiveCStringComparator()))
|
||||||
{
|
{
|
||||||
if (FindInReadable(NS_LITERAL_CSTRING("text/html"), curLine))
|
if (FindInReadable(NS_LITERAL_CSTRING("text/html"), curLine,
|
||||||
|
nsCaseInsensitiveCStringComparator()))
|
||||||
{
|
{
|
||||||
msgBodyIsHtml = PR_TRUE;
|
msgBodyIsHtml = PR_TRUE;
|
||||||
// bodyFollowsHeaders = PR_TRUE;
|
// bodyFollowsHeaders = PR_TRUE;
|
||||||
}
|
}
|
||||||
else if (FindInReadable(NS_LITERAL_CSTRING("text/plain"), curLine))
|
else if (FindInReadable(NS_LITERAL_CSTRING("text/plain"), curLine,
|
||||||
|
nsCaseInsensitiveCStringComparator()))
|
||||||
/* bodyFollowsHeaders = PR_TRUE */;
|
/* bodyFollowsHeaders = PR_TRUE */;
|
||||||
else if (FindInReadable(NS_LITERAL_CSTRING("multipart/mixed"), curLine)
|
else if (FindInReadable(NS_LITERAL_CSTRING("multipart/mixed"), curLine,
|
||||||
|| FindInReadable(NS_LITERAL_CSTRING("multipart/alternative"), curLine))
|
nsCaseInsensitiveCStringComparator())
|
||||||
|
|| FindInReadable(NS_LITERAL_CSTRING("multipart/alternative"), curLine,
|
||||||
|
nsCaseInsensitiveCStringComparator()))
|
||||||
{
|
{
|
||||||
lookingForBoundary = PR_TRUE;
|
lookingForBoundary = PR_TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -493,7 +493,22 @@ NS_IMETHODIMP nsMsgLocalMailFolder::GetDatabaseWOReparse(nsIMsgDatabase **aDatab
|
||||||
{
|
{
|
||||||
rv = msgDBService->OpenFolderDB(this, PR_FALSE, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(mDatabase));
|
rv = msgDBService->OpenFolderDB(this, PR_FALSE, PR_TRUE, (nsIMsgDatabase **) getter_AddRefs(mDatabase));
|
||||||
if (mDatabase && NS_SUCCEEDED(rv))
|
if (mDatabase && NS_SUCCEEDED(rv))
|
||||||
|
{
|
||||||
mDatabase->AddListener(this);
|
mDatabase->AddListener(this);
|
||||||
|
PRBool hasNewMessages = PR_FALSE;
|
||||||
|
for (PRUint32 keyIndex = 0; keyIndex < m_newMsgs.GetSize(); keyIndex++)
|
||||||
|
{
|
||||||
|
PRBool isRead = PR_FALSE;
|
||||||
|
mDatabase->IsRead(m_newMsgs[keyIndex], &isRead);
|
||||||
|
if (!isRead)
|
||||||
|
{
|
||||||
|
hasNewMessages = PR_TRUE;
|
||||||
|
mDatabase->AddToNewList(m_newMsgs[keyIndex]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SetHasNewMessages(hasNewMessages);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*aDatabase = mDatabase;
|
*aDatabase = mDatabase;
|
||||||
|
|
|
@ -175,6 +175,8 @@ pref("mail.receipt.request_header_type", 0); // 0: MDN-DNT header 1:
|
||||||
pref("mail.receipt.request_return_receipt_on", false);
|
pref("mail.receipt.request_return_receipt_on", false);
|
||||||
pref("mail.mdn.report.enabled", true); // false: Never send true: Send sometimes
|
pref("mail.mdn.report.enabled", true); // false: Never send true: Send sometimes
|
||||||
|
|
||||||
|
pref("mail.showPreviewText", false);
|
||||||
|
|
||||||
pref("news.default_cc", "");
|
pref("news.default_cc", "");
|
||||||
pref("news.default_fcc", ""); // mailbox:URL or Imap://Host/OnlineFolderName
|
pref("news.default_fcc", ""); // mailbox:URL or Imap://Host/OnlineFolderName
|
||||||
pref("news.use_fcc", true);
|
pref("news.use_fcc", true);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче