diff options
Diffstat (limited to 'calendar/gui/e-week-view-event-item.c')
-rw-r--r-- | calendar/gui/e-week-view-event-item.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c index 80625dbd3c..a512fad491 100644 --- a/calendar/gui/e-week-view-event-item.c +++ b/calendar/gui/e-week-view-event-item.c @@ -595,6 +595,7 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, gint num_icons = 0, icon_x_inc; gboolean draw_reminder_icon = FALSE, draw_recurrence_icon = FALSE; gboolean draw_timezone_icon = FALSE, draw_attach_icon = FALSE; + gboolean draw_meeting_icon = FALSE; GSList *categories_list, *elem; week_view = E_WEEK_VIEW (GTK_WIDGET (GNOME_CANVAS_ITEM (wveitem)->canvas)->parent); @@ -621,6 +622,11 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, num_icons++; } + if (e_cal_component_has_organizer (comp)) { + draw_meeting_icon = TRUE; + num_icons++; + } + if (event->different_timezone) { draw_timezone_icon = TRUE; num_icons++; @@ -690,6 +696,18 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, icon_x += icon_x_inc; } + if (draw_meeting_icon && icon_x + E_WEEK_VIEW_ICON_WIDTH <= x2) { + gdk_gc_set_clip_mask (gc, NULL); + gdk_draw_pixbuf (drawable, gc, + week_view->meeting_icon, + 0, 0, icon_x, icon_y, + E_WEEK_VIEW_ICON_WIDTH, + E_WEEK_VIEW_ICON_HEIGHT, + GDK_RGB_DITHER_NORMAL, + 0, 0); + icon_x += icon_x_inc; + } + /* draw categories icons */ for (elem = categories_list; elem; elem = elem->next) { char *category; @@ -1294,6 +1312,7 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, gint num_icons = 0, icon_x_inc; gboolean draw_reminder_icon = FALSE, draw_recurrence_icon = FALSE; gboolean draw_timezone_icon = FALSE, draw_attach_icon = FALSE; + gboolean draw_meeting_icon = FALSE; GSList *categories_list, *elem; cairo_t *cr; @@ -1321,6 +1340,11 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, draw_attach_icon = TRUE; num_icons++; } + + if (e_cal_component_has_organizer (comp)) { + draw_meeting_icon = TRUE; + num_icons++; + } if (event->different_timezone) { draw_timezone_icon = TRUE; @@ -1377,6 +1401,14 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, icon_x += icon_x_inc; } + if (draw_meeting_icon && icon_x + E_WEEK_VIEW_ICON_WIDTH <= x2) { + cairo_save (cr); + gdk_cairo_set_source_pixbuf (cr, week_view->meeting_icon, icon_x, icon_y); + cairo_paint (cr); + cairo_restore (cr); + icon_x += icon_x_inc; + } + /* draw categories icons */ for (elem = categories_list; elem; elem = elem->next) { char *category; |