diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/e-week-view-event-item.c | 17 | ||||
-rw-r--r-- | calendar/gui/e-week-view.c | 6 | ||||
-rw-r--r-- | calendar/gui/e-week-view.h | 2 | ||||
-rw-r--r-- | calendar/gui/print.c | 2 |
4 files changed, 26 insertions, 1 deletions
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c index 06a065d364..a31b6e3ae6 100644 --- a/calendar/gui/e-week-view-event-item.c +++ b/calendar/gui/e-week-view-event-item.c @@ -559,6 +559,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; + gboolean draw_timezone_icon = FALSE; GSList *categories_list, *elem; week_view = E_WEEK_VIEW (GTK_WIDGET (GNOME_CANVAS_ITEM (wveitem)->canvas)->parent); @@ -581,6 +582,11 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, num_icons++; } + if (!cal_component_compare_event_timezone (comp, week_view->zone)) { + draw_timezone_icon = TRUE; + num_icons++; + } + cal_component_get_categories_list (comp, &categories_list); num_icons += g_slist_length (categories_list); @@ -611,6 +617,17 @@ e_week_view_event_item_draw_icons (EWeekViewEventItem *wveitem, icon_x += icon_x_inc; } + if (draw_timezone_icon && icon_x + E_WEEK_VIEW_ICON_WIDTH <= x2) { + gdk_gc_set_clip_origin (gc, icon_x, icon_y); + gdk_gc_set_clip_mask (gc, week_view->timezone_mask); + gdk_draw_pixmap (drawable, gc, + week_view->timezone_icon, + 0, 0, icon_x, icon_y, + E_WEEK_VIEW_ICON_WIDTH, + E_WEEK_VIEW_ICON_HEIGHT); + icon_x += icon_x_inc; + } + /* draw categories icons */ for (elem = categories_list; elem; elem = elem->next) { char *category; diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 62e44644fa..2cf036289f 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -60,6 +60,7 @@ /* Images */ #include "art/bell.xpm" #include "art/recur.xpm" +#include "art/timezone-16.xpm" #include "art/jump.xpm" #define E_WEEK_VIEW_SMALL_FONT \ @@ -541,6 +542,7 @@ e_week_view_realize (GtkWidget *widget) /* Create the pixmaps. */ week_view->reminder_icon = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &week_view->reminder_mask, NULL, bell_xpm); week_view->recurrence_icon = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &week_view->recurrence_mask, NULL, recur_xpm); + week_view->timezone_icon = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &week_view->timezone_mask, NULL, timezone_16_xpm); } @@ -2457,6 +2459,10 @@ e_week_view_reshape_event_span (EWeekView *week_view, if (cal_component_has_recurrences (comp)) num_icons++; + if (!cal_component_compare_event_timezone (comp, + week_view->zone)) + num_icons++; + cal_component_get_categories_list (comp, &categories_list); num_icons += g_slist_length (categories_list); diff --git a/calendar/gui/e-week-view.h b/calendar/gui/e-week-view.h index 4bbc0477d2..5b3f257f5e 100644 --- a/calendar/gui/e-week-view.h +++ b/calendar/gui/e-week-view.h @@ -303,6 +303,8 @@ struct _EWeekView GdkBitmap *reminder_mask; GdkPixmap *recurrence_icon; GdkBitmap *recurrence_mask; + GdkPixmap *timezone_icon; + GdkBitmap *timezone_mask; /* Colors for drawing. */ GdkColor colors[E_WEEK_VIEW_COLOR_LAST]; diff --git a/calendar/gui/print.c b/calendar/gui/print.c index 5fda525e71..9a290fdf09 100644 --- a/calendar/gui/print.c +++ b/calendar/gui/print.c @@ -2104,7 +2104,7 @@ print_date_label (GnomePrintContext *pc, CalComponent *comp, cal_component_get_completed (comp, &datetime.value); if (datetime.value) complete = icaltime_as_timet_with_zone (*datetime.value, zone); - cal_component_free_icaltimetype (&datetime.value); + cal_component_free_icaltimetype (datetime.value); buffer[0] = '\0'; |