#include "colorlabel.h"
static void prefs_matcher_addressbook_select(void);
-static void prefs_matcher_test_info(void);
+static void prefs_matcher_test_info(GtkWidget *widget, GtkWidget *parent);
enum {
PREFS_MATCHER_COND,
matcher.model_contain = GTK_TREE_MODEL(store);
store = gtk_list_store_new(3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN);
- COMBOBOX_ADD(store, "Subject", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "From", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "To", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "Cc", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "To or Cc", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "In-Reply-To", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "Newsgroups", CRITERIA_HEADER);
- COMBOBOX_ADD(store, "References", CRITERIA_HEADER);
+ COMBOBOX_ADD(store, "Subject", CRITERIA_SUBJECT);
+ COMBOBOX_ADD(store, "From", CRITERIA_FROM);
+ 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, "In-Reply-To", CRITERIA_INREPLYTO);
+ COMBOBOX_ADD(store, "Newsgroups", CRITERIA_NEWSGROUPS);
+ COMBOBOX_ADD(store, "References", CRITERIA_REFERENCES);
COMBOBOX_ADD(store, "Sender", CRITERIA_HEADER);
COMBOBOX_ADD(store, "X-ML-Name", CRITERIA_HEADER);
COMBOBOX_ADD(store, "X-List", CRITERIA_HEADER);
matcher.model_headers = GTK_TREE_MODEL(store);
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, "body part", CRITERIA_BODY_PART);
- COMBOBOX_ADD(store, "whole message", CRITERIA_MESSAGE);
+ COMBOBOX_ADD(store, _("headers part"), CRITERIA_HEADERS_PART);
+ COMBOBOX_ADD(store, _("body part"), CRITERIA_BODY_PART);
+ COMBOBOX_ADD(store, _("whole message"), CRITERIA_MESSAGE);
matcher.model_phrase = GTK_TREE_MODEL(store);
store = gtk_list_store_new(3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN);
gtk_box_pack_start(GTK_BOX(lower_hbox), test_btn, FALSE, FALSE, 0);
g_signal_connect(G_OBJECT (test_btn), "clicked",
G_CALLBACK(prefs_matcher_test_info),
- NULL);
+ window);
/* register / substitute / delete */
reg_hbox = gtk_hbox_new(FALSE, HSPACING_NARROW);
gint value, sel;
if (value_criteria == -1)
- return -1;
+ return NULL;
criteria = prefs_matcher_get_matching_from_criteria(value_criteria);
if (*expr == '\0') {
gchar *tmp;
- if (strcasecmp(header, Q_("Filtering Matcher Menu|All")) == 0)
+ if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
tmp = g_strdup(_("all addresses in all headers"));
else
- if (strcasecmp(header, _("Any")) == 0)
+ if (g_utf8_collate(header, _("Any")) == 0)
tmp = g_strdup(_("any address in any header"));
else
tmp = g_strdup_printf(_("the address(es) in header '%s'"), header);
alertpanel_error(_("Book/folder path is not set.\n\n"
"If you want to match %s against the whole address book, "
- "you have to select 'Any' from the book/folder drop-down list."),
- tmp);
+ "you have to select '%s' from the book/folder drop-down list."),
+ tmp, _("Any"));
g_free(tmp);
return NULL;
}
- /* don't store translated "Any"/"All" in matcher expressions */
- if (strcasecmp(header, Q_("Filtering Matcher Menu|All")) == 0)
+ /* store UNtranslated "Any"/"All" in matcher expressions */
+ if (g_utf8_collate(header, Q_("Filtering Matcher Menu|All")) == 0)
header = "All";
else
- if (strcasecmp(header, _("Any")) == 0)
+ if (g_utf8_collate(header, _("Any")) == 0)
header = "Any";
- if (strcasecmp(expr, _("Any")) == 0)
+ if (g_utf8_collate(expr, _("Any")) == 0)
expr = "Any";
break;
}
}
g_free(str);
gtk_widget_hide(matcher.window);
- inc_unlock();
if (matchers_callback != NULL)
matchers_callback(matchers);
matcherlist_free(matchers);
}
+ inc_unlock();
}
/*!
/*!
*\brief Show Test action's info
*/
-static void prefs_matcher_test_info(void)
+static void prefs_matcher_test_info(GtkWidget *widget, GtkWidget *parent)
{
+ test_desc_win.parent = parent;
description_window_create(&test_desc_win);
}
static void prefs_matcher_addressbook_select(void)
{
- gchar *folderpath = NULL;
- gboolean ret = FALSE;
-
- folderpath = (gchar *) gtk_entry_get_text(GTK_ENTRY(GTK_BIN(matcher.addressbook_folder_combo)->child));
- ret = addressbook_folder_selection(&folderpath);
- if ( ret != FALSE && folderpath != NULL)
- gtk_entry_set_text(GTK_ENTRY(GTK_BIN(matcher.addressbook_folder_combo)->child), folderpath);
+ const gchar *folderpath = NULL;
+ gchar *new_path = NULL;
+
+ folderpath = gtk_entry_get_text(GTK_ENTRY(GTK_BIN(matcher.addressbook_folder_combo)->child));
+ new_path = addressbook_folder_selection(folderpath);
+ if (new_path) {
+ gtk_entry_set_text(GTK_ENTRY(GTK_BIN(matcher.addressbook_folder_combo)->child), new_path);
+ g_free(new_path);
+ }
}