From e119ae2938fb1e3b41191fe958857c4b8f414a32 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 27 Jul 2009 17:38:25 +0200 Subject: Bug #575581 - All Day Events Should Not Depend On Calendar Scrolling --- calendar/gui/e-day-view-top-item.c | 7 +++++-- calendar/gui/e-day-view.c | 8 +++++--- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'calendar') diff --git a/calendar/gui/e-day-view-top-item.c b/calendar/gui/e-day-view-top-item.c index c4865ee707..09ed59e6e4 100644 --- a/calendar/gui/e-day-view-top-item.c +++ b/calendar/gui/e-day-view-top-item.c @@ -287,14 +287,17 @@ e_day_view_top_item_draw (GnomeCanvasItem *canvas_item, e_day_view_top_item_get_day_label (day_view, day, buffer, sizeof (buffer)); clip_rect.x = day_view->day_offsets[day] - x; clip_rect.y = 2 - y; - clip_rect.width = day_view->day_widths[day]; + if (day_view->days_shown == 1) + clip_rect.width = day_view->top_canvas->allocation.width - day_view->day_offsets[day]; + else + clip_rect.width = day_view->day_widths[day]; clip_rect.height = item_height - 2; gdk_gc_set_clip_rectangle (fg_gc, &clip_rect); layout = gtk_widget_create_pango_layout (GTK_WIDGET (day_view), buffer); pango_layout_get_pixel_size (layout, &date_width, NULL); - date_x = day_view->day_offsets[day] + (day_view->day_widths[day] - date_width) / 2; + date_x = day_view->day_offsets[day] + (clip_rect.width - date_width) / 2; gdk_draw_layout (drawable, fg_gc, date_x - x, diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index c3533e629c..7e7e5f7624 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -6692,9 +6692,11 @@ e_day_view_get_long_event_position (EDayView *day_view, } *item_x = day_view->day_offsets[*start_day] + E_DAY_VIEW_BAR_WIDTH; - *item_w = day_view->day_offsets[*end_day + 1] - *item_x - - E_DAY_VIEW_GAP_WIDTH; - *item_w = MAX (*item_w, 0); + if (day_view->days_shown == 1) + *item_w = day_view->top_canvas->allocation.width; + else + *item_w = day_view->day_offsets[*end_day + 1]; + *item_w = MAX (*item_w - *item_x - E_DAY_VIEW_GAP_WIDTH, 0); *item_y = (event->start_row_or_col) * day_view->top_row_height; *item_h = day_view->top_row_height - E_DAY_VIEW_TOP_CANVAS_Y_GAP; return TRUE; -- cgit v1.2.3