Filter after the fact (run filters on mail you've already received - apply filters on the fly)

VERIFIED FIXED in mozilla1.2alpha

Status

MailNews Core
Filters
P2
enhancement
VERIFIED FIXED
19 years ago
a year ago

People

(Reporter: (not reading, please use seth@sspitzer.org instead), Assigned: Bienvenu)

Tracking

({helpwanted})

Trunk
mozilla1.2alpha
helpwanted
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [Hixie-P0][Hixie-1.0], URL)

Attachments

(2 attachments, 2 obsolete attachments)

2.88 KB, text/html
Details
30.81 KB, patch
Navin Gupta
: review+
(not reading, please use seth@sspitzer.org instead)
: superreview+
Details | Diff | Splinter Review
Perhaps Based on selection?
Summary: [HELP WANTED] Filter after the fact (run filters on mail you've already received) → Filter after the fact (run filters on mail you've already received)
Whiteboard: HELP WANTED
Summary: Filter after the fact (run filters on mail you've already received) → [HELP WANTED] Filter after the fact (run filters on mail you've already received)
Target Milestone: M15
marking m15.

Updated

19 years ago
QA Contact: lchiang → laurel
Blocks: 9417
A superset of this is bug 9417.  Marking dependency, mark as dupe if you want.
(Assignee)

Comment 3

19 years ago
*** Bug 10885 has been marked as a duplicate of this bug. ***
Would anyone mind if I put HELP WANTED on 9417?

Comment 5

19 years ago
Bulk-resolving requests for enhancement as "later" to get them off the Seamonkey
bug tracking radar. Even though these bugs are not "open" in bugzilla, we
welcome fixes and improvements in these areas at any time. Mail/news RFEs
continue to be tracked on http://www.mozilla.org/mailnews/jobs.html

Comment 6

19 years ago
Reopen mail/news HELP WANTED bugs and reassign to nobody@mozilla.org

Updated

19 years ago
Keywords: helpwanted

Updated

19 years ago
Summary: [HELP WANTED] Filter after the fact (run filters on mail you've already received) → Filter after the fact (run filters on mail you've already received)
Whiteboard: HELP WANTED

Updated

19 years ago
Target Milestone: M15

Comment 7

18 years ago
*** Bug 61917 has been marked as a duplicate of this bug. ***
Keywords: mozilla1.2

Comment 8

17 years ago
*** Bug 82237 has been marked as a duplicate of this bug. ***

Comment 9

17 years ago
*** Bug 83986 has been marked as a duplicate of this bug. ***

Comment 10

17 years ago
*** Bug 84366 has been marked as a duplicate of this bug. ***

Comment 11

17 years ago
I believe this should be naving's. (We talked about it the other day.) Reassign.
Assignee: nobody → naving
Component: Mail Back End → Filters
Keywords: mozilla1.0

Comment 12

17 years ago
*** Bug 65136 has been marked as a duplicate of this bug. ***

Comment 13

17 years ago
*** Bug 87855 has been marked as a duplicate of this bug. ***

Comment 14

17 years ago
fixing summary to catch more cases in queries.
Summary: Filter after the fact (run filters on mail you've already received) → Filter after the fact (run filters on mail you've already received - apply filters on the fly)

Comment 15

17 years ago
*** Bug 88210 has been marked as a duplicate of this bug. ***

Comment 16

17 years ago
*** Bug 45609 has been marked as a duplicate of this bug. ***

Comment 17

17 years ago
If anyone is not working on this then I will tackle it. I want to be able to 
set a filter up that will automatically move my mail to subfolders of sent-mail 
that are dated each month so I will have:

+ sent-mail
   sent-mail-jan-2001
   sent-mail-feb-2001
   sent-mail-mar-2001

and so on and so forth. I figure I will have to implement filter after the fact 
for this as well as extend the current filter creation GUI to allow for 
creating new folders. Also it would be nice if the folders were in date order 
rather than alpha order in the UI as they are now. Not sure how we could do 
that in a general way though.

Comment 18

