aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view-main-item.c
diff options
context:
space:
mode:
authorThouis R. Jones <thouis@csail.mit.edu>2005-05-30 17:14:26 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2005-05-30 17:14:26 +0800
commit12390fa1e9b9b94f12840bfca5bb8cea9ca1df49 (patch)
treebba9438e18ca4527865416c3bc8799e717af94e7 /calendar/gui/e-day-view-main-item.c
parent4f64b1167ab2f51c5a534df8244954d0dbde287c (diff)
downloadgsoc2013-evolution-12390fa1e9b9b94f12840bfca5bb8cea9ca1df49.tar.gz
gsoc2013-evolution-12390fa1e9b9b94f12840bfca5bb8cea9ca1df49.tar.zst
gsoc2013-evolution-12390fa1e9b9b94f12840bfca5bb8cea9ca1df49.zip
Fixes #272301
2005-05-30 Thouis R. Jones <thouis@csail.mit.edu> Fixes #272301 * gui/apps_evolution_calendar.schemas.in.in: * gui/calendar-config-keys.h: * gui/calendar-config.c: (calendar_config_get_marcus_bains, calendar_config_add_notification_marcus_bains): * gui/calendar-config.h: * gui/e-day-view-config.c: (set_marcus_bains, marcus_bains_changed_cb, e_day_view_config_set_view): * gui/e-day-view-main-item.c: (e_day_view_main_item_draw): * gui/e-day-view-time-item.c: (e_day_view_time_item_draw): * gui/e-day-view.c: (e_day_view_init, e_day_view_set_colors, e_day_view_get_show_marcus_bains, e_day_view_set_marcus_bains, e_day_view_update_marcus_bains): * gui/e-day-view.h: * gui/gnome-cal.c: (update_marcus_bains_line_cb, setup_widgets, gnome_calendar_destroy): Added Marcus Bains Line to main item view and time bar. svn path=/trunk/; revision=29426
Diffstat (limited to 'calendar/gui/e-day-view-main-item.c')
-rw-r--r--calendar/gui/e-day-view-main-item.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index c936342f74..6203e264e8 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -35,6 +35,7 @@
#include "e-day-view-layout.h"
#include "e-day-view-main-item.h"
#include "ea-calendar.h"
+#include <libecal/e-cal-time-util.h>
static void e_day_view_main_item_set_arg (GtkObject *o, GtkArg *arg,
guint arg_id);
@@ -299,6 +300,44 @@ e_day_view_main_item_draw (GnomeCanvasItem *canvas_item, GdkDrawable *drawable,
x, y, width, height,
day);
}
+
+
+ if (e_day_view_get_show_marcus_bains (day_view)) {
+ icaltimezone *zone;
+ struct icaltimetype time_now, day_start;
+ int marcus_bains_y;
+ GdkColor mb_color;
+
+ gdk_gc_set_foreground (gc, &day_view->colors[E_DAY_VIEW_COLOR_MARCUS_BAINS_LINE]);
+
+ if (day_view->marcus_bains_day_view_color && gdk_color_parse (day_view->marcus_bains_day_view_color, &mb_color)) {
+ GdkColormap *colormap;
+
+ colormap = gtk_widget_get_colormap (GTK_WIDGET (day_view));
+ if (gdk_colormap_alloc_color (colormap, &mb_color, TRUE, TRUE)) {
+ gdk_gc_set_foreground (gc, &mb_color);
+ }
+ }
+
+ zone = e_calendar_view_get_timezone (E_CALENDAR_VIEW (day_view));
+ time_now = icaltime_current_time_with_zone (zone);
+
+ for (day = 0; day < day_view->days_shown; day++) {
+ day_start = icaltime_from_timet_with_zone (day_view->day_starts[day], FALSE, zone);
+
+ if ((day_start.year == time_now.year) &&
+ (day_start.month == time_now.month) &&
+ (day_start.day == time_now.day)) {
+
+ grid_x1 = day_view->day_offsets[day] - x + E_DAY_VIEW_BAR_WIDTH;
+ grid_x2 = day_view->day_offsets[day + 1] - x - 1;
+ marcus_bains_y = (time_now.hour * 60 + time_now.minute) * day_view->row_height / day_view->mins_per_row - y;
+ gdk_draw_line (drawable, gc, grid_x1, marcus_bains_y, grid_x2, marcus_bains_y);
+ }
+ }
+ }
+
+
}