From 9febadf76186376d9d85038a681a583261ada345 Mon Sep 17 00:00:00 2001 From: "putterman%netscape.com" Date: Fri, 14 May 1999 21:03:26 +0000 Subject: [PATCH] Do status flag notifications based on flags changed. --- mailnews/base/util/nsMsgDBFolder.cpp | 16 +++++++++++++++- mailnews/base/util/nsMsgDBFolder.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/mailnews/base/util/nsMsgDBFolder.cpp b/mailnews/base/util/nsMsgDBFolder.cpp index c8fbd969a5f9..810c3eeb29b4 100644 --- a/mailnews/base/util/nsMsgDBFolder.cpp +++ b/mailnews/base/util/nsMsgDBFolder.cpp @@ -152,6 +152,20 @@ nsresult nsMsgDBFolder::ReadDBFolderInfo(PRBool force) } +nsresult nsMsgDBFolder::SendFlagNotifications(nsISupports *item, PRUint32 oldFlags, PRUint32 newFlags) +{ + nsresult rv = NS_OK; + + PRUint32 changedFlags = oldFlags ^ newFlags; + if((changedFlags & MSG_FLAG_READ) || (changedFlags & MSG_FLAG_REPLIED) + || (changedFlags & MSG_FLAG_MARKED) || (changedFlags & MSG_FLAG_FORWARDED) + || (changedFlags & MSG_FLAG_NEW)) + { + rv = NotifyPropertyFlagChanged(item, "Status", oldFlags, newFlags); + } + return rv; +} + NS_IMETHODIMP nsMsgDBFolder::OnKeyChange(nsMsgKey aKeyChanged, PRUint32 aOldFlags, PRUint32 aNewFlags, nsIDBChangeListener * aInstigator) { @@ -166,7 +180,7 @@ NS_IMETHODIMP nsMsgDBFolder::OnKeyChange(nsMsgKey aKeyChanged, PRUint32 aOldFlag nsCOMPtr msgSupports(do_QueryInterface(message, &rv)); if(NS_SUCCEEDED(rv)) { - NotifyPropertyFlagChanged(msgSupports, "Status", aOldFlags, aNewFlags); + SendFlagNotifications(msgSupports, aOldFlags, aNewFlags); } UpdateSummaryTotals(); } diff --git a/mailnews/base/util/nsMsgDBFolder.h b/mailnews/base/util/nsMsgDBFolder.h index 3732b1aea5ae..267fd1f48f3e 100644 --- a/mailnews/base/util/nsMsgDBFolder.h +++ b/mailnews/base/util/nsMsgDBFolder.h @@ -56,6 +56,7 @@ public: protected: virtual nsresult ReadDBFolderInfo(PRBool force); virtual nsresult GetDatabase() = 0; + virtual nsresult SendFlagNotifications(nsISupports *item, PRUint32 oldFlags, PRUint32 newFlags); protected: nsCOMPtr mDatabase;