+2006-02-08 [colin] 2.0.0cvs35
+
+ * src/filtering.c
+ * src/matcher.c
+ * src/matcher.h
+ * src/matcher_parser_parse.y
+ * src/prefs_filtering_action.c
+ * src/prefs_matcher.c
+ Add the "Ignore thread" filtering
+ action
+
2006-02-08 [colin] 2.0.0cvs34
* src/compose.c
( cvs diff -u -r 1.382.2.237 -r 1.382.2.238 src/compose.c; cvs diff -u -r 1.50.2.19 -r 1.50.2.20 src/compose.h; ) > 2.0.0cvs32.patchset
( cvs diff -u -r 1.395.2.166 -r 1.395.2.167 src/summaryview.c; ) > 2.0.0cvs33.patchset
( cvs diff -u -r 1.382.2.238 -r 1.382.2.239 src/compose.c; cvs diff -u -r 1.49.2.70 -r 1.49.2.71 src/procmime.c; cvs diff -u -r 1.17.2.13 -r 1.17.2.14 src/procmime.h; ) > 2.0.0cvs34.patchset
+( cvs diff -u -r 1.60.2.12 -r 1.60.2.13 src/filtering.c; cvs diff -u -r 1.75.2.15 -r 1.75.2.16 src/matcher.c; cvs diff -u -r 1.39.2.6 -r 1.39.2.7 src/matcher.h; cvs diff -u -r 1.25.2.12 -r 1.25.2.13 src/matcher_parser_parse.y; cvs diff -u -r 1.1.4.24 -r 1.1.4.25 src/prefs_filtering_action.c; cvs diff -u -r 1.43.2.34 -r 1.43.2.35 src/prefs_matcher.c; ) > 2.0.0cvs35.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=34
+EXTRA_VERSION=35
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
info->hidden = TRUE;
return TRUE;
+ case MATCHACTION_IGNORE:
+ procmsg_msginfo_set_flags(info, MSG_IGNORE_THREAD, 0);
+ return TRUE;
+
default:
break;
}
case MATCHACTION_MARK_AS_UNREAD:
case MATCHACTION_STOP:
case MATCHACTION_HIDE:
+ case MATCHACTION_IGNORE:
g_snprintf(dest, destlen, "%s", command_str);
return dest;
{MATCHACTION_SET_SCORE, "set_score"},
{MATCHACTION_STOP, "stop"},
{MATCHACTION_HIDE, "hide"},
+ {MATCHACTION_IGNORE, "ignore"},
};
/*!
MA_(SET_SCORE),
MA_(STOP),
MA_(HIDE),
+ MA_(IGNORE),
/* boolean operations */
MB_(OR),
MB_(AND)
%token MATCHER_COLORLABEL MATCHER_NOT_COLORLABEL
%token MATCHER_IGNORE_THREAD MATCHER_NOT_IGNORE_THREAD
%token MATCHER_CHANGE_SCORE MATCHER_SET_SCORE
-%token MATCHER_STOP MATCHER_HIDE
+%token MATCHER_STOP MATCHER_HIDE MATCHER_IGNORE
%start file
{
action = filteringaction_new(MATCHACTION_HIDE, 0, NULL, 0, 0);
}
+| MATCHER_IGNORE
+{
+ action = filteringaction_new(MATCHACTION_IGNORE, 0, NULL, 0, 0);
+}
| MATCHER_STOP
{
action = filteringaction_new(MATCHACTION_STOP, 0, NULL, 0, 0);
ACTION_CHANGE_SCORE,
ACTION_SET_SCORE,
ACTION_HIDE,
+ ACTION_IGNORE,
ACTION_STOP,
/* add other action constants */
} Action;
{ N_("Change score"), ACTION_CHANGE_SCORE},
{ N_("Set score"), ACTION_SET_SCORE},
{ N_("Hide"), ACTION_HIDE },
+ { N_("Ignore thread"), ACTION_IGNORE },
{ N_("Stop filter"), ACTION_STOP },
};
return MATCHACTION_COLOR;
case ACTION_HIDE:
return MATCHACTION_HIDE;
+ case ACTION_IGNORE:
+ return MATCHACTION_IGNORE;
case ACTION_STOP:
return MATCHACTION_STOP;
case ACTION_CHANGE_SCORE:
break;
case ACTION_STOP:
case ACTION_HIDE:
+ case ACTION_IGNORE:
case ACTION_DELETE:
case ACTION_MARK:
case ACTION_UNMARK:
case ACTION_MARK_AS_UNREAD:
case ACTION_STOP:
case ACTION_HIDE:
+ case ACTION_IGNORE:
gtk_widget_show(filtering_action.account_label);
gtk_widget_set_sensitive(filtering_action.account_label, FALSE);
gtk_widget_set_sensitive(filtering_action.account_combo, FALSE);
gtk_list_select_item(GTK_LIST(filtering_action.action_type_list),
ACTION_HIDE);
break;
+ case MATCHACTION_IGNORE:
+ gtk_list_select_item(GTK_LIST(filtering_action.action_type_list),
+ ACTION_IGNORE);
+ break;
}
filteringaction_free(action); /* XXX: memleak */
N_("Replied flag"), N_("Forwarded flag"),
N_("Locked flag"),
N_("Color label"),
- N_("Ignore thread"),
+ N_("Ignored thread"),
N_("Score greater than"), N_("Score lower than"),
N_("Score equal to"),
N_("Test"),