aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view-event-item.c
diff options
context:
space:
mode:
authorHiroyuki Ikezoe <poincare@ikezoe.net>2007-08-27 08:04:51 +0800
committerHiroyuki Ikezoe <hiikezoe@src.gnome.org>2007-08-27 08:04:51 +0800
commit3b4ea2c95eaccf15717826b9c3384484cb7107f1 (patch)
tree0260664c76364082b9f3096e9b87ee7d1748c60c /calendar/gui/e-week-view-event-item.c
parent7fcfa2bdbe657bceb8bdc1190c3f4c65bb0a4a85 (diff)
downloadgsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar.gz
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar.bz2
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar.lz
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar.xz
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.tar.zst
gsoc2013-evolution-3b4ea2c95eaccf15717826b9c3384484cb7107f1.zip
** Fix for the same issue of week view of bug #330628
2007-08-27 Hiroyuki Ikezoe <poincare@ikezoe.net> ** Fix for the same issue of week view of bug #330628 * gui/e-week-view.h: Add meeting_icon. * gui/e-week-view.c: (e_week_view_realize): Load meeting_icon. * gui/e-week-view.c: (e_week_view_unrealize): Dispose meeting_icon. * gui/e-week-view-event-item.c: (e_week_view_event_item_draw_icons): Show meeting icon. svn path=/trunk/; revision=34106
Diffstat (limited to 'calendar/gui/e-week-view-event-item.c')
-rw-r--r--calendar/gui/e-week-view-event-item.c32
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;