17 years ago
Simple to order folders by date: Name them "Sent-Mail-2001-01, ..-2001-02, etc.
A more powerful filtering mechanism would allow a script to run on each message
so you could grab the date and synthesize the folder name!

Comment 19

17 years ago
*** Bug 90979 has been marked as a duplicate of this bug. ***

Updated

17 years ago
Keywords: mostfreq

Comment 20

17 years ago
True but that is rather inflexible... A user might not like to have them in 
this order. They may like September-2001 or Sept-2001 and it would be nice if 
it handled it. Your suggestion is probably what I will use though...

Comment 21

17 years ago
*** Bug 91690 has been marked as a duplicate of this bug. ***

Comment 22

17 years ago
*** Bug 94097 has been marked as a duplicate of this bug. ***

Comment 23

17 years ago
*** Bug 98986 has been marked as a duplicate of this bug. ***

Comment 24

17 years ago
Targetting this for 0.9.6, may get to it earlier. There are some other 
things that need to be done before we can do this one. 
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.6

Comment 25

17 years ago
*** Bug 100711 has been marked as a duplicate of this bug. ***
I really need this -- I just switched to Mozilla, so I have 7000 e-mails in my
INBOX that I would like to filter! :-)
Whiteboard: [Hixie-P0][Hixie-1.0]

Comment 27

17 years ago
ian - there's a hacky workaround to achieve the affect - I've used it once or twice:
- go to your INBOX, select all, and mark them all unread.
- quit mozilla
- go into the IMAP mail folder for that server, and delete INBOX.msf and (if
it's there) INBOX.
- start up mozilla and log back in.

it will think your inbox was previously empty, and that you just recieved 7000
email...

Comment 28

17 years ago
Re: Hackey work-around from alecf@netscape.com -
That isn't much help if one isn't using IMAP, or if the messages were already
deleted from the server.  

Comment 29

17 years ago
oops, I should have mentioned that the hack was IMAP only.. it wasn't intended
as a replacement, just as a hack in case someone wanted to do this TODAY instead
of waiting for this bug to be fixed :)

Updated

17 years ago
Blocks: 102231

Comment 30

17 years ago
*** Bug 104246 has been marked as a duplicate of this bug. ***

Comment 31

17 years ago
nominating
Keywords: nsbeta1

Comment 32

17 years ago
Are we going to allow filter after the fact to work on inbox or on all 
folders under that account. It makes sense to do only for inbox. jglick, 
do we have a spec for this feature. 

Comment 33

17 years ago
I think it makes a lot of sense for it to run on folders other than the inbox..
I would use that feature all the time if I could. For instance, I have a
subfolder "Outside" which contains all non-netscape.com mail. I'd sure love to
re-filter that mail into subfolders...
Unless there's a major technical hurdle (I can't think of one), it may as well
be generic enough to run on any folder ... but yes, if it's just done for Inbox
that will be sufficient for 90% of people I think.

Comment 35

17 years ago
I definitely think, if as jkeiser says, it's not too much of a problem, that
this should be doable on any/all folders of an account.

Comment 36

17 years ago
It logical to allow filtering of any *selected* folder. why shouldn't you do 
that for other if you can for inbox? To avoid painful accidents I'd maybe vote 
for having a warning or confirmation box before processing folders other than 
inbox.

Comment 37

17 years ago
If it could filter also newsgroup folders that would solve another ancient bug
17483.

Comment 38

17 years ago
Filter spec is here:
http://www.mozilla.org/mailnews/specs/filters/#Msg Filters D

It was never discussed whether filter after the fact should include subfolders 
or not (cause we never got close enough to having it working?). Maybe the ui 
needs to be changed to allow the user to select what folder(s) they want the 
filter run on?

Comment 39

17 years ago
Created attachment 54316 [details]
design doc

Updated

17 years ago
Attachment #54316 - Attachment is obsolete: true

Updated

17 years ago
Attachment #54316 - Attachment is obsolete: false
Attachment #54316 - Attachment mime type: text/plain → text/html

Comment 40

17 years ago
david/seth, what do you think about design doc ?

Comment 41

