talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 702ff639e6d3bf620ee05ae06755c3f4593291eb
parent 0e68e093d105342c742938d4acb02e1de719f1b4
Author: Salvatore De Paolis <iwkse@claws-mail.org>
Date:   Thu,  3 Apr 2008 02:20:41 +0000

2008-04-03 [iwkse]	3.3.1cvs51

	* src/prefs_filtering.c
		Add search in filtering rules list

Diffstat:
MChangeLog | 5+++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/prefs_filtering.c | 25+++++++++++++++++++++++++
4 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-03 [iwkse] 3.3.1cvs51 + + * src/prefs_filtering.c + Add search in filtering rules list + 2008-04-02 [colin] 3.3.1cvs50 * src/main.c diff --git a/PATCHSETS b/PATCHSETS @@ -3285,3 +3285,4 @@ ( cvs diff -u -r 1.1.2.55 -r 1.1.2.56 src/imap_gtk.c; ) > 3.3.1cvs48.patchset ( cvs diff -u -r 1.115.2.191 -r 1.115.2.192 src/main.c; ) > 3.3.1cvs49.patchset ( cvs diff -u -r 1.115.2.192 -r 1.115.2.193 src/main.c; ) > 3.3.1cvs50.patchset +( cvs diff -u -r 1.59.2.65 -r 1.59.2.66 src/prefs_filtering.c; ) > 3.3.1cvs51.patchset diff --git a/configure.ac b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=3 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=50 +EXTRA_VERSION=51 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/prefs_filtering.c b/src/prefs_filtering.c @@ -97,6 +97,7 @@ static void prefs_filtering_set_dialog (const gchar *header, static void prefs_filtering_set_list (void); /* callback functions */ +static gboolean prefs_filtering_search_func_cb (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); static void prefs_filtering_register_cb (void); static void prefs_filtering_substitute_cb (void); static void prefs_filtering_delete_cb (void); @@ -964,6 +965,26 @@ static void prefs_filtering_reset_dialog(void) gtk_entry_set_text(GTK_ENTRY(filtering.action_entry), ""); } +static gboolean prefs_filtering_search_func_cb (GtkTreeModel *model, gint column, + const gchar *key, GtkTreeIter *iter, + gpointer search_data) { + gchar *store_string; + gint key_len; + gboolean retval; + + gtk_tree_model_get (model, iter, column, &store_string, -1); + + if (!store_string) return FALSE; + + key_len = strlen (key); + + retval = (strncmp (key, store_string, key_len) != 0); + + g_free(store_string); + + return retval; +} + static void prefs_filtering_set_list(void) { gint row = 1; @@ -1905,6 +1926,10 @@ static void prefs_filtering_create_list_view_columns(GtkWidget *list_view) renderer, "text", PREFS_FILTERING_RULE, NULL); + + gtk_tree_view_set_search_column(GTK_TREE_VIEW(list_view), 1); + gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(list_view), prefs_filtering_search_func_cb , NULL, NULL); + gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), column); }