diff --git a/mozilla/mail/base/content/commandglue.js b/mozilla/mail/base/content/commandglue.js index d939dc50a83..d106a62481c 100644 --- a/mozilla/mail/base/content/commandglue.js +++ b/mozilla/mail/base/content/commandglue.js @@ -820,6 +820,7 @@ function FolderPaneSelectionChange() } else { + OnLeavingFolder(gPrevSelectedFolder); // mark all read in last folder var sortType = 0; var sortOrder = 0; var viewFlags = 0; @@ -1149,6 +1150,19 @@ function CreateGroupedSearchTerms(searchTermsArray) return searchTermsArrayForQS; } +function OnLeavingFolder(aFolder) +{ + try + { + if (gPrefBranch.getBoolPref("mailnews.mark_message_read." + aFolder.server.type)) + { + // mark all messages of aFolder as read + goDoCommand('cmd_markAllRead'); + } + } + catch(e){/* ignore */} +} + var gViewDebug = false; function viewDebug(str) diff --git a/mozilla/mail/base/content/msgMail3PaneWindow.js b/mozilla/mail/base/content/msgMail3PaneWindow.js index 216e6ff3119..119b75a7887 100644 --- a/mozilla/mail/base/content/msgMail3PaneWindow.js +++ b/mozilla/mail/base/content/msgMail3PaneWindow.js @@ -827,6 +827,7 @@ function delayedOnLoadMessenger() function OnUnloadMessenger() { + OnLeavingFolder(gMsgFolderSelected); // mark all read in current folder accountManager.removeIncomingServerListener(gThreePaneIncomingServerListener); pref.QueryInterface(Components.interfaces.nsIPrefBranchInternal); pref.removeObserver("mail.pane_config.dynamic", MailPrefObserver); diff --git a/mozilla/mailnews/base/resources/content/commandglue.js b/mozilla/mailnews/base/resources/content/commandglue.js index c2fa8d88e93..042afae5474 100644 --- a/mozilla/mailnews/base/resources/content/commandglue.js +++ b/mozilla/mailnews/base/resources/content/commandglue.js @@ -838,6 +838,7 @@ function FolderPaneSelectionChange() } else { + OnLeavingFolder(gPrevSelectedFolder); // mark all read in last folder var sortType = 0; var sortOrder = 0; var viewFlags = 0; @@ -1188,6 +1189,19 @@ function CreateGroupedSearchTerms(searchTermsArray) return searchTermsArrayForQS; } +function OnLeavingFolder(aFolder) +{ + try + { + if (gPrefBranch.getBoolPref("mailnews.mark_message_read." + aFolder.server.type)) + { + // mark all messages of aFolder as read + goDoCommand('cmd_markAllRead'); + } + } + catch(e){/* ignore */} +} + var gViewDebug = false; function viewDebug(str) diff --git a/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js b/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js index c378016493e..b9d8d35a363 100644 --- a/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js +++ b/mozilla/mailnews/base/resources/content/msgMail3PaneWindow.js @@ -745,6 +745,7 @@ function OnUnloadMessenger() { pref.removeObserver("mail.pane_config.dynamic", MailPaneConfigObserver, false); + OnLeavingFolder(gMsgFolderSelected); // mark all read in current folder accountManager.removeIncomingServerListener(gThreePaneIncomingServerListener); RemoveToolBarPrefListener(); // FIX ME - later we will be able to use onload from the overlay