GtkWidget *regexp_chkbtn;
GtkWidget *color_optmenu;
- GtkWidget *exec_btn;
+ GtkWidget *test_btn;
GtkWidget *cond_clist;
CRITERIA_SCORE_LOWER = 25,
CRITERIA_SCORE_EQUAL = 26,
- CRITERIA_EXECUTE = 27,
+ CRITERIA_TEST = 27,
CRITERIA_SIZE_GREATER = 28,
CRITERIA_SIZE_SMALLER = 29,
- CRITERIA_SIZE_EQUAL = 30
+ CRITERIA_SIZE_EQUAL = 30,
+
+ CRITERIA_PARTIAL = 31
};
/*!
N_("Ignore thread"),
N_("Score greater than"), N_("Score lower than"),
N_("Score equal to"),
- N_("Execute"),
+ N_("Test"),
N_("Size greater than"),
N_("Size smaller than"),
N_("Size exactly")
gint row,
gint column,
GdkEvent *event);
-static void prefs_matcher_key_pressed (GtkWidget *widget,
+static gboolean prefs_matcher_key_pressed(GtkWidget *widget,
GdkEventKey *event,
gpointer data);
static void prefs_matcher_ok (void);
GtkWidget *up_btn;
GtkWidget *down_btn;
- GtkWidget *exec_btn;
+ GtkWidget *test_btn;
GtkWidget *color_optmenu;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 8);
- gtk_window_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
+ gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_modal(GTK_WINDOW(window), TRUE);
- gtk_window_set_policy(GTK_WINDOW(window), FALSE, TRUE, FALSE);
+ gtk_window_set_resizable(GTK_WINDOW(window), TRUE);
vbox = gtk_vbox_new(FALSE, 6);
gtk_widget_show(vbox);
gtk_window_set_title(GTK_WINDOW(window),
_("Condition configuration"));
- gtk_signal_connect(GTK_OBJECT(window), "delete_event",
- GTK_SIGNAL_FUNC(prefs_matcher_deleted), NULL);
- gtk_signal_connect(GTK_OBJECT(window), "key_press_event",
- GTK_SIGNAL_FUNC(prefs_matcher_key_pressed), NULL);
+ g_signal_connect(G_OBJECT(window), "delete_event",
+ G_CALLBACK(prefs_matcher_deleted), NULL);
+ g_signal_connect(G_OBJECT(window), "key_press_event",
+ G_CALLBACK(prefs_matcher_key_pressed), NULL);
MANAGE_WINDOW_SIGNALS_CONNECT(window);
- gtk_signal_connect(GTK_OBJECT(ok_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_ok), NULL);
- gtk_signal_connect(GTK_OBJECT(cancel_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_cancel), NULL);
+ g_signal_connect(G_OBJECT(ok_btn), "clicked",
+ G_CALLBACK(prefs_matcher_ok), NULL);
+ g_signal_connect(G_OBJECT(cancel_btn), "clicked",
+ G_CALLBACK(prefs_matcher_cancel), NULL);
vbox1 = gtk_vbox_new(FALSE, VSPACING);
gtk_widget_show(vbox1);
gtk_table_attach(GTK_TABLE(criteria_table), criteria_combo, 0, 1, 1, 2,
0, 0, 0, 0);
criteria_list = GTK_COMBO(criteria_combo)->list;
- gtk_signal_connect(GTK_OBJECT(criteria_list), "select-child",
- GTK_SIGNAL_FUNC(prefs_matcher_criteria_select),
- NULL);
+ g_signal_connect(G_OBJECT(criteria_list), "select-child",
+ G_CALLBACK(prefs_matcher_criteria_select),
+ NULL);
gtk_entry_set_editable(GTK_ENTRY(GTK_COMBO(criteria_combo)->entry),
FALSE);
gtk_table_attach(GTK_TABLE(criteria_table), value_entry, 2, 3, 1, 2,
GTK_FILL | GTK_SHRINK | GTK_EXPAND, 0, 0, 0);
- exec_btn = gtk_button_new_with_label(_("Info ..."));
- gtk_widget_show(exec_btn);
- gtk_table_attach(GTK_TABLE (criteria_table), exec_btn, 3, 4, 1, 2,
+ test_btn = gtk_button_new_with_label(_("Info ..."));
+ gtk_widget_show(test_btn);
+ gtk_table_attach(GTK_TABLE (criteria_table), test_btn, 3, 4, 1, 2,
GTK_FILL | GTK_SHRINK | GTK_EXPAND, 0, 0, 0);
- gtk_signal_connect(GTK_OBJECT (exec_btn), "clicked",
- GTK_SIGNAL_FUNC (prefs_matcher_exec_info),
- NULL);
+ g_signal_connect(G_OBJECT (test_btn), "clicked",
+ G_CALLBACK(prefs_matcher_test_info),
+ NULL);
color_optmenu = gtk_option_menu_new();
gtk_option_menu_set_menu(GTK_OPTION_MENU(color_optmenu),
reg_btn = gtk_button_new_with_label(_("Add"));
gtk_widget_show(reg_btn);
gtk_box_pack_start(GTK_BOX(btn_hbox), reg_btn, FALSE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(reg_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_register_cb), NULL);
+ g_signal_connect(G_OBJECT(reg_btn), "clicked",
+ G_CALLBACK(prefs_matcher_register_cb), NULL);
subst_btn = gtk_button_new_with_label(_(" Replace "));
gtk_widget_show(subst_btn);
gtk_box_pack_start(GTK_BOX(btn_hbox), subst_btn, FALSE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(subst_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_substitute_cb),
- NULL);
+ g_signal_connect(G_OBJECT(subst_btn), "clicked",
+ G_CALLBACK(prefs_matcher_substitute_cb),
+ NULL);
del_btn = gtk_button_new_with_label(_("Delete"));
gtk_widget_show(del_btn);
gtk_box_pack_start(GTK_BOX(btn_hbox), del_btn, FALSE, TRUE, 0);
- gtk_signal_connect(GTK_OBJECT(del_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_delete_cb), NULL);
+ g_signal_connect(G_OBJECT(del_btn), "clicked",
+ G_CALLBACK(prefs_matcher_delete_cb), NULL);
/* boolean operation */
GTK_SELECTION_BROWSE);
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(cond_clist)->column[0].button,
GTK_CAN_FOCUS);
- gtk_signal_connect(GTK_OBJECT(cond_clist), "select_row",
- GTK_SIGNAL_FUNC(prefs_matcher_select), NULL);
+ g_signal_connect(G_OBJECT(cond_clist), "select_row",
+ G_CALLBACK(prefs_matcher_select), NULL);
btn_vbox = gtk_vbox_new(FALSE, 8);
gtk_widget_show(btn_vbox);
up_btn = gtk_button_new_with_label(_("Up"));
gtk_widget_show(up_btn);
gtk_box_pack_start(GTK_BOX(btn_vbox), up_btn, FALSE, FALSE, 0);
- gtk_signal_connect(GTK_OBJECT(up_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_up), NULL);
+ g_signal_connect(G_OBJECT(up_btn), "clicked",
+ G_CALLBACK(prefs_matcher_up), NULL);
down_btn = gtk_button_new_with_label(_("Down"));
gtk_widget_show(down_btn);
gtk_box_pack_start(GTK_BOX(btn_vbox), down_btn, FALSE, FALSE, 0);
- gtk_signal_connect(GTK_OBJECT(down_btn), "clicked",
- GTK_SIGNAL_FUNC(prefs_matcher_down), NULL);
+ g_signal_connect(G_OBJECT(down_btn), "clicked",
+ G_CALLBACK(prefs_matcher_down), NULL);
gtk_widget_show_all(window);
matcher.case_chkbtn = case_chkbtn;
matcher.regexp_chkbtn = regexp_chkbtn;
matcher.bool_op_list = bool_op_list;
- matcher.exec_btn = exec_btn;
+ matcher.test_btn = test_btn;
matcher.color_optmenu = color_optmenu;
matcher.criteria_table = criteria_table;
case MATCHCRITERIA_LOCKED:
case MATCHCRITERIA_NOT_LOCKED:
return CRITERIA_LOCKED;
+ case MATCHCRITERIA_PARTIAL:
+ case MATCHCRITERIA_NOT_PARTIAL:
+ return CRITERIA_PARTIAL;
case MATCHCRITERIA_COLORLABEL:
case MATCHCRITERIA_NOT_COLORLABEL:
return CRITERIA_COLORLABEL;
return CRITERIA_SCORE_LOWER;
case MATCHCRITERIA_SCORE_EQUAL:
return CRITERIA_SCORE_EQUAL;
- case MATCHCRITERIA_NOT_EXECUTE:
- case MATCHCRITERIA_EXECUTE:
- return CRITERIA_EXECUTE;
+ case MATCHCRITERIA_NOT_TEST:
+ case MATCHCRITERIA_TEST:
+ return CRITERIA_TEST;
case MATCHCRITERIA_SIZE_GREATER:
return CRITERIA_SIZE_GREATER;
case MATCHCRITERIA_SIZE_SMALLER:
return MATCHCRITERIA_FORWARDED;
case CRITERIA_LOCKED:
return MATCHCRITERIA_LOCKED;
+ case CRITERIA_PARTIAL:
+ return MATCHCRITERIA_PARTIAL;
case CRITERIA_COLORLABEL:
return MATCHCRITERIA_COLORLABEL;
case CRITERIA_IGNORE_THREAD:
return MATCHCRITERIA_BODY_PART;
case CRITERIA_MESSAGE:
return MATCHCRITERIA_MESSAGE;
- case CRITERIA_EXECUTE:
- return MATCHCRITERIA_EXECUTE;
+ case CRITERIA_TEST:
+ return MATCHCRITERIA_TEST;
case CRITERIA_SIZE_GREATER:
return MATCHCRITERIA_SIZE_GREATER;
case CRITERIA_SIZE_SMALLER:
return MATCHCRITERIA_NOT_FORWARDED;
case MATCHCRITERIA_LOCKED:
return MATCHCRITERIA_NOT_LOCKED;
+ case MATCHCRITERIA_PARTIAL:
+ return MATCHCRITERIA_NOT_PARTIAL;
case MATCHCRITERIA_COLORLABEL:
return MATCHCRITERIA_NOT_COLORLABEL;
case MATCHCRITERIA_IGNORE_THREAD:
return MATCHCRITERIA_NOT_HEADERS_PART;
case MATCHCRITERIA_MESSAGE:
return MATCHCRITERIA_NOT_MESSAGE;
- case MATCHCRITERIA_EXECUTE:
- return MATCHCRITERIA_NOT_EXECUTE;
+ case MATCHCRITERIA_TEST:
+ return MATCHCRITERIA_NOT_TEST;
case MATCHCRITERIA_BODY_PART:
return MATCHCRITERIA_NOT_BODY_PART;
default:
case CRITERIA_REPLIED:
case CRITERIA_FORWARDED:
case CRITERIA_LOCKED:
- case CRITERIA_EXECUTE:
+ case CRITERIA_PARTIAL:
+ case CRITERIA_TEST:
case CRITERIA_COLORLABEL:
case CRITERIA_IGNORE_THREAD:
if (value_pred_flag == PREDICATE_FLAG_DISABLED)
case CRITERIA_REPLIED:
case CRITERIA_FORWARDED:
case CRITERIA_LOCKED:
+ case CRITERIA_PARTIAL:
case CRITERIA_IGNORE_THREAD:
break;
case CRITERIA_HEADERS_PART:
case CRITERIA_BODY_PART:
case CRITERIA_MESSAGE:
- case CRITERIA_EXECUTE:
+ case CRITERIA_TEST:
expr = gtk_entry_get_text(GTK_ENTRY(matcher.value_entry));
break;
case MATCHCRITERIA_NOT_REPLIED:
case MATCHCRITERIA_NOT_FORWARDED:
case MATCHCRITERIA_NOT_LOCKED:
+ case MATCHCRITERIA_NOT_PARTIAL:
case MATCHCRITERIA_NOT_COLORLABEL:
case MATCHCRITERIA_NOT_IGNORE_THREAD:
case MATCHCRITERIA_NOT_SUBJECT:
case MATCHCRITERIA_HEADERS_PART:
case MATCHCRITERIA_BODY_PART:
case MATCHCRITERIA_MESSAGE:
- case MATCHCRITERIA_EXECUTE:
+ case MATCHCRITERIA_TEST:
gtk_entry_set_text(GTK_ENTRY(matcher.value_entry), prop->expr);
break;
gtk_widget_show(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, FALSE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, FALSE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
case CRITERIA_UNREAD:
case CRITERIA_REPLIED:
case CRITERIA_FORWARDED:
case CRITERIA_LOCKED:
+ case CRITERIA_PARTIAL:
case CRITERIA_IGNORE_THREAD:
gtk_widget_set_sensitive(matcher.header_combo, FALSE);
gtk_widget_set_sensitive(matcher.header_label, FALSE);
gtk_widget_show(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, FALSE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, FALSE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
case CRITERIA_COLORLABEL:
gtk_widget_show(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, FALSE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, FALSE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
case CRITERIA_SUBJECT:
gtk_widget_hide(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, TRUE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, TRUE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
- case CRITERIA_EXECUTE:
+ case CRITERIA_TEST:
gtk_widget_set_sensitive(matcher.header_combo, FALSE);
gtk_widget_set_sensitive(matcher.header_label, FALSE);
gtk_widget_set_sensitive(matcher.value_label, TRUE);
gtk_widget_show(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, FALSE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, FALSE);
- gtk_widget_set_sensitive(matcher.exec_btn, TRUE);
+ gtk_widget_set_sensitive(matcher.test_btn, TRUE);
break;
case CRITERIA_AGE_GREATER:
gtk_widget_hide(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, FALSE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, FALSE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
case CRITERIA_HEADER:
gtk_widget_hide(matcher.predicate_flag_combo);
gtk_widget_set_sensitive(matcher.case_chkbtn, TRUE);
gtk_widget_set_sensitive(matcher.regexp_chkbtn, TRUE);
- gtk_widget_set_sensitive(matcher.exec_btn, FALSE);
+ gtk_widget_set_sensitive(matcher.test_btn, FALSE);
break;
}
}
*\param event Key event
*\param data User data
*/
-static void prefs_matcher_key_pressed(GtkWidget *widget, GdkEventKey *event,
+static gboolean prefs_matcher_key_pressed(GtkWidget *widget, GdkEventKey *event,
gpointer data)
{
- if (event && event->keyval == GDK_Escape)
+ if (event && event->keyval == GDK_Escape) {
prefs_matcher_cancel();
+ return TRUE;
+ }
+ return FALSE;
}
/*!
}
/*
- * Strings describing exec format strings
+ * Strings describing test format strings
*
* When adding new lines, remember to put 2 strings for each line
*/
-static gchar *exec_desc_strings[] = {
+static gchar *test_desc_strings[] = {
+ N_("'Test' allows you to test a message or message element"), NULL,
+ N_("using an external program or script. The program will"), NULL,
+ N_("return either 0 or 1"), NULL,
+ N_("The following symbols can be used:"), NULL,
"%%", "%",
"%s", N_("Subject"),
"%f", N_("From"),
"%F", N_("Filename - should not be modified"),
"\\n", N_("new line"),
"\\", N_("escape character for quotes"),
- "\\\"",N_("quote character"),
- NULL, NULL
+ "\\\"", N_("quote character"),
+ NULL, NULL
};
-static DescriptionWindow exec_desc_win = {
+static DescriptionWindow test_desc_win = {
NULL,
2,
- N_("Description of symbols"),
- exec_desc_strings
+ N_("Match Type: 'Test'"),
+ test_desc_strings
};
/*!
- *\brief Show Execute action's info
+ *\brief Show Test action's info
*/
-void prefs_matcher_exec_info(void)
+void prefs_matcher_test_info(void)
{
- description_window_create(&exec_desc_win);
+ description_window_create(&test_desc_win);
}