aboutsummaryrefslogtreecommitdiffstats
path: root/mail/filtertypes.xml
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-06-17 15:34:50 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-06-17 15:34:50 +0800
commita218c7d2f7e86bccc7665a3c96569eb14d1c75da (patch)
tree1195c4ed2291f51c36d15125d32be3cc53b9822b /mail/filtertypes.xml
parent5d5f3b88c3ad76e0b81763f9c48b7fee84df2292 (diff)
downloadgsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar.gz
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar.bz2
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar.lz
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar.xz
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.tar.zst
gsoc2013-evolution-a218c7d2f7e86bccc7665a3c96569eb14d1c75da.zip
** See #59885.
2004-06-17 Not Zed <NotZed@Ximian.com> ** See #59885. ** Moved all of the mail specific filtering stuff from filter/* to here. Renamed appropriately into em* space, etc. * em-filter-folder-element.c (emff_copy_value): implement for folders. * em-vfolder-rule.c (get_widget): read the vfolder glade from mail-config.glade. * mail-config.glade: moved the vfolder source selector here. * em-search-context.c: new mail search specific rule context. * mail-component.c (setup_search_context): use the new em_search_context. * vfolder-rule.c (validate): change error to mail context. * filter-folder.c (validate): change error to mail context. * Makefile.am (em-filter-i18n.h): added rule for i18n of mail filter type stuff. (libevolution_mail_la_SOURCES): added in the filter and vfolder rule stuff specific to mail. ** See #59885. * em-format-html-quote.[ch]: remove and remove from build, not used. * Makefile.am (libevolution_mail_la_LIBADD): add libeabutil and evolutionsmime. * mail-component-factory.c (factory): there is no mail_config anymore. svn path=/trunk/; revision=26380
Diffstat (limited to 'mail/filtertypes.xml')
-rw-r--r--mail/filtertypes.xml746
1 files changed, 746 insertions, 0 deletions
diff --git a/mail/filtertypes.xml b/mail/filtertypes.xml
new file mode 100644
index 0000000000..dffa4e965f
--- /dev/null
+++ b/mail/filtertypes.xml
@@ -0,0 +1,746 @@
+<?xml version="1.0"?>
+<filterdescription>
+<partset>
+ <part name="sender">
+ <title>Sender</title>
+ <input type="optionlist" name="sender-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains "From" ${sender}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains "From" ${sender})))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-matches "From" ${sender}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-matches "From" ${sender})))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (header-starts-with "From" ${sender}))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (header-starts-with "From" ${sender})))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (header-ends-with "From" ${sender}))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (header-ends-with "From" ${sender})))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (header-soundex "From" ${sender}))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (header-soundex "From" ${sender})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="sender"/>
+ </part>
+
+ <part name="to">
+ <title>Recipients</title>
+ <input type="optionlist" name="recipient-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (or (header-contains "To" ${recipient})
+ (header-contains "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (or
+ (header-contains "To" ${recipient})
+ (header-contains "Cc" ${recipient}))))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (or (header-matches "To" ${recipient})
+ (header-matches "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (or
+ (header-matches "To" ${recipient})
+ (header-matches "Cc" ${recipient}))))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (or (header-starts-with "To" ${recipient})
+ (header-starts-with "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (or
+ (header-starts-with "To" ${recipient})
+ (header-starts-with "Cc" ${recipient}))))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (or (header-ends-with "To" ${recipient})
+ (header-ends-with "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (or
+ (header-ends-with "To" ${recipient})
+ (header-ends-with "Cc" ${recipient}))))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (or (header-soundex "To" ${recipient})
+ (header-soundex "Cc" ${recipient})))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (or
+ (header-soundex "To" ${recipient})
+ (header-soundex "Cc" ${recipient}))))
+ </code>
+ </option>
+ </input>
+ <input type="address" name="recipient"/>
+ </part>
+
+ <part name="subject">
+ <title>Subject</title>
+ <input type="optionlist" name="subject-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains "Subject" ${subject})))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-matches "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-matches "Subject" ${subject})))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (header-starts-with "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (header-starts-with "Subject" ${subject})))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (header-ends-with "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (header-ends-with "Subject" ${subject})))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (header-soundex "Subject" ${subject}))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (header-soundex "Subject" ${subject})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="subject"/>
+ </part>
+
+ <part name="header">
+ <title>Specific header</title>
+ <input type="string" name="header-field"/>
+ <input type="optionlist" name="header-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains ${header-field} ${word}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains ${header-field} ${word})))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-matches ${header-field} ${word}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-matches ${header-field} ${word})))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (header-starts-with ${header-field} ${word}))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (header-starts-with ${header-field} ${word})))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (header-ends-with ${header-field} ${word}))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (header-ends-with ${header-field} ${word})))
+ </code>
+ </option>
+ <option value="exists">
+ <title>exists</title>
+ <code>
+ (match-all (header-exists ${header-field}))
+ </code>
+ </option>
+ <option value="not exists">
+ <title>does not exist</title>
+ <code>
+ (match-all (not (header-exists ${header-field})))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (header-soundex ${header-field} ${word}))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (header-soundex ${header-field} ${word})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="word"/>
+ </part>
+
+ <part name="body">
+ <title>Message Body</title>
+ <input type="optionlist" name="body-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (body-contains ${word})
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (body-contains ${word})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="word"/>
+ </part>
+
+ <part name="sexp">
+ <title>Expression</title>
+ <input type="code" name="code"/>
+ </part>
+
+ <part name="sent-date">
+ <title>Date sent</title>
+ <input type="optionlist" name="date-spec-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (= (get-sent-date) ${versus}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>is not</title>
+ <code>
+ (match-all (not (= (get-sent-date) ${versus})))
+ </code>
+ </option>
+ <option value="before">
+ <title>is before</title>
+ <code>
+ (match-all (&lt; (get-sent-date) ${versus}))
+ </code>
+ </option>
+ <option value="after">
+ <title>is after</title>
+ <code>
+ (match-all (&gt; (get-sent-date) ${versus}))
+ </code>
+ </option>
+ </input>
+ <input type="datespec" name="versus"/>
+ </part>
+
+ <part name="recv-date">
+ <title>Date received</title>
+ <input type="optionlist" name="date-spec-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (= (get-received-date) ${versus}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>is not</title>
+ <code>
+ (match-all (not (= (get-received-date) ${versus})))
+ </code>
+ </option>
+ <option value="before">
+ <title>is before</title>
+ <code>
+ (match-all (&lt; (get-received-date) ${versus}))
+ </code>
+ </option>
+ <option value="after">
+ <title>is after</title>
+ <code>
+ (match-all (&gt; (get-received-date) ${versus}))
+ </code>
+ </option>
+ </input>
+ <input type="datespec" name="versus"/>
+ </part>
+
+ <part name="label">
+ <title>Label</title>
+ <input type="optionlist" name="label-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (= (user-tag "label") ${versus}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>is not</title>
+ <code>
+ (match-all (not (= (user-tag "label") ${versus})))
+ </code>
+ </option>
+ </input>
+ <input type="label" name="versus"/>
+ </part>
+
+ <part name="score">
+ <title>Score</title>
+ <input type="optionlist" name="score-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (= (cast-int (user-tag "score")) ${versus}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>is not</title>
+ <code>
+ (match-all (not (= (cast-int (user-tag "score")) ${versus})))
+ </code>
+ </option>
+ <option value="greater-than">
+ <title>is greater than</title>
+ <code>
+ (match-all (&gt; (cast-int (user-tag "score")) ${versus}))
+ </code>
+ </option>
+ <option value="less-than">
+ <title>is less than</title>
+ <code>
+ (match-all (&lt; (cast-int (user-tag "score")) ${versus}))
+ </code>
+ </option>
+ </input>
+ <input type="score" name="versus"/>
+ </part>
+
+ <part name="size">
+ <title>Size (kB)</title>
+ <input type="optionlist" name="size-type">
+ <option value="greater-than">
+ <title>is greater than</title>
+ <code>
+ (match-all (&gt; (get-size) ${versus}))
+ </code>
+ </option>
+ <option value="less-than">
+ <title>is less than</title>
+ <code>
+ (match-all (&lt; (get-size) ${versus}))
+ </code>
+ </option>
+ </input>
+ <input type="integer" name="versus"/>
+ </part>
+
+ <part name="status">
+ <title>Status</title>
+ <input type="optionlist" name="match-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (system-flag ${flag}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (system-flag ${flag})))
+ </code>
+ </option>
+ </input>
+ <input type="optionlist" name="flag">
+ <option value="Answered">
+ <title>Replied to</title>
+ </option>
+ <option value="Draft">
+ <title>Draft</title>
+ </option>
+ <option value="Flagged">
+ <title>Important</title>
+ </option>
+ <option value="Seen">
+ <title>Read</title>
+ </option>
+ <option value="Junk">
+ <title>Junk</title>
+ </option>
+ </input>
+ </part>
+
+ <part name="follow-up">
+ <title>Follow Up</title>
+ <input type="optionlist" name="match-type">
+ <option value="is">
+ <title>is Flagged</title>
+ <code>
+ (match-all (not (= (user-tag "follow-up") "")))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not Flagged</title>
+ <code>
+ (match-all (= (user-tag "follow-up") ""))
+ </code>
+ </option>
+ </input>
+ </part>
+
+ <part name="attachments">
+ <title>Attachments</title>
+ <input type="optionlist" name="match-type">
+ <option value="exist">
+ <title>Exist</title>
+ <code>
+ (match-all (system-flag "Attachments"))
+ </code>
+ </option>
+ <option value="not exist">
+ <title>Do Not Exist</title>
+ <code>
+ (match-all (not (system-flag "Attachments")))
+ </code>
+ </option>
+ </input>
+ </part>
+
+ <part name="mlist">
+ <title>Mailing list</title>
+ <input type="optionlist" name="mlist-type">
+ <option value="is">
+ <title>is</title>
+ <code>(match-all (header-matches "x-camel-mlist" ${mlist}))</code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>(match-all (not (header-matches "x-camel-mlist" ${mlist})))</code>
+ </option>
+ <option value="contains">
+ <title>contains</title>
+ <code>(match-all (header-contains "x-camel-mlist" ${mlist}))</code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>(match-all (not (header-contains "x-camel-mlist" ${mlist})))</code>
+ </option>
+ </input>
+ <input type="string" name="mlist"/>
+ </part>
+
+ <part name="regex">
+ <title>Regex Match</title>
+ <input type="optionlist" name="match-type">
+ <option value="header">
+ <title>Message Header</title>
+ <code>
+ (match-all (header-full-regex ${expression}))
+ </code>
+ </option>
+ <option value="body">
+ <title>Message Body</title>
+ <code>
+ (match-all (body-regex ${expression}))
+ </code>
+ </option>
+ </input>
+ <input type="regex" name="expression"/>
+ </part>
+
+ <part name="source">
+ <title>Source Account</title>
+ <input type="optionlist" name="srcmatch-type">
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-source ${source}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-source ${source})))
+ </code>
+ </option>
+ </input>
+ <input type="source" name="source"/>
+ </part>
+
+ <part name="pipe">
+ <title>Pipe to Program</title>
+ <input type="command" name="command"/>
+ <input type="optionlist" name="retval-type">
+ <option value="is">
+ <title>returns</title>
+ <code>
+ (match-all (= (pipe-message "/bin/sh" "-c" ${command}) ${retval}))
+ </code>
+ </option>
+ <option value="is-not">
+ <title>does not return</title>
+ <code>
+ (match-all (not (= (pipe-message "/bin/sh" "-c" ${command}) ${retval})))
+ </code>
+ </option>
+ <option value="greater-than">
+ <title>returns greater than</title>
+ <code>
+ (match-all (&gt; (pipe-message "/bin/sh" "-c" ${command}) ${retval}))
+ </code>
+ </option>
+ <option value="less-than">
+ <title>returns less than</title>
+ <code>
+ (match-all (&lt; (pipe-message "/bin/sh" "-c" ${command}) ${retval}))
+ </code>
+ </option>
+ </input>
+ <input type="integer" name="retval"/>
+ </part>
+
+ <part name="junk">
+ <title>Junk Test</title>
+ <input type="optionlist" name="retval-type">
+ <option value="is-junk">
+ <title>Message is Junk</title>
+ <code>
+ (match-all (junk-test))
+ </code>
+ </option>
+ <option value="is-not-junk">
+ <title>Message is not Junk</title>
+ <code>
+ (match-all (not (junk-test)))
+ </code>
+ </option>
+ </input>
+ </part>
+
+</partset>
+
+
+<actionset>
+ <part name="move-to-folder">
+ <title>Move to Folder</title>
+ <code>(move-to ${folder})</code>
+ <input type="folder" name="folder"/>
+ </part>
+ <part name="copy-to-folder">
+ <title>Copy to Folder</title>
+ <code>(copy-to ${folder})</code>
+ <input type="folder" name="folder"/>
+ </part>
+ <part name="delete">
+ <title>Delete</title>
+ <code>(delete)</code>
+ </part>
+ <part name="stop">
+ <title>Stop Processing</title>
+ <code>(stop)</code>
+ </part>
+ <part name="colour">
+ <title>Assign Color</title>
+ <code>(set-colour ${colour})</code>
+ <input type="colour" name="colour"/>
+ </part>
+ <part name="score">
+ <title>Assign Score</title>
+ <code>(set-score ${score})</code>
+ <input type="score" name="score"/>
+ </part>
+ <part name="adj-score">
+ <title>Adjust Score</title>
+ <code>(adjust-score ${score})</code>
+ <input type="score" name="score"/>
+ </part>
+ <part name="set-status">
+ <title>Set Status</title>
+ <code>
+ (set-system-flag ${flag})
+ </code>
+ <input type="optionlist" name="flag">
+ <option value="Answered">
+ <title>Replied to</title>
+ </option>
+ <option value="Deleted">
+ <title>Deleted</title>
+ </option>
+ <option value="Draft">
+ <title>Draft</title>
+ </option>
+ <option value="Flagged">
+ <title>Important</title>
+ </option>
+ <option value="Seen">
+ <title>Read</title>
+ </option>
+ <option value="Junk">
+ <title>Junk</title>
+ </option>
+ </input>
+ </part>
+ <part name="unset-status">
+ <title>Unset Status</title>
+ <code>
+ (unset-system-flag ${flag})
+ </code>
+ <input type="optionlist" name="flag">
+ <option value="Answered">
+ <title>Replied to</title>
+ </option>
+ <option value="Deleted">
+ <title>Deleted</title>
+ </option>
+ <option value="Draft">
+ <title>Draft</title>
+ </option>
+ <option value="Flagged">
+ <title>Important</title>
+ </option>
+ <option value="Seen">
+ <title>Read</title>
+ </option>
+ <option value="Junk">
+ <title>Junk</title>
+ </option>
+ </input>
+ </part>
+ <part name="beep">
+ <title>Beep</title>
+ <code>(beep)</code>
+ </part>
+ <part name="play-sound">
+ <title>Play Sound</title>
+ <code>(play-sound ${sound})</code>
+ <input type="file" name="sound"/>
+ </part>
+ <part name="shell">
+ <title>Run Program</title>
+ <code>(shell "/bin/sh" "-c" ${command})</code>
+ <input type="command" name="command"/>
+ </part>
+ <part name="pipe">
+ <title>Pipe to Program</title>
+ <code>(pipe-message "/bin/sh" "-c" ${command})</code>
+ <input type="command" name="command"/>
+ </part>
+</actionset>
+</filterdescription>