From 1f9b380238c983957bdfa7a1bea7e300086c85ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erick=20P=C3=A9rez=20Castellanos?= Date: Thu, 18 Dec 2014 01:54:24 -0500 Subject: [PATCH] month-view: overflow indicator drawn centered --- src/gcal-month-view.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/gcal-month-view.c b/src/gcal-month-view.c index 2cbec14d..7d73640f 100644 --- a/src/gcal-month-view.c +++ b/src/gcal-month-view.c @@ -980,18 +980,24 @@ gcal_month_view_draw (GtkWidget *widget, if (g_hash_table_contains (priv->overflown_days, GINT_TO_POINTER (i))) { + PangoLayout *overflow_layout; gchar *overflow_str; + /* TODO: Warning in some languags this string can be too long and may overlap wit the number */ overflow_str = g_strdup_printf (_("Other %d events"), 2); /* FIXME: handle plurars property */ - pango_layout_set_text (layout, overflow_str, -1); - pango_layout_get_pixel_size (layout, &font_width, &font_height); + overflow_layout = gtk_widget_create_pango_layout (widget, overflow_str); + + pango_layout_set_width (overflow_layout, pango_units_from_double (cell_width)); + pango_layout_set_alignment (overflow_layout, PANGO_ALIGN_CENTER); + pango_layout_get_pixel_size (overflow_layout, &font_width, &font_height); gtk_render_layout (context, cr, - cell_width * (column + k) + sw * padding.right - k * font_width, + cell_width * column, cell_height * (row + 1 + first_row_gap) - font_height - padding.bottom + start_grid_y, - layout); + overflow_layout); g_free (overflow_str); + g_object_unref (overflow_layout); } g_free (nr_day);