diff options
author | Bharath Acharya <abharath@novell.com> | 2009-01-27 14:42:23 +0800 |
---|---|---|
committer | Bharath Acharya <abharath@src.gnome.org> | 2009-01-27 14:42:23 +0800 |
commit | 561ab42a1cd7da4bacd6b4080815156c5f95b7a5 (patch) | |
tree | cd43c4fe93cf53198722911ed729d73582439642 /calendar/gui/print.c | |
parent | bbb598d787744af0f5ad7c33240a8e98bab941d6 (diff) | |
download | gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.gz gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.zst gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.zip |
** Fix for bug #463597, bug #463594, bug#463599 (BNC) and ** bug
2009-01-27 Bharath Acharya <abharath@novell.com>
** Fix for bug #463597, bug #463594, bug#463599 (BNC) and
** bug #567824(BGO)
* gui/print.c (titled_box), (print_day_background),
(print_day_view), (print_week_view), (print_month_view): Fix all header
related bugs in calendar printing.
Bug reports:
1) Daily Printouts Display Hour In Wrong Spot :
When you print your daily calendar, it prints the hours in the left
column below the :30 time slot
2) Font Problems On Printout, Days Of Week
3) Calendar Heading Printout Problems, Overlapping Fonts
In print preview, short week day names in the header of the page are
overlapped.
Fixes all header issues mentioned at http://www.go-evolution.org/CalendarPrintoutLove
svn path=/trunk/; revision=37138
Diffstat (limited to 'calendar/gui/print.c')
-rw-r--r-- | calendar/gui/print.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/calendar/gui/print.c b/calendar/gui/print.c index ba02840bec..ccf0c7c618 100644 --- a/calendar/gui/print.c +++ b/calendar/gui/print.c @@ -126,9 +126,9 @@ get_font_size (PangoFontDescription *font) /* The width of the small calendar months, the space from the right edge of the header rectangle, and the space between the months. */ -#define SMALL_MONTH_WIDTH 80 -#define SMALL_MONTH_PAD 4 -#define SMALL_MONTH_SPACING 12 +#define SMALL_MONTH_WIDTH 100 +#define SMALL_MONTH_PAD 5 +#define SMALL_MONTH_SPACING 20 /* The minimum number of rows we leave space for for the long events in the day view. */ @@ -499,7 +499,7 @@ titled_box (GtkPrintContext *context, const char *text, *x1 += 2; *x2 -= 2; *y2 += 2; - print_text (context, font, text, alignment, *x1, *x2, *y1, *y1 + size * 1.4); + print_text (context, font, text, alignment, *x1, *x2, *y1 + 1.0, *y1 + size * 1.4); *y1 += size * 1.4; } @@ -838,10 +838,10 @@ print_day_background (GtkPrintContext *context, GnomeCalendar *gcal, sprintf (buf, "%d", hour); print_text (context, font_hour, buf, PANGO_ALIGN_RIGHT, left, hour_minute_x, - y - yinc + yinc / 2, y - yinc + yinc / 2 + hour_font_size); + y - yinc, y - yinc + hour_font_size); print_text (context, font_minute, minute, PANGO_ALIGN_LEFT, hour_minute_x, left + width - 3, - y - yinc + yinc / 2, y - yinc + yinc / 2 + minute_font_size); + y - yinc, y - yinc + minute_font_size); /* Draw the horizontal line between hours, across the entire width of the day view. */ @@ -2086,7 +2086,7 @@ print_day_view (GtkPrintContext *context, GnomeCalendar *gcal, time_t date) /* Print the filled border around the header. */ print_border (context, 0.0, width, - 0.0, HEADER_HEIGHT + 2.0, 1.0, 0.9); + 0.0, HEADER_HEIGHT + 3.5, 1.0, 0.9); /* Print the 2 mini calendar-months. */ l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH * 2 - SMALL_MONTH_SPACING; @@ -2171,14 +2171,14 @@ print_week_view (GtkPrintContext *context, GnomeCalendar *gcal, time_t date) l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH * 2 - SMALL_MONTH_SPACING; print_month_small (context, gcal, when, - l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 30, + l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 10, DATE_MONTH | DATE_YEAR, when, time_add_week_with_zone (when, 1, zone), FALSE); l += SMALL_MONTH_SPACING + SMALL_MONTH_WIDTH; print_month_small (context, gcal, time_add_month_with_zone (when, 1, zone), - l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 30, + l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 10, DATE_MONTH | DATE_YEAR, when, time_add_week_with_zone (when, 1, zone), FALSE); @@ -2204,6 +2204,7 @@ print_month_view (GtkPrintContext *context, GnomeCalendar *gcal, time_t date) icaltimezone *zone = calendar_config_get_icaltimezone (); char buf[100]; gdouble width, height; + double l; setup = gtk_print_context_get_page_setup (context); @@ -2214,17 +2215,19 @@ print_month_view (GtkPrintContext *context, GnomeCalendar *gcal, time_t date) print_month_summary (context, gcal, date, 0.0, width, HEADER_HEIGHT, height); /* Print the border around the header. */ - print_border (context, 0.0, width, 0.0, HEADER_HEIGHT, 1.0, 0.9); + print_border (context, 0.0, width, 0.0, HEADER_HEIGHT + 10, 1.0, 0.9); + + l = width - SMALL_MONTH_PAD - SMALL_MONTH_WIDTH; /* Print the 2 mini calendar-months. */ print_month_small (context, gcal, time_add_month_with_zone (date, 1, zone), - width - width / 7 + 2, 4, - width - 8, HEADER_HEIGHT, + l, 4, l + SMALL_MONTH_WIDTH, HEADER_HEIGHT + 4, DATE_MONTH | DATE_YEAR, 0, 0, FALSE); + print_month_small (context, gcal, time_add_month_with_zone (date, -1, zone), - 8, 4, width / 7 - 2, HEADER_HEIGHT, + 8, 4, width / 7 + 20, HEADER_HEIGHT + 4, DATE_MONTH | DATE_YEAR, 0, 0, FALSE); /* Print the month, e.g. 'May 2001'. */ |