From 333ccc8abf033453996e4a7e16712f2fc3b9e05a Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 18 Feb 2011 15:13:06 +0100 Subject: Bug #639483 - Category list includes weather information --- e-util/e-util.c | 34 +++++++++++++++++++++++++++++++++- e-util/e-util.h | 1 + 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'e-util') diff --git a/e-util/e-util.c b/e-util/e-util.c index 88fcfaebfb..8f91558823 100644 --- a/e-util/e-util.c +++ b/e-util/e-util.c @@ -1457,7 +1457,12 @@ e_util_get_category_filter_options (void) clist = e_categories_get_list (); for (l = clist; l; l = l->next) { const gchar *cname = l->data; - struct _filter_option *fo = g_new0 (struct _filter_option, 1); + struct _filter_option *fo; + + if (!e_categories_is_searchable (cname)) + continue; + + fo = g_new0 (struct _filter_option, 1); fo->title = g_strdup (cname); fo->value = g_strdup (cname); @@ -1469,6 +1474,33 @@ e_util_get_category_filter_options (void) return g_slist_reverse (res); } +/** + * e_util_get_searchable_categories: + * + * Returns list of searchable categories only. The list should + * be freed with g_list_free() when done with it, but the items + * are internal strings, names of categories, which should not + * be touched in other than read-only way, in other words the same + * restrictions as for e_categories_get_list() applies here too. + **/ +GList * +e_util_get_searchable_categories (void) +{ + GList *res = NULL, *all_categories, *l; + + all_categories = e_categories_get_list (); + for (l = all_categories; l; l = l->next) { + const gchar *cname = l->data; + + if (e_categories_is_searchable (cname)) + res = g_list_prepend (res, (gpointer) cname); + } + + g_list_free (all_categories); + + return g_list_reverse (res); +} + /** * e_util_set_source_combo_box_list: * @source_combo_box: an #ESourceComboBox diff --git a/e-util/e-util.h b/e-util/e-util.h index 6560481f06..2c1cc8ea5e 100644 --- a/e-util/e-util.h +++ b/e-util/e-util.h @@ -140,6 +140,7 @@ gchar * e_util_guess_mime_type (const gchar *filename, GSList * e_util_get_category_filter_options (void); +GList * e_util_get_searchable_categories(void); void e_util_set_source_combo_box_list (GtkWidget *source_combo_box, -- cgit v1.2.3