17 years ago
Personally, I'd like to see this feature as a menu item in the "Message" menu.
It should filter all the currently selected messages.

Comment 42

17 years ago
Responding to the Design Doc:
* "enabled filters" --> "selected filter(s)"  I don't know about anyone else but
I have a pretty big list to run down twiddling the enabled flag.

* Modal progress indicator could be per-folder similar to the way some install
programs show a "per-disk" progress.

* I'm not sure why you need do anything special to accomodate arbitrary headers
-- the list of headers /in the query/ are not at all unknown.  There's so much
variation in headers already I don't imagine there's any difficulty if messages
don't have an instance of the header in question.

I don't know IMAP but how is that done now?  This looks to me identical to
running a search query - maybe allowing a more complex search or more complex
actions.

Comment 43

17 years ago
I think we need to rethink the UI.  I don't think that going to the filters
dialog and doing this action should run this filter on every single folder in an
account.

Here are some suggestions (and they might have already been suggested, I've just
glanced through this bug).

1.  If you do this through the filter dialog it just runs it on the Inbox in
that account.
2.  We add a menu item that lets you do this on the currently selected folder. 
The menu item would either bring up some new UI that would let you choose the
filter/folder (with current folder pre-selected), or the menu item would be a
menu with a list of filters for that account.

Some other possibilities that I'd like to throw out:

1.  Take it out of the filter dialog completely and just let it be executed from
a menu.
2.  If we leave it in the filter dialog, either let it bring up some UI that
lets you select the folder(s) the user wants to do this on or have some UI in
the filter dialogs that lets you choose the folder(s) the user wants to do this too.

Updated

17 years ago
Keywords: nsbeta1 → nsbeta1+
Priority: P3 → P2

Comment 44

17 years ago
Why not just do it similar to how Outlook Express does it?  Have a button in the 
filter area that says Apply Now...  You click on Apply Now, another UI comes up, 
you select the rule you want to apply, click the browse button to select the 
folder to apply it to (defaulting to Inbox), and click Apply Now.  We could also 
have the Select All and Select None buttons so that you can apply all your rules 
in one go if you so wished.  It even shows a description of what the rule does 
in a small window (basically just shows the rule itself).  There is also an 
include subfolders checkbox in case the chosen folder has subfolders.

In any case, let's not make it like GroupWise 5.5.  I don't know if GroupWise 6 
is any different, but in 5.5 you have to select all the messages you want the 
rule to apply to before you run the rule against existing messages.

Comment 45

17 years ago
I like the idea of a menu which displays the filter list for a folder:
Run filter on this folder > All filters
                            Filter 1
                            Filter 2

etc

of course the wording would need to be a bit more terse :)

Comment 46

17 years ago
I'd expect this feature to be that all filters be run on a selected folder, like
with new mail just that you can choose which folder(s).  Do we really need UI to
choose which filter to run too?

Comment 47

17 years ago
I always assumed I'd have the ability to pick which filter I wanted to run.  I
think we should have an option for all, but I think we should be able to choose
an individual filter as wel..

Comment 48

17 years ago
I don't think a menu item for each filter is a good UI, a dialog with a list of
filters could be better. The dialog could pre-select the filter you used last,
so that it would be easy to re-run a filter, e.g. after jumping into another
folder. (The Message|Move Message and Message|Copy Message menus have the same
problem and are really annoying.)

One thing I'd like to be considered is the relation between filters and message
searching. Manually run filters are essentially stored searches with attached
actions. Maybe the UI could be unified, e.g. have "Store as filter" in the
search dialog etc.

Updated

17 years ago
Target Milestone: mozilla0.9.6 → mozilla0.9.7

Updated

17 years ago
Target Milestone: mozilla0.9.7 → mozilla1.0

Comment 49

17 years ago
*** Bug 114608 has been marked as a duplicate of this bug. ***

Updated

17 years ago
Keywords: nsbeta1+ → nsbeta1-
Target Milestone: mozilla1.0 → mozilla1.2

Updated

17 years ago
No longer blocks: 102231

Comment 50

