diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-10-04 12:46:50 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-10-04 12:46:50 +0800 |
commit | 2c71859895d091f51dea23f9ed9552a0962b7ba4 (patch) | |
tree | 0b5e24581de31595b494e9c1b359d487ad1f3f48 /calendar/modules/e-memo-shell-view-private.c | |
parent | ff5e0b312d04daf97b35616b55280ae7f2d17cf7 (diff) | |
download | gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar.gz gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar.bz2 gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar.lz gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar.xz gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.tar.zst gsoc2013-evolution-2c71859895d091f51dea23f9ed9552a0962b7ba4.zip |
Tweak some aspects of the Contacts module to be more consistent with
Tasks and Memos.
Take a crack at handling command-line URIs. It's far too long-winded
though. Will need to revisit and tighten up the code.
svn path=/branches/kill-bonobo/; revision=36554
Diffstat (limited to 'calendar/modules/e-memo-shell-view-private.c')
-rw-r--r-- | calendar/modules/e-memo-shell-view-private.c | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/calendar/modules/e-memo-shell-view-private.c b/calendar/modules/e-memo-shell-view-private.c index e8ff33570e..4c2312a9d2 100644 --- a/calendar/modules/e-memo-shell-view-private.c +++ b/calendar/modules/e-memo-shell-view-private.c @@ -322,6 +322,7 @@ e_memo_shell_view_execute_search (EMemoShellView *memo_shell_view) const gchar *format; const gchar *text; gchar *query; + gchar *temp; gint value; shell_view = E_SHELL_VIEW (memo_shell_view); @@ -364,27 +365,32 @@ e_memo_shell_view_execute_search (EMemoShellView *memo_shell_view) /* Apply selected filter. */ value = e_shell_content_get_filter_value (shell_content); - if (value == MEMO_FILTER_UNMATCHED) { - gchar *temp; - - temp = g_strdup_printf ( - "(and (has-categories? #f) %s", query); - g_free (query); - query = temp; - } else if (value >= 0) { - GList *categories; - const gchar *category_name; - gchar *temp; - - categories = e_categories_get_list (); - category_name = g_list_nth_data (categories, value); - g_list_free (categories); - - temp = g_strdup_printf ( - "(and (has-categories? \"%s\") %s)", - category_name, query); - g_free (query); - query = temp; + switch (value) { + case MEMO_FILTER_ANY_CATEGORY: + break; + + case MEMO_FILTER_UNMATCHED: + temp = g_strdup_printf ( + "(and (has-categories? #f) %s", query); + g_free (query); + query = temp; + break; + + default: + { + GList *categories; + const gchar *category_name; + + categories = e_categories_get_list (); + category_name = g_list_nth_data (categories, value); + g_list_free (categories); + + temp = g_strdup_printf ( + "(and (has-categories? \"%s\") %s)", + category_name, query); + g_free (query); + query = temp; + } } /* XXX This is wrong. We need to programmatically construct a |