work for filter after the fact, r=naving, sr=sspitzer 11033

This commit is contained in:
bienvenu%netscape.com 2002-09-13 00:58:06 +00:00
Родитель 253a07f4b4
Коммит 69a0e95209
5 изменённых файлов: 35 добавлений и 0 удалений

Просмотреть файл

@ -369,6 +369,7 @@ const nsMsgBiffState nsMsgBiffState_Unknown = 2; // We dunno whether there is ne
void markAllMessagesRead();
void markMessagesFlagged(in nsISupportsArray messages, in boolean markFlagged);
void markThreadRead(in nsIMsgThread thread);
void setLabelForMessages(in nsISupportsArray messages, in nsMsgLabelValue label);
nsIMsgDatabase getMsgDatabase(in nsIMsgWindow msgWindow);
void setMsgDatabase (in nsIMsgDatabase msgDatabase);
nsIMsgDatabase getDBFolderInfoAndDB(out nsIDBFolderInfo folderInfo);

Просмотреть файл

@ -2221,6 +2221,25 @@ nsMsgFolder::MarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged)
return NS_OK;
}
NS_IMETHODIMP
nsMsgFolder::SetLabelForMessages(nsISupportsArray *aMessages, nsMsgLabelValue aLabel)
{
PRUint32 count;
NS_ENSURE_ARG(aMessages);
nsresult rv = aMessages->Count(&count);
NS_ENSURE_SUCCESS(rv, rv);
for(PRUint32 i = 0; i < count; i++)
{
nsCOMPtr<nsIMsgDBHdr> message = do_QueryElementAt(aMessages, i, &rv);
NS_ENSURE_SUCCESS(rv, rv);
rv = message->SetLabel(aLabel);
NS_ENSURE_SUCCESS(rv, rv);
}
return NS_OK;
}
NS_IMETHODIMP
nsMsgFolder::AddMessageDispositionState(nsIMsgDBHdr *aMessage, nsMsgDispositionState aDispositionFlag)
{

Просмотреть файл

@ -193,6 +193,7 @@ public:
NS_IMETHOD MarkAllMessagesRead(void);
NS_IMETHOD MarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged);
NS_IMETHOD MarkThreadRead(nsIMsgThread *thread);
NS_IMETHOD SetLabelForMessages(nsISupportsArray *messages, nsMsgLabelValue label);
NS_IMETHOD GetChildWithURI(const char *uri, PRBool deep, PRBool caseInsensitive, nsIMsgFolder **_retval);
NS_IMETHOD EnableNotifications(PRInt32 notificationType, PRBool enable, PRBool dbBatching);

Просмотреть файл

@ -1627,6 +1627,19 @@ nsImapMailFolder::MarkMessagesRead(nsISupportsArray *messages, PRBool markRead)
return rv;
}
NS_IMETHODIMP
nsImapMailFolder::SetLabelForMessages(nsISupportsArray *aMessages, nsMsgLabelValue aLabel)
{
PRUint32 count;
NS_ENSURE_ARG(aMessages);
nsCAutoString messageIds;
nsMsgKeyArray keysToLabel;
nsresult rv = BuildIdsAndKeyArray(aMessages, messageIds, keysToLabel);
NS_ENSURE_SUCCESS(rv, rv);
return StoreImapFlags((aLabel << 9), PR_TRUE, keysToLabel.GetArray(), keysToLabel.GetSize());
}
NS_IMETHODIMP
nsImapMailFolder::MarkAllMessagesRead(void)
{

Просмотреть файл

@ -246,6 +246,7 @@ public:
NS_IMETHOD MarkAllMessagesRead(void);
NS_IMETHOD MarkMessagesFlagged(nsISupportsArray *messages, PRBool markFlagged);
NS_IMETHOD MarkThreadRead(nsIMsgThread *thread);
NS_IMETHOD SetLabelForMessages(nsISupportsArray *aMessages, nsMsgLabelValue aLabel);
NS_IMETHOD DeleteSubFolders(nsISupportsArray *folders, nsIMsgWindow *msgWindow);
NS_IMETHOD ReadFromFolderCacheElem(nsIMsgFolderCacheElement *element);