Scott MacGregor <firstname.lastname@example.org> has asked David Bienvenu <email@example.com> for superreview: Bug 257990: Integrate Junk Mail settings into "Options" and "Account Settings" https://bugzilla.mozilla.org/show_bug.cgi?id=257990 Attachment 218487: updated patch ready for review https://bugzilla.mozilla.org/attachment.cgi?id=218487&action=edit ------- Additional Comments from Scott MacGregor <firstname.lastname@example.org> Here's what I did: 1) nsMsgAccountManagerDS.cpp.h Add code to display a junk mail panel for all accounts but news who have identities associated with them. 2) incomingServer I didn't like how the server was responsible for initializing each spam setting attribute so I pushed all of the initialization code into the spam settings object itself. The spam settings object is now readonly, we don't need a setter because the account manager is now setting the prefs for us. 3) spamSettings A lot of interface cleanup here, getting rid of unneeded setter properties (we could still clean up more) now that the account manager actually sets our prefs. I made the following settings global: logging, manual mark, and manual mark mode. Converted the logging code to use nsIFile and removed some logging APIs which we don't need. The log now appears at the top level directory in the profile. Add an initialization method which takes a server and updates the server specific spam settings. I also added code to unset/set the junk folder flag when the junk folder changes. 4) am-junk.xul, am-junk.js Account specific junk mail settings. 5) privacy.xul, privacy.js Global junk mail settings 6) Misc For the prefs I made global (manual mark mode and logging, I didn't try to migrate account settings data. I don't think it's a big deal for a user to reset these values. I would think differently for some of the other settings (like which junk folder to use). I also removed the UI for sanitizing HTML in junk mail, there's no good reason to expose this via the UI.