aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-12-03 20:28:17 +0800
committerMilan Crha <mcrha@redhat.com>2012-12-03 20:28:17 +0800
commit2074c0b628cfd2cebbbcf7db36cd5ece9f00accf (patch)
treedef9b2b81c0bfa9e348bb7de36331d4effa74b3b
parent09893a473bebc1a1e607aedd12245f735d93deff (diff)
downloadgsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar.gz
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar.bz2
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar.lz
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar.xz
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.tar.zst
gsoc2013-evolution-2074c0b628cfd2cebbbcf7db36cd5ece9f00accf.zip
Bug #529743 - Add "Any header" filter and search folder condition
-rw-r--r--mail/em-filter-i18n.h1
-rw-r--r--mail/searchtypes.xml79
-rw-r--r--mail/vfoldertypes.xml79
3 files changed, 159 insertions, 0 deletions
diff --git a/mail/em-filter-i18n.h b/mail/em-filter-i18n.h
index 8ce1da2fdb..855f2f2d3f 100644
--- a/mail/em-filter-i18n.h
+++ b/mail/em-filter-i18n.h
@@ -1,5 +1,6 @@
/* Automatically generated. Do not edit. */
gchar *s = N_("Adjust Score");
+gchar *s = N_("Any header");
gchar *s = N_("Assign Color");
gchar *s = N_("Assign Score");
gchar *s = N_("Attachments");
diff --git a/mail/searchtypes.xml b/mail/searchtypes.xml
index bf933d8342..02f84e40c0 100644
--- a/mail/searchtypes.xml
+++ b/mail/searchtypes.xml
@@ -554,6 +554,85 @@
<input type="string" name="word"/>
</part>
+ <part name="anyheader">
+ <title>Any header</title>
+ <input type="optionlist" name="header-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains "" ${word}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains "" ${word})))
+ </code>
+ </option>
+ <option value="has-words">
+ <title>has words</title>
+ <code>
+ (match-all (header-has-words "" ${word}))
+ </code>
+ </option>
+ <option value="not has-words">
+ <title>does not have words</title>
+ <code>
+ (match-all (not (header-has-words "" ${word})))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-matches "" ${word}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-matches "" ${word})))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (header-starts-with "" ${word}))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (header-starts-with "" ${word})))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (header-ends-with "" ${word}))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (header-ends-with "" ${word})))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (header-soundex "" ${word}))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (header-soundex "" ${word})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="word"/>
+ </part>
+
<part name="body">
<title>Message Body</title>
<input type="optionlist" name="body-type">
diff --git a/mail/vfoldertypes.xml b/mail/vfoldertypes.xml
index 9195271c9c..d8c6ea5931 100644
--- a/mail/vfoldertypes.xml
+++ b/mail/vfoldertypes.xml
@@ -550,6 +550,85 @@
<input type="string" name="word"/>
</part>
+ <part name="anyheader">
+ <title>Any header</title>
+ <input type="optionlist" name="header-type">
+ <option value="contains">
+ <title>contains</title>
+ <code>
+ (match-all (header-contains "" ${word}))
+ </code>
+ </option>
+ <option value="not contains">
+ <title>does not contain</title>
+ <code>
+ (match-all (not (header-contains "" ${word})))
+ </code>
+ </option>
+ <option value="has-words">
+ <title>has words</title>
+ <code>
+ (match-all (header-has-words "" ${word}))
+ </code>
+ </option>
+ <option value="not has-words">
+ <title>does not have words</title>
+ <code>
+ (match-all (not (header-has-words "" ${word})))
+ </code>
+ </option>
+ <option value="is">
+ <title>is</title>
+ <code>
+ (match-all (header-matches "" ${word}))
+ </code>
+ </option>
+ <option value="is not">
+ <title>is not</title>
+ <code>
+ (match-all (not (header-matches "" ${word})))
+ </code>
+ </option>
+ <option value="starts with">
+ <title>starts with</title>
+ <code>
+ (match-all (header-starts-with "" ${word}))
+ </code>
+ </option>
+ <option value="not starts with">
+ <title>does not start with</title>
+ <code>
+ (match-all (not (header-starts-with "" ${word})))
+ </code>
+ </option>
+ <option value="ends with">
+ <title>ends with</title>
+ <code>
+ (match-all (header-ends-with "" ${word}))
+ </code>
+ </option>
+ <option value="not ends with">
+ <title>does not end with</title>
+ <code>
+ (match-all (not (header-ends-with "" ${word})))
+ </code>
+ </option>
+ <option value="matches soundex">
+ <title>sounds like</title>
+ <code>
+ (match-all (header-soundex "" ${word}))
+ </code>
+ </option>
+ <option value="not match soundex">
+ <title>does not sound like</title>
+ <code>
+ (match-all (not (header-soundex "" ${word})))
+ </code>
+ </option>
+ </input>
+ <input type="string" name="word"/>
+ </part>
+
<part name="body">
<title>Message Body</title>
<input type="optionlist" name="body-type">