evolution r35731 - trunk/widgets/misc
- From: msuman svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution r35731 - trunk/widgets/misc
- Date: Mon, 7 Jul 2008 08:50:35 +0000 (UTC)
Author: msuman
Date: Mon Jul 7 08:50:34 2008
New Revision: 35731
URL: http://svn.gnome.org/viewvc/evolution?rev=35731&view=rev
Log:
Fix for bug #370731 (bugzilla.novell.com): Use MAX (<max width of day-names>, (2 * <max width of a digit>)) to determine the minimal size for each cell. This prevents the numbers and day-names from getting fuzzy when using large font-sizes.
Modified:
trunk/widgets/misc/ChangeLog
trunk/widgets/misc/e-calendar-item.c
trunk/widgets/misc/e-calendar-item.h
Modified: trunk/widgets/misc/e-calendar-item.c
==============================================================================
--- trunk/widgets/misc/e-calendar-item.c (original)
+++ trunk/widgets/misc/e-calendar-item.c Mon Jul 7 08:50:34 2008
@@ -974,7 +974,7 @@
calitem->month_width = calitem->min_month_width;
calitem->month_height = calitem->min_month_height;
- calitem->cell_width = calitem->max_digit_width * 2
+ calitem->cell_width = MAX (calitem->max_day_width, (calitem->max_digit_width * 2))
+ E_CALENDAR_ITEM_MIN_CELL_XPAD;
calitem->cell_height = char_height
+ E_CALENDAR_ITEM_MIN_CELL_YPAD;
@@ -1305,7 +1305,7 @@
gdk_gc_set_clip_rectangle (fg_gc, &clip_rect);
/* Draw the day initials across the top of the month. */
- min_cell_width = calitem->max_digit_width * 2
+ min_cell_width = MAX (calitem->max_day_width, (calitem->max_digit_width * 2))
+ E_CALENDAR_ITEM_MIN_CELL_XPAD;
cells_x = month_x + E_CALENDAR_ITEM_XPAD_BEFORE_WEEK_NUMBERS + calitem->month_lpad
@@ -1431,7 +1431,7 @@
PANGO_PIXELS (pango_font_metrics_get_ascent (font_metrics)) +
PANGO_PIXELS (pango_font_metrics_get_descent (font_metrics));
- min_cell_width = calitem->max_digit_width * 2
+ min_cell_width = MAX (calitem->max_day_width, (calitem->max_digit_width * 2))
+ E_CALENDAR_ITEM_MIN_CELL_XPAD;
min_cell_height = char_height + E_CALENDAR_ITEM_MIN_CELL_YPAD;
@@ -1920,7 +1920,7 @@
GnomeCanvasItem *canvas_item;
GtkStyle *style;
gchar *digits = "0123456789";
- gint day, digit, max_digit_width, max_week_number_digit_width;
+ gint day, max_day_width, digit, max_digit_width, max_week_number_digit_width;
gint char_height, width, min_cell_width, min_cell_height;
PangoFontDescription *font_desc, *wkfont_desc;
PangoContext *pango_context;
@@ -1949,10 +1949,15 @@
PANGO_PIXELS (pango_font_metrics_get_ascent (font_metrics)) +
PANGO_PIXELS (pango_font_metrics_get_descent (font_metrics));
+ max_day_width = 0;
for (day = 0; day < 7; day++) {
layout_set_day_text (calitem, layout, day);
- pango_layout_get_pixel_size (layout, &calitem->day_widths [day], NULL);
+ pango_layout_get_pixel_size (layout, &width, NULL);
+
+ calitem->day_widths[day] = width;
+ max_day_width = MAX (max_day_width, width);
}
+ calitem->max_day_width = max_day_width;
max_digit_width = 0;
max_week_number_digit_width = 0;
@@ -1983,7 +1988,7 @@
calitem->max_digit_width = max_digit_width;
calitem->max_week_number_digit_width = max_week_number_digit_width;
- min_cell_width = calitem->max_digit_width * 2
+ min_cell_width = MAX (calitem->max_day_width, (calitem->max_digit_width * 2))
+ E_CALENDAR_ITEM_MIN_CELL_XPAD;
min_cell_height = char_height + E_CALENDAR_ITEM_MIN_CELL_YPAD;
Modified: trunk/widgets/misc/e-calendar-item.h
==============================================================================
--- trunk/widgets/misc/e-calendar-item.h (original)
+++ trunk/widgets/misc/e-calendar-item.h Mon Jul 7 08:50:34 2008
@@ -218,10 +218,12 @@
/* Widths of the day characters. */
gint day_widths[7];
+ gint max_day_width;
/* Widths of the digits, '0' .. '9'. */
gint digit_widths[10];
gint max_digit_width;
+
gint week_number_digit_widths[10];
gint max_week_number_digit_width;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]