Filters dialog box :
the left side is the list of all filters. The right side is a 2-pages notebook describing the currently selected filter.

- To set up a new filter : you push the new button (at the bottom left part of the dialog), it creates an empty filter named "New Filter". Then you must change the filter name (the text entry at the top of the right part of the dialog), then choose the operator (OR/AND) to apply on the conditions you also have to set up to build the filter (see below for more on this). Next you go to the "action" page where you specify what to do on match (see below for more on this).
When you're done you push the "big" apply button (at the bottom of the dialog) to validate the filter (ie the new filter is actually built with all widgets contents). If you select another filter before pushing apply button, all your changes will be lost (same as pushing the revert button on the bottom right).

- To edit a filter : you select the filter and follow the same steps as when setting up a new filter.

Description of filters, how to construct a filter
A filter is 2 separate things :
- a Match part : a list of conditions (could be regular expressions, simple substring match, date match, message flag match,...) that are tested on each message to see if it matches (the filter specifies which operator to apply between the conditions : OR/AND).
- an action part : what to do when the message matches the filter conditions. For now : move/copy/trash the matching messages.

To construct a filter you thus have to set up the conditions list, and the action; these 2 steps have their corresponding page in the notebook on the right side of the dialog.
The action page is really simple, the only thing you have to know is that the text pop-up and sound emission are not yet implemented :). Moreover when you choose move/copy action, you have to fill the text entry with the name of the destination mailbox.

The match page is a bit trickier (and I hope someone will come up with GUI enhancement, I have no time to think more on this).
You have a list containing the type of all the conditions (simple for substring match,regular expressions,command but this one is not implemented because of security problems,date for message date matching,flag for message flag matching ie messages that have been replied to or flagged or unread).

To set up a new condition : you push the new button (the "small" one under the conditions list), it creates an empty "simple" condition.
Then you have to choose the fields concerned by the conditions (this is useless for date/flag conditions) : from,to,cc,subject fields of the header and the body (all part that is convertible to text).
Next (or perhaps first) you have to choose the type of conditions, then depending of the choosen type the bottom part of the dialog will show widgets that you have to fill to describe the conditions (eg for a "simple" condition you will have a text entry that you will fill with the substring to be contained in the specified fields, for a regular expression condition a list will show up that you have to fill with the regular expression to be tested on the message...). For all type you have a common button (but with different names :-), that lets you tell if you want the condition to match on success or on failure (ie it's a NOT operator).
When you're done you have to push the "small" apply button (just below the conditions list) to validate the condition. Like the filter setting up, if you select another condition before validating the one being edited you'll loose all your changes (like when you push the "small" revert button).

I hope this clarifies a bit the UI for this dialog box. I'm not really satisfied with it for now, so any comment, criticism (constructive I mean ;-) will be really appreciated.

PS : excuse my poor english that, as you have guessed it, is not my mother tongue :)