aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view-event-item.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2001-07-01 10:04:46 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2001-07-01 10:04:46 +0800
commit915c3e0e0cfa6ca8751455c19fd509ac0855652d (patch)
treec9172a3c0546182cc23b9c440e945fef3ec7808c /calendar/gui/e-week-view-event-item.c
parent1a5710ebc0c786cb102578c0eb5ee82a979c3065 (diff)
downloadgsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar.gz
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar.bz2
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar.lz
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar.xz
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.tar.zst
gsoc2013-evolution-915c3e0e0cfa6ca8751455c19fd509ac0855652d.zip
draw icons per category
2001-07-01 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw icons per category * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): draw icons per category * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): calculate space for category icons * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): draw icons per category * gui/e-week-view.c (e_week_view_reshape_event_span): calculate space for category icons svn path=/trunk/; revision=10646
Diffstat (limited to 'calendar/gui/e-week-view-event-item.c')
-rw-r--r--calendar/gui/e-week-view-event-item.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c
index ec0d5b8795..023b297992 100644
--- a/calendar/gui/e-week-view-event-item.c
+++ b/calendar/gui/e-week-view-event-item.c
@@ -558,6 +558,7 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem,
GdkGC *gc;
gint num_icons = 0, icon_x_inc;
gboolean draw_reminder_icon = FALSE, draw_recurrence_icon = FALSE;
+ GSList *categories_list, *elem;
week_view = E_WEEK_VIEW (GTK_WIDGET (GNOME_CANVAS_ITEM (wveitem)->canvas)->parent);
@@ -579,6 +580,9 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem,
num_icons++;
}
+ cal_component_get_categories_list (comp, &categories_list);
+ num_icons += g_slist_length (categories_list);
+
icon_x_inc = E_WEEK_VIEW_ICON_WIDTH + E_WEEK_VIEW_ICON_X_PAD;
if (right_align)
@@ -606,6 +610,31 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem,
icon_x += icon_x_inc;
}
+ /* draw categories icons */
+ for (elem = categories_list; elem; elem = elem->next) {
+ char *category;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+
+ category = (char *) elem->data;
+ /* FIXME: get icon for this category */
+ pixmap = week_view->recurrence_icon;
+ mask = week_view->recurrence_mask;
+
+ if (icon_x + E_WEEK_VIEW_ICON_WIDTH <= x2) {
+ gdk_gc_set_clip_origin (gc, icon_x, icon_y);
+ gdk_gc_set_clip_mask (gc, mask);
+ gdk_draw_pixmap (drawable, gc,
+ pixmap,
+ 0, 0, icon_x, icon_y,
+ E_WEEK_VIEW_ICON_WIDTH,
+ E_WEEK_VIEW_ICON_HEIGHT);
+ icon_x += icon_x_inc;
+ }
+ }
+
+ cal_component_free_categories_list (categories_list);
+
gdk_gc_set_clip_mask (gc, NULL);
}