17 years ago
I'm sure you hear this all the time, but I really don't understand why it takes 
so long to implement this feature. IMO this is really a basic function which is 
essential for a 1.0 release and although I'm no programmer I can't see why this 
should be so difficult to implement. Please reconsider the target milestone.
Sorry for the rant.

simi

Comment 51

17 years ago
The milestone isn't going to be reconsidered as long as Navin owns the bug.  

You are right, it wouldn't take very long to implement this feature.  It's the
fact that there are about 3600 other mail bugs/features that prevent this from
getting implemented.

Comment 52

17 years ago
why not just open the mailfolder, and send each mail out via a loopback
interface back to myself to fire the mail filter rules? That should be easiest
to get the effects early. Talk about efficiency later...
Severity: normal → enhancement
Whiteboard: [Hixie-P0][Hixie-1.0] → [Hixie-P0]
*** Bug 122587 has been marked as a duplicate of this bug. ***
*** Bug 123502 has been marked as a duplicate of this bug. ***
Whiteboard: [Hixie-P0] → [Hixie-P0][Hixie-1.0]

Updated

17 years ago
Keywords: mail3

Comment 55

17 years ago
I feel that the default behavior should be apply all filters to the selected
folder(s) and any subfolders.  This would suffice for all of my needs.  I have
been extremely impressed by the way that KMail handles this.  This would allow
everything to be re-processed if one selected the mail server, but usually only
the inbox would be selected.  KMail only processes selected messages, and while
almost always sufficient it fails if one wants to process a hierarchy of
folders.  Perhaps there should be a switch to turn off recursive descent, though
I can only think of twice when I would have used such an option.

If one were to get fancier than that, then I would be more in favor of allowing
regular expressions into the recognitions semantics than most of the other
obvious options.  And some facility for filtering by character set family.  Or
language, but that seems more difficult, and it would generally suffice to
reject messages with several non-western european letters in a row.  I don't
read any language written in Cyrillic or Hiragana or ....  (I recognize that
this isn't actually a part of the same project, but it appears closely related,
and seems [to me] more worthy of the effort than complex dialogs, or rebuilding
the whole UI.  Also a lot simpler.)

Comment 56

16 years ago
*** Bug 136565 has been marked as a duplicate of this bug. ***

Comment 57

16 years ago
*** Bug 137908 has been marked as a duplicate of this bug. ***

Comment 58

16 years ago
*** Bug 139794 has been marked as a duplicate of this bug. ***
This bug seems to be about both the front end and the backend for refiltering
messages. IMO the backend should be a function that will apply a list of filters
to a mail folder. The frontend should be responsible to interact with the
user to find out which filters to apply, and to which folders and invoke the
backend as often as necessary to process all folders.
A first start for the frontend that would be trivial to implement is to
add a button "Run now" to the "tools"->"message filters" dialog that 
would simply run all enabled filters on the *currently viewed list of
messages*. I think the expected run now behaviour would be to only run the
filters on those messages that are displayed in the same window. 
Additional front ends for filtering folders recursively 
by right clicking on them etc. could be added later. 

Comment 60

16 years ago
To sum up, the current concensus seems to be:

* Have a button in the filter list dialog, clicking that will bring up another
dialog.
* The new dialog will have options like which folders to process, and which
filters (one specific or all) to use.
* Applying the filter(s) on the specified folder(s) will pop up a progress
dialog, similar to the one in compose, where you will be able to track the
progress of the filtering.

There are lots of cool additions we could make, but let's file new bugs for
those features, so we don't block the progress of the basic implementation.

BTW, when implementing this, we need to make sure we don't filter the same
messages multiple times; e.g., moving a message from folder A to folder B, and
then filtering the messsages in folder B would re-filter the moved message.

Comment 61

16 years ago
Actually, you could just put a progressbar on the options dialog, instead of
creating a new one, and use that when the filtering starts.

Comment 62

16 years ago
*** Bug 145630 has been marked as a duplicate of this bug. ***

Comment 63

16 years ago
*** Bug 146031 has been marked as a duplicate of this bug. ***

Comment 64

