aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2011-02-18 22:13:06 +0800
committerMilan Crha <mcrha@redhat.com>2011-02-18 22:13:06 +0800
commit1b25ab52f7709a0eae7493fb933fa62376ead288 (patch)
treef952dced3b14b92ad6010bcd41abe82188b48a53
parent21147b292a387e18b8598b50f4d78a91d56e5684 (diff)
downloadgsoc2013-evolution-1b25ab52f7709a0eae7493fb933fa62376ead288.tar.gz
gsoc2013-evolution-1b25ab52f7709a0eae7493fb933fa62376ead288.tar.zst
gsoc2013-evolution-1b25ab52f7709a0eae7493fb933fa62376ead288.zip
Bug #639483 - Category list includes weather information
-rw-r--r--e-util/e-util.c34
-rw-r--r--e-util/e-util.h1
-rw-r--r--modules/addressbook/e-book-shell-view-actions.c2
-rw-r--r--modules/addressbook/e-book-shell-view.c2
-rw-r--r--modules/calendar/e-cal-shell-view-actions.c2
-rw-r--r--modules/calendar/e-cal-shell-view.c2
-rw-r--r--modules/calendar/e-memo-shell-view-actions.c2
-rw-r--r--modules/calendar/e-memo-shell-view.c2
-rw-r--r--modules/calendar/e-task-shell-view-actions.c2
-rw-r--r--modules/calendar/e-task-shell-view.c2
10 files changed, 42 insertions, 9 deletions
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);
@@ -1470,6 +1475,33 @@ e_util_get_category_filter_options (void)
}
/**
+ * 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
* @source_gconf_path: GConf path with sources to use in an #ESourceList
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,
diff --git a/modules/addressbook/e-book-shell-view-actions.c b/modules/addressbook/e-book-shell-view-actions.c
index 7dec37968d..b2c63b872a 100644
--- a/modules/addressbook/e-book-shell-view-actions.c
+++ b/modules/addressbook/e-book-shell-view-actions.c
@@ -1124,7 +1124,7 @@ e_book_shell_view_update_search_filter (EBookShellView *book_shell_view)
/* Build the category actions. */
- list = e_categories_get_list ();
+ list = e_util_get_searchable_categories ();
for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) {
const gchar *category_name = iter->data;
const gchar *filename;
diff --git a/modules/addressbook/e-book-shell-view.c b/modules/addressbook/e-book-shell-view.c
index 2ac5d98968..8b5d816eaa 100644
--- a/modules/addressbook/e-book-shell-view.c
+++ b/modules/addressbook/e-book-shell-view.c
@@ -223,7 +223,7 @@ book_shell_view_execute_search (EShellView *shell_view)
GList *categories;
const gchar *category_name;
- categories = e_categories_get_list ();
+ categories = e_util_get_searchable_categories ();
category_name = g_list_nth_data (categories, filter_id);
g_list_free (categories);
diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c
index 90abf79c3c..5e16b6db5b 100644
--- a/modules/calendar/e-cal-shell-view-actions.c
+++ b/modules/calendar/e-cal-shell-view-actions.c
@@ -1858,7 +1858,7 @@ e_cal_shell_view_update_search_filter (ECalShellView *cal_shell_view)
/* Build the category actions. */
- list = e_categories_get_list ();
+ list = e_util_get_searchable_categories ();
for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) {
const gchar *category_name = iter->data;
const gchar *filename;
diff --git a/modules/calendar/e-cal-shell-view.c b/modules/calendar/e-cal-shell-view.c
index 6aafdc82a6..1210d2d267 100644
--- a/modules/calendar/e-cal-shell-view.c
+++ b/modules/calendar/e-cal-shell-view.c
@@ -191,7 +191,7 @@ cal_shell_view_execute_search (EShellView *shell_view)
GList *categories;
const gchar *category_name;
- categories = e_categories_get_list ();
+ categories = e_util_get_searchable_categories ();
category_name = g_list_nth_data (categories, value);
g_list_free (categories);
diff --git a/modules/calendar/e-memo-shell-view-actions.c b/modules/calendar/e-memo-shell-view-actions.c
index a55eab1c10..660ad09f5f 100644
--- a/modules/calendar/e-memo-shell-view-actions.c
+++ b/modules/calendar/e-memo-shell-view-actions.c
@@ -977,7 +977,7 @@ e_memo_shell_view_update_search_filter (EMemoShellView *memo_shell_view)
/* Build the category actions. */
- list = e_categories_get_list ();
+ list = e_util_get_searchable_categories ();
for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) {
const gchar *category_name = iter->data;
const gchar *filename;
diff --git a/modules/calendar/e-memo-shell-view.c b/modules/calendar/e-memo-shell-view.c
index 870d5aedc8..219497577c 100644
--- a/modules/calendar/e-memo-shell-view.c
+++ b/modules/calendar/e-memo-shell-view.c
@@ -139,7 +139,7 @@ memo_shell_view_execute_search (EShellView *shell_view)
GList *categories;
const gchar *category_name;
- categories = e_categories_get_list ();
+ categories = e_util_get_searchable_categories ();
category_name = g_list_nth_data (categories, value);
g_list_free (categories);
diff --git a/modules/calendar/e-task-shell-view-actions.c b/modules/calendar/e-task-shell-view-actions.c
index d3531244d9..dce77b0af7 100644
--- a/modules/calendar/e-task-shell-view-actions.c
+++ b/modules/calendar/e-task-shell-view-actions.c
@@ -1176,7 +1176,7 @@ e_task_shell_view_update_search_filter (ETaskShellView *task_shell_view)
/* Build the category actions. */
- list = e_categories_get_list ();
+ list = e_util_get_searchable_categories ();
for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) {
const gchar *category_name = iter->data;
const gchar *filename;
diff --git a/modules/calendar/e-task-shell-view.c b/modules/calendar/e-task-shell-view.c
index b4c6c7db0b..7b575f84d4 100644
--- a/modules/calendar/e-task-shell-view.c
+++ b/modules/calendar/e-task-shell-view.c
@@ -249,7 +249,7 @@ task_shell_view_execute_search (EShellView *shell_view)
GList *categories;
const gchar *category_name;
- categories = e_categories_get_list ();
+ categories = e_util_get_searchable_categories ();
category_name = g_list_nth_data (categories, value);
g_list_free (categories);