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:
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);
}