+static gboolean search_function_cb(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer data)
+{
+ gboolean ret = TRUE;
+ gchar *field_contents;
+ gchar *field_contents_nocase;
+ gchar *key_nocase;
+
+ gtk_tree_model_get(model, iter, column, &field_contents, -1);
+
+ field_contents_nocase = g_utf8_casefold(field_contents, -1);
+ key_nocase = g_utf8_casefold(key, -1);
+
+ if (g_strstr_len(field_contents_nocase, -1, key_nocase))
+ {
+ ret = FALSE;
+ }
+
+ g_free(field_contents);
+ g_free(field_contents_nocase);
+ g_free(key_nocase);
+
+ return ret;
+}
+