aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/modules/e-memo-shell-view-private.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-10-04 12:46:50 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-10-04 12:46:50 +0800
commit2c71859895d091f51dea23f9ed9552a0962b7ba4 (patch)
tree0b5e24581de31595b494e9c1b359d487ad1f3f48 /calendar/modules/e-memo-shell-view-private.c
parentff5e0b312d04daf97b35616b55280ae7f2d17cf7 (diff)
downloadgsoc2013-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.c48
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