revise label colouring, add filter action for label colouring, fix filtering issues
[claws.git] / src / matcher.h
index c153e8e1fc5d6884fb82aabc2f8b0e303a8394ad..54d253e210246743825324cca7cbb072253c2f87 100644 (file)
@@ -54,6 +54,8 @@ enum {
        MATCHING_NOT_HEADERS_PART,
        MATCHING_BODY_PART,
        MATCHING_NOT_BODY_PART,
+       MATCHING_EXECUTE,
+       MATCHING_NOT_EXECUTE,
 
        /* scoring */
        MATCHING_SCORE,
@@ -64,10 +66,12 @@ enum {
        MATCHING_ACTION_DELETE,
        MATCHING_ACTION_MARK,
        MATCHING_ACTION_MARK_AS_READ,
+       MATCHING_ACTION_UNMARK,
+       MATCHING_ACTION_MARK_AS_UNREAD,
        MATCHING_ACTION_FORWARD,
-       MATCHING_ACTION_FORWARD_AS_ATTACHEMENT,
-       MATCHING_ACTION_FORWARD_NEWS,
-       MATCHING_ACTION_FORWARD_NEWS_AS_ATTACHEMENT,
+       MATCHING_ACTION_FORWARD_AS_ATTACHMENT,
+       MATCHING_ACTION_COLOR,
+       /* MATCHING_ACTION_EXECUTE, */
 
        MATCHING_MATCH,
        MATCHING_REGEXP,
@@ -83,6 +87,7 @@ struct _MatcherProp {
        int value;
        regex_t * preg;
        int error;
+       gboolean result;
 };
 
 typedef struct _MatcherProp MatcherProp;
@@ -94,6 +99,7 @@ struct _MatcherList {
 
 typedef struct _MatcherList MatcherList;
 
+gchar * get_matchparser_tab_str(gint id);
 MatcherProp * matcherprop_new(gint criteria, gchar * header,
                              gint matchtype, gchar * expr,
                              int age);
@@ -113,7 +119,9 @@ gint matcher_parse_number(gchar ** str);
 gboolean matcher_parse_boolean_op(gchar ** str);
 gchar * matcher_parse_regexp(gchar ** str);
 gchar * matcher_parse_str(gchar ** str);
+gchar * matcher_unescape_str(gchar *str);
 gchar * matcherprop_to_string(MatcherProp * matcher);
 gchar * matcherlist_to_string(MatcherList * matchers);
+gchar * matching_build_command(gchar * cmd, MsgInfo * info);
 
 #endif