diff options
Diffstat (limited to 'calendar/modules')
-rw-r--r-- | calendar/modules/e-cal-shell-view-actions.c | 19 | ||||
-rw-r--r-- | calendar/modules/e-memo-shell-view-actions.c | 19 | ||||
-rw-r--r-- | calendar/modules/e-task-shell-view-actions.c | 19 |
3 files changed, 57 insertions, 0 deletions
diff --git a/calendar/modules/e-cal-shell-view-actions.c b/calendar/modules/e-cal-shell-view-actions.c index 0631b6e088..c63d3c8315 100644 --- a/calendar/modules/e-cal-shell-view-actions.c +++ b/calendar/modules/e-cal-shell-view-actions.c @@ -1006,6 +1006,7 @@ e_cal_shell_view_update_search_filter (ECalShellView *cal_shell_view) list = e_categories_get_list (); for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) { const gchar *category_name = iter->data; + const gchar *filename; GtkAction *action; gchar *action_name; @@ -1015,6 +1016,24 @@ e_cal_shell_view_update_search_filter (ECalShellView *cal_shell_view) action_name, category_name, NULL, NULL, ii); g_free (action_name); + /* Convert the category icon file to a themed icon name. */ + filename = e_categories_get_icon_file_for (category_name); + if (filename != NULL && *filename != '\0') { + gchar *basename; + gchar *cp; + + basename = g_path_get_basename (filename); + + /* Lose the file extension. */ + if ((cp = strrchr (basename, '.')) != NULL) + *cp = '\0'; + + g_object_set ( + radio_action, "icon-name", basename, NULL); + + g_free (basename); + } + gtk_radio_action_set_group (radio_action, group); group = gtk_radio_action_get_group (radio_action); diff --git a/calendar/modules/e-memo-shell-view-actions.c b/calendar/modules/e-memo-shell-view-actions.c index 23c456c066..554f1651d5 100644 --- a/calendar/modules/e-memo-shell-view-actions.c +++ b/calendar/modules/e-memo-shell-view-actions.c @@ -790,6 +790,7 @@ e_memo_shell_view_update_search_filter (EMemoShellView *memo_shell_view) list = e_categories_get_list (); for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) { const gchar *category_name = iter->data; + const gchar *filename; GtkAction *action; gchar *action_name; @@ -799,6 +800,24 @@ e_memo_shell_view_update_search_filter (EMemoShellView *memo_shell_view) action_name, category_name, NULL, NULL, ii); g_free (action_name); + /* Convert the category icon file to a themed icon name. */ + filename = e_categories_get_icon_file_for (category_name); + if (filename != NULL && *filename != '\0') { + gchar *basename; + gchar *cp; + + basename = g_path_get_basename (filename); + + /* Lose the file extension. */ + if ((cp = strrchr (basename, '.')) != NULL) + *cp = '\0'; + + g_object_set ( + radio_action, "icon-name", basename, NULL); + + g_free (basename); + } + gtk_radio_action_set_group (radio_action, group); group = gtk_radio_action_get_group (radio_action); diff --git a/calendar/modules/e-task-shell-view-actions.c b/calendar/modules/e-task-shell-view-actions.c index 21e9d89767..61a1455809 100644 --- a/calendar/modules/e-task-shell-view-actions.c +++ b/calendar/modules/e-task-shell-view-actions.c @@ -980,6 +980,7 @@ e_task_shell_view_update_search_filter (ETaskShellView *task_shell_view) list = e_categories_get_list (); for (iter = list, ii = 0; iter != NULL; iter = iter->next, ii++) { const gchar *category_name = iter->data; + const gchar *filename; GtkAction *action; gchar *action_name; @@ -989,6 +990,24 @@ e_task_shell_view_update_search_filter (ETaskShellView *task_shell_view) action_name, category_name, NULL, NULL, ii); g_free (action_name); + /* Convert the category icon file to a themed icon name. */ + filename = e_categories_get_icon_file_for (category_name); + if (filename != NULL && *filename != '\0') { + gchar *basename; + gchar *cp; + + basename = g_path_get_basename (filename); + + /* Lose the file extension. */ + if ((cp = strrchr (basename, '.')) != NULL) + *cp = '\0'; + + g_object_set ( + radio_action, "icon-name", basename, NULL); + + g_free (basename); + } + gtk_radio_action_set_group (radio_action, group); group = gtk_radio_action_get_group (radio_action); |