aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view-main-item.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-07-03 22:17:28 +0800
committerMilan Crha <mcrha@redhat.com>2009-07-03 22:17:28 +0800
commit266d51479ab6bc1fb2afddf73ef275047e6ced37 (patch)
tree431422e6c38a1497a763f69bb1d70ed2480806c4 /calendar/gui/e-day-view-main-item.c
parent044adbe76a1bf09d83ece2ad7944d1d549fa4f34 (diff)
downloadgsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar.gz
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar.bz2
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar.lz
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar.xz
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.tar.zst
gsoc2013-evolution-266d51479ab6bc1fb2afddf73ef275047e6ced37.zip
Bug #251694 - Highlight current day in a calendar
Diffstat (limited to 'calendar/gui/e-day-view-main-item.c')
-rw-r--r--calendar/gui/e-day-view-main-item.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index 48830be99f..faed90a795 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -175,9 +175,10 @@ e_day_view_main_item_draw (GnomeCanvasItem *canvas_item, GdkDrawable *drawable,
gint work_day_start_y, work_day_end_y;
gint day_x, day_w, work_day;
gint start_row, end_row, rect_x, rect_y, rect_width, rect_height;
- struct icaltimetype day_start_tt;
+ struct icaltimetype day_start_tt, today_tt;
gint weekday;
cairo_t *cr;
+ gboolean today = FALSE;
cr = gdk_cairo_create (drawable);
@@ -197,6 +198,9 @@ e_day_view_main_item_draw (GnomeCanvasItem *canvas_item, GdkDrawable *drawable,
gc = day_view->main_gc;
work_day_end_y = e_day_view_convert_time_to_position (day_view, day_view->work_day_end_hour, day_view->work_day_end_minute) - y;
+ today_tt = icaltime_from_timet_with_zone (time (NULL), FALSE,
+ e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view)));
+
for (day = 0; day < day_view->days_shown; day++) {
day_start_tt = icaltime_from_timet_with_zone (day_view->day_starts[day], FALSE,
e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view)));
@@ -216,8 +220,17 @@ e_day_view_main_item_draw (GnomeCanvasItem *canvas_item, GdkDrawable *drawable,
cairo_fill (cr);
cairo_restore (cr);
+ if (day_view->days_shown > 1) {
+ /* Check if we are drawing today */
+ today = day_start_tt.year == today_tt.year
+ && day_start_tt.month == today_tt.month
+ && day_start_tt.day == today_tt.day;
+ } else {
+ today = FALSE;
+ }
+
cairo_save (cr);
- gdk_cairo_set_source_color (cr, &day_view->colors[E_DAY_VIEW_COLOR_BG_WORKING]);
+ gdk_cairo_set_source_color (cr, &day_view->colors[today ? E_DAY_VIEW_COLOR_BG_MULTIDAY_TODAY : E_DAY_VIEW_COLOR_BG_WORKING]);
cairo_rectangle (cr, day_x, work_day_start_y, day_w,
work_day_end_y - work_day_start_y);