16 years ago
*** Bug 147162 has been marked as a duplicate of this bug. ***

Comment 65

16 years ago
*** Bug 147675 has been marked as a duplicate of this bug. ***

Comment 66

16 years ago
What about "remove messages put to this box more that X month ago" to trash?
Approximately like in KMail (there count received date - not put-into-theis-box
date).
One reason I want to 'filter after the fact' is that sometimes I read mail in
some other IMAP client.  Then I go back to Netscape, and my mail is all
un-categorized.

Comment 68

16 years ago
*** Bug 152200 has been marked as a duplicate of this bug. ***

Comment 69

16 years ago
I'm really confused/frustrated here.  I use IMAP and mail doesn't magically
"already exist/after the fact" in my folders.  folderXYZ is functionally exactly
the same as INBOX.  Why should they be processed any differently?

In other words, I use procmail to sort and deliver my mail to ~30 mailboxes.  I
don't use Mozilla to sort anything.  I have one filter rule:

If X-Bmilter contains "=True", then label as SPAM.

Most people I talk to appear to only be aware of how POP3 works and are really
unfamiliar with IMAP and the ability to have more than one mailbox on the
server.  IMAP lets you have your inbox plus any number of mailboxes...and even
lets you use public shared mailboxes.

All of these mailboxes are "new mail" that has to be downloaded.  Why aren't
filters applied to these mailboxes when mail is fetched?

Put at another angle, I don't want to have to a) fetch mail, b) open a menu for
each mailbox folder, c) run selected filters.  That's very tedious and time
consuming.

I want to be able to a) define a list of filters b) on each mailbox folder, be
able to pick which filters I want applied to that mailbox, normally [x] All

Discussion?

Comment 70

16 years ago
don't be frustrated. what you're talking about is a feature above and beyond the
scope of THIS bug. nobody could even begin to implement the feature you describe
without first implementing this one. file a new bug, and make it dependent on
this one.

Comment 71

16 years ago
I had already made 152200 and it was duped against this bug.  I'm reopening it.

Updated

16 years ago
Blocks: 152200

Comment 72

16 years ago
Re: comment 70 : what he is suggesting is not a  duplicate of this bug. He wants 
1) To be able to filter other mailboxes, not just Inbox. 
2) To be able to specify which filters apply to which mailboxes

He didn't ask about:
3) Apply such filters manually or automatically 

Clearly only 3) depends on this bug 

Comment 73

16 years ago
*** Bug 154002 has been marked as a duplicate of this bug. ***

Comment 74

16 years ago
What I feel would be best for filters:
- filters should be applicable on the two "flows" of email, which are "into
account" (therefore when mail comes into the main inbox) and "out of account"
(ie when being sent).
- in addition to that, the user should be able to manually apply (or reapply)
filters on any folder (including inbox, sent,...: this is useful, amongst
others,  if you read occasionally your mail with another mail client, which does
not know about your filters and therefore moves all your incoming mail into the
inbox without filtering)

Comment 75

16 years ago
Please, this bug is not a general bugs where you can ask for new features. File
new bugs for new features. This bug *only* tracks the ground work that needs to
be done to allow to run filters on an arbitrary folder per comment 60.

Do not comment here - file new bugs.

Comment 76

16 years ago
Just an FYI for you Vincent, (comment 74) there are only two "flows" of email
for pop3 accounts.  imap can have numerous mailboxes.  Please read over bug
115200 that was referenced in comment 68 through comment 72.

Comment 77

16 years ago
*** Bug 159093 has been marked as a duplicate of this bug. ***

Comment 78

16 years ago
*** Bug 163446 has been marked as a duplicate of this bug. ***
(Assignee)

Comment 79

16 years ago
taking; I've got this mostly coded up.
Assignee: naving → bienvenu
Status: ASSIGNED → NEW

Comment 80

16 years ago
Cool :) Go Bienvenu!

Updated

16 years ago
Blocks: 163993
(Assignee)

Comment 81

16 years ago
Created attachment 98468 [details] [diff] [review]
work in progress on this

