/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team
+ * Copyright (C) 1999-2014 Hiroyuki Yamamoto and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
CRITERIA_SIGNED = 38,
CRITERIA_AGE_GREATER_HOURS = 39,
- CRITERIA_AGE_LOWER_HOURS = 40
+ CRITERIA_AGE_LOWER_HOURS = 40,
+
+ CRITERIA_MESSAGEID = 41,
+ CRITERIA_HEADERS_CONT = 42
};
enum {
return CRITERIA_CC;
if (!strcasecmp(header, "To or Cc"))
return CRITERIA_TO_OR_CC;
+ if (!strcasecmp(header, "Message-ID"))
+ return CRITERIA_MESSAGEID;
if (!strcasecmp(header, "In-Reply-To"))
return CRITERIA_INREPLYTO;
if (!strcasecmp(header, "Newsgroups"))
COMBOBOX_ADD(store, "To", CRITERIA_TO);
COMBOBOX_ADD(store, "Cc", CRITERIA_CC);
COMBOBOX_ADD(store, "To or Cc", CRITERIA_TO_OR_CC);
+ COMBOBOX_ADD(store, "Message-ID", CRITERIA_MESSAGEID);
COMBOBOX_ADD(store, "In-Reply-To", CRITERIA_INREPLYTO);
COMBOBOX_ADD(store, "Newsgroups", CRITERIA_NEWSGROUPS);
COMBOBOX_ADD(store, "References", CRITERIA_REFERENCES);
store = gtk_list_store_new(3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN);
COMBOBOX_ADD(store, _("headers part"), CRITERIA_HEADERS_PART);
+ COMBOBOX_ADD(store, _("headers values"), CRITERIA_HEADERS_CONT);
COMBOBOX_ADD(store, _("body part"), CRITERIA_BODY_PART);
COMBOBOX_ADD(store, _("whole message"), CRITERIA_MESSAGE);
matcher.model_phrase = GTK_TREE_MODEL(store);
case MATCHCRITERIA_NOT_NEWSGROUPS:
case MATCHCRITERIA_NEWSGROUPS:
return CRITERIA_NEWSGROUPS;
+ case MATCHCRITERIA_NOT_MESSAGEID:
+ case MATCHCRITERIA_MESSAGEID:
+ return CRITERIA_MESSAGEID;
case MATCHCRITERIA_NOT_INREPLYTO:
case MATCHCRITERIA_INREPLYTO:
return CRITERIA_INREPLYTO;
case MATCHCRITERIA_NOT_HEADERS_PART:
case MATCHCRITERIA_HEADERS_PART:
return CRITERIA_HEADERS_PART;
+ case MATCHCRITERIA_NOT_HEADERS_CONT:
+ case MATCHCRITERIA_HEADERS_CONT:
+ return CRITERIA_HEADERS_CONT;
case MATCHCRITERIA_NOT_HEADER:
case MATCHCRITERIA_HEADER:
return CRITERIA_HEADER;
return MATCHCRITERIA_TAGGED;
case CRITERIA_NEWSGROUPS:
return MATCHCRITERIA_NEWSGROUPS;
+ case CRITERIA_MESSAGEID:
+ return MATCHCRITERIA_MESSAGEID;
case CRITERIA_INREPLYTO:
return MATCHCRITERIA_INREPLYTO;
case CRITERIA_REFERENCES:
return MATCHCRITERIA_HEADER;
case CRITERIA_HEADERS_PART:
return MATCHCRITERIA_HEADERS_PART;
+ case CRITERIA_HEADERS_CONT:
+ return MATCHCRITERIA_HEADERS_CONT;
case CRITERIA_BODY_PART:
return MATCHCRITERIA_BODY_PART;
case CRITERIA_MESSAGE:
return MATCHCRITERIA_NOT_TAGGED;
case MATCHCRITERIA_NEWSGROUPS:
return MATCHCRITERIA_NOT_NEWSGROUPS;
+ case MATCHCRITERIA_MESSAGEID:
+ return MATCHCRITERIA_NOT_MESSAGEID;
case MATCHCRITERIA_INREPLYTO:
return MATCHCRITERIA_NOT_INREPLYTO;
case MATCHCRITERIA_REFERENCES:
return MATCHCRITERIA_NOT_HEADER;
case MATCHCRITERIA_HEADERS_PART:
return MATCHCRITERIA_NOT_HEADERS_PART;
+ case MATCHCRITERIA_HEADERS_CONT:
+ return MATCHCRITERIA_NOT_HEADERS_CONT;
case MATCHCRITERIA_MESSAGE:
return MATCHCRITERIA_NOT_MESSAGE;
case MATCHCRITERIA_TEST:
case CRITERIA_CC:
case CRITERIA_TO_OR_CC:
case CRITERIA_NEWSGROUPS:
+ case CRITERIA_MESSAGEID:
case CRITERIA_INREPLYTO:
case CRITERIA_REFERENCES:
case CRITERIA_HEADER:
case CRITERIA_HEADERS_PART:
+ case CRITERIA_HEADERS_CONT:
case CRITERIA_BODY_PART:
case CRITERIA_MESSAGE:
case CRITERIA_TAG:
case CRITERIA_TO_OR_CC:
case CRITERIA_TAG:
case CRITERIA_NEWSGROUPS:
+ case CRITERIA_MESSAGEID:
case CRITERIA_INREPLYTO:
case CRITERIA_REFERENCES:
case CRITERIA_HEADERS_PART:
+ case CRITERIA_HEADERS_CONT:
case CRITERIA_BODY_PART:
case CRITERIA_MESSAGE:
expr = gtk_entry_get_text(GTK_ENTRY(matcher.string_entry));
gtk_label_set_text(GTK_LABEL(matcher.match_label),
_("Headers part"));
break;
+ case CRITERIA_HEADERS_CONT:
+ gtk_label_set_text(GTK_LABEL(matcher.match_label),
+ _("Headers values"));
+ break;
case CRITERIA_BODY_PART:
gtk_label_set_text(GTK_LABEL(matcher.match_label),
_("Body part"));
prefs_matcher_set_model(matcher.match_combo, matcher.model_age);
prefs_matcher_set_model(matcher.match_combo2, matcher.model_age_units);
gtk_spin_button_set_range(GTK_SPIN_BUTTON(
- matcher.numeric_entry), 0, 1000);
+ matcher.numeric_entry), 0, 10000);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(matcher.numeric_entry), 0);
gtk_combo_box_set_active(GTK_COMBO_BOX(matcher.match_combo2), AGE_DAYS);
gtk_label_set_text(GTK_LABEL(matcher.match_label), _("Age is"));
case CRITERIA_CC:
case CRITERIA_TO_OR_CC:
case CRITERIA_NEWSGROUPS:
+ case CRITERIA_MESSAGEID:
case CRITERIA_INREPLYTO:
case CRITERIA_REFERENCES:
case CRITERIA_HEADER:
match_criteria = MATCH_HEADER;
break;
case CRITERIA_HEADERS_PART:
+ case CRITERIA_HEADERS_CONT:
case CRITERIA_BODY_PART:
case CRITERIA_MESSAGE:
match_criteria = MATCH_PHRASE;
case MATCHCRITERIA_NOT_TAG:
case MATCHCRITERIA_NOT_TAGGED:
case MATCHCRITERIA_NOT_NEWSGROUPS:
+ case MATCHCRITERIA_NOT_MESSAGEID:
case MATCHCRITERIA_NOT_INREPLYTO:
case MATCHCRITERIA_NOT_REFERENCES:
case MATCHCRITERIA_NOT_HEADER:
case MATCHCRITERIA_NOT_HEADERS_PART:
+ case MATCHCRITERIA_NOT_HEADERS_CONT:
case MATCHCRITERIA_NOT_MESSAGE:
case MATCHCRITERIA_NOT_BODY_PART:
case MATCHCRITERIA_NOT_TEST:
case MATCHCRITERIA_NOT_TO_AND_NOT_CC:
case MATCHCRITERIA_NOT_TAG:
case MATCHCRITERIA_NOT_NEWSGROUPS:
+ case MATCHCRITERIA_NOT_MESSAGEID:
case MATCHCRITERIA_NOT_INREPLYTO:
case MATCHCRITERIA_NOT_REFERENCES:
case MATCHCRITERIA_NOT_HEADERS_PART:
+ case MATCHCRITERIA_NOT_HEADERS_CONT:
case MATCHCRITERIA_NOT_BODY_PART:
case MATCHCRITERIA_NOT_MESSAGE:
case MATCHCRITERIA_NOT_TEST:
case MATCHCRITERIA_TO_OR_CC:
case MATCHCRITERIA_TAG:
case MATCHCRITERIA_NEWSGROUPS:
+ case MATCHCRITERIA_MESSAGEID:
case MATCHCRITERIA_INREPLYTO:
case MATCHCRITERIA_REFERENCES:
case MATCHCRITERIA_HEADERS_PART:
+ case MATCHCRITERIA_HEADERS_CONT:
case MATCHCRITERIA_BODY_PART:
case MATCHCRITERIA_MESSAGE:
case MATCHCRITERIA_TEST:
case CRITERIA_CC:
case CRITERIA_TO_OR_CC:
case CRITERIA_NEWSGROUPS:
+ case CRITERIA_MESSAGEID:
case CRITERIA_INREPLYTO:
case CRITERIA_REFERENCES:
case CRITERIA_HEADER:
case CRITERIA_HEADERS_PART:
+ case CRITERIA_HEADERS_CONT:
case CRITERIA_BODY_PART:
case CRITERIA_MESSAGE:
case CRITERIA_TAG: