aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/print.c
diff options
context:
space:
mode:
authorBharath Acharya <abharath@novell.com>2009-01-27 14:42:23 +0800
committerBharath Acharya <abharath@src.gnome.org>2009-01-27 14:42:23 +0800
commit561ab42a1cd7da4bacd6b4080815156c5f95b7a5 (patch)
treecd43c4fe93cf53198722911ed729d73582439642 /calendar/gui/print.c
parentbbb598d787744af0f5ad7c33240a8e98bab941d6 (diff)
downloadgsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar
gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.gz
gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.bz2
gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.lz
gsoc2013-evolution-561ab42a1cd7da4bacd6b4080815156c5f95b7a5.tar.xz
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.c29
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'. */