this is what I have so far - it's not ready to checkin, but it shows the basic
approach.
I chose the Search approach (as opposed to iterating over the msg hdrs applying
the filters in turn) because, now that, thx to Navin, we have custom imap
headers,  we can't just use the hdrs stored in the db, and if we had to
download the extra headers from the server anyway, we might as well just do the
search on the server. This approach allows the code to be completely generic -
we don't care if the filters are on imap, local or news folders, because search
handles all of those, and the filter action application is handled by
nsIMsgFolder interfaces. By getting all the search results back before applying
the filter , we can apply the action all at once. And Search has the nice
attribute of already being asynchronous so it doesn't lock up the UI.

The backend code supports applying an arbitrary list of filters to an arbitrary
list of folders. I have a lot of testing to do, and I need to improve the error
handling code - we might want to prompt the user if filter execution fails to
see if they want to continue or not, for example.

I also need to incorporate the filter logging stuff that Seth has been working
on.

Comment 82

16 years ago
Call me crazy, but I sometimes use search from an offline state - does that mean
that I can apply filters while offline as well? That would be very cool..
(Assignee)

Comment 83

16 years ago
yes, forgot to mention that, it should just work while offline because Search
detects when you're offline (except that custom headers won't work because we
won't have them).

Another detail about the interface - I only apply the enabled filters, so if the
UI  allows the user to select disabled filters to run, when the UI code copies
the filters to a new list, it needs to enable them.

Comment 84

16 years ago
*** Bug 167922 has been marked as a duplicate of this bug. ***

Comment 85

16 years ago
will this make it into 1.2?
(Assignee)

Comment 86

16 years ago
it should make the 1.2 beta and then 1.2 - it won't make the 1.2 alpha, obviously.
(Assignee)

Comment 87

16 years ago
Created attachment 98938 [details] [diff] [review]
proposed fix

This patch is ready for review, I believe.

I tested the following things:

IMAP filters, local filters, filter logging, single filter execution, multiple
filter execution (can't test execution on multiple folders yet since there's no
UI for it). I've verified that if the local .msf file is missing or out of
date, we'll reparse the mailbox and then apply the filters. I've also verified
that the nsMsgFilterAfterTheFact object does get released when done, and that
in the cae of the server being down, an error message is displayed; then ask
the user if they want to continue filter execution or not. 

There are a couple issues outstanding - the PAB presence filter stuff Scott is
landing, and handling of the stop button, but I need Seth to do the UI for that
first and it's pretty useful as is.


Navin, can you review? Thx!

Comment 88

16 years ago
Comment on attachment 98938 [details] [diff] [review]
proposed fix

why are we using temp filter list ? why not just iterate over enabled filters
in the original filterList. 

Also before doing filter move you might want to check for bogus folders

Comment 89

16 years ago
missing new line at end of filter.properties
(Assignee)

Comment 90

16 years ago
Navin, I initially implemented it the way you suggest, but ran into the problem
that if the user selects disabled filters in the filter dialog to apply, we'd
need to clone the filters in order to enable them and run them. Cloning filters
would be painful if you did a deep clone because of all the member variables in
the filter and rule, so it was easier to do it the way I ended up rewriting it.

It would be hard to get an invalid folder from the filter picker or the folder
pane but I can try to verify it - check for null parent, you think?
(Assignee)

Comment 91

16 years ago
oh, sorry, the move target - yeah, I can try to verify that.
(Assignee)

Comment 92

16 years ago
Created attachment 98977 [details] [diff] [review]
proposed fix

patch to address Navin's comments (and fix menu item text for apply filter
after the fact).
Attachment #98468 - Attachment is obsolete: true
Attachment #98938 - Attachment is obsolete: true

Comment 93

16 years ago
Comment on attachment 98977 [details] [diff] [review]
proposed fix

r=naving looks good. I saw UI is already in but looks like it is not hooked
upto select which filters I want to run.
Attachment #98977 - Flags: review+
(Assignee)

Comment 94

16 years ago
right, Seth checked in the UI w/o it being hooked up, so that clicking the run
button did nothing.

Comment 95

16 years ago
No, I meant if I want to apply 1st, 3rd and 5th filter out of 6 filters I have.
Your code does not handle that. It adds all enabled filters to the temp filter
list. 
Comment on attachment 98977 [details] [diff] [review]
proposed fix

sr=sspitzer

laurel is going to be so happy!  how many years have we wanted this?
Attachment #98977 - Flags: superreview+
(Assignee)

Comment 97

16 years ago
it shouldn't - I thought it was just iterating over the filters in the
selection. It looks like to me it's just going over the selection.
(Assignee)

Comment 98

16 years ago
in FilterListDialog.js, this code iterates over the selected filters in the
filter list (Seth actually wrote this, so I can't take any credit for it)

  var sel = gFilterTree.view.selection;
  for (var i = 0; i < sel.getRangeCount(); i++) {
    var start = {}, end = {};
    sel.getRangeAt(i, start, end);
    for (var j = start.value; j <= end.value; j++) {
      var curFilter = getFilter(j);
      if (curFilter)
      {
        filterList.insertFilterAt(start.value - j, curFilter);
      }
    }
  }

Comment 99

16 years ago
It is ok I saw the part of the patch for mailWindowOverlay.js. It is right you 
have no way of selecting filters here. 

Index: base/resources/content/mailWindowOverlay.js
===================================================================
RCS file: /cvsroot/mozilla/mailnews/base/resources/content/mailWindowOverlay.js,v
retrieving revision 1.131
diff -u -w -r1.131 mailWindowOverlay.js
--- base/resources/content/mailWindowOverlay.js	14 Aug 2002 22:12:13 -0000	1.131
+++ base/resources/content/mailWindowOverlay.js	12 Sep 2002 23:44:01 -0000
@@ -1216,6 +1216,39 @@
     }
 }
 
+function MsgApplyFilters()
+{
+  var filterService =
Components.classes["@mozilla.org/messenger/services/filters;1"].getService(Components.interfaces.nsIMsgFilterService);
+
+  var preselectedFolder = GetFirstSelectedMsgFolder();
+  var selectedFolders =
Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
+  selectedFolders.AppendElement(preselectedFolder);
+         
+  var curFilterList = preselectedFolder.getFilterList(msgWindow);
+  // create a new filter list and copy over the enabled filters to it.
+  // We do this instead of having the filter after the fact code ignore
+  // disabled filters because the Filter Dialog filter after the fact
+  // code would have to clone filters to allow disabled filters to run,
+  // and we don't support cloning filters currently.
+  var tempFilterList = filterService.getTempFilterList(preselectedFolder);
+  var numFilters = curFilterList.filterCount;
+  // make sure the temp filter list uses the same log stream
+  tempFilterList.logStream = curFilterList.logStream;
+  tempFilterList.loggingEnabled = curFilterList.loggingEnabled;
+  var i = 0; 
+  var newFilterIndex = 0;
+  for (; i < numFilters; i++)
+  {
+    var curFilter = curFilterList.getFilterAt(i);
+    if (curFilter.enabled)
+    {
+      tempFilterList.insertFilterAt(newFilterIndex, curFilter);
+      newFilterIndex++;
+    }
+  }
+  filterService.applyFiltersToFolders(tempFilterList, selectedFolders, msgWindow);
+}
(Assignee)

Comment 100

16 years ago
fix checked in. Follow up issues will be handled by new bugs.
Status: NEW → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED

Comment 101

16 years ago
bienvenu wrote:
> fix checked in. Follow up issues will be handled by new bugs.

What's the bugid for the "nebiros"-bustage on tinderbox ? 
(Assignee)

Comment 102

16 years ago
I believe it's been fixed already by mkapply.
*** Bug 171457 has been marked as a duplicate of this bug. ***

Comment 104

16 years ago
marking verified using current trunk builds... implementation in, bugs found
will be logged separately.
Status: RESOLVED → VERIFIED

Updated

16 years ago
Blocks: 66425
Product: MailNews → Core

Updated

13 years ago
No longer blocks: 163993
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.