diff options
author | Robert Brady <robert@suse.co.uk> | 2000-11-12 22:15:43 +0000 |
---|---|---|
committer | Robert Brady <rbrady@src.gnome.org> | 2000-11-12 22:15:43 +0000 |
commit | b17f1a964afd56fc9e58074cbfe8c83ee4befd07 (patch) | |
tree | 225e9425b27fb618aa327b5e149181922ef10a2a /gtk/gtkcalendar.c | |
parent | 2cb2d33b2086617fcb8d968f08bde3e60e09a9f7 (diff) | |
download | gtk+-b17f1a964afd56fc9e58074cbfe8c83ee4befd07.tar.gz |
g_filename_{to,from}_utf8 now takes an extra parameter.
Sun Nov 12 22:15:35 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c:
g_filename_{to,from}_utf8 now takes an extra parameter.
* gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
strftime into UTF-8.
(column_from_x, gtk_calendar_paint_day_names): Support RTL
calendars.
(gtk_calendar_paint_day_names): Draw day names in the right
place.
Diffstat (limited to 'gtk/gtkcalendar.c')
-rw-r--r-- | gtk/gtkcalendar.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 5b0a616271..5403611235 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -440,7 +440,7 @@ gtk_calendar_init (GtkCalendar *calendar) { tmp_time= (i+3)*86400; strftime ( buffer, sizeof (buffer), "%a", gmtime (&tmp_time)); - default_abbreviated_dayname[i] = g_strdup (buffer); + default_abbreviated_dayname[i] = g_locale_to_utf8 (buffer, NULL); } if (!default_monthname[0]) @@ -448,7 +448,7 @@ gtk_calendar_init (GtkCalendar *calendar) { tmp_time=i*2764800; strftime ( buffer, sizeof (buffer), "%B", gmtime (&tmp_time)); - default_monthname[i] = g_strdup (buffer); + default_monthname[i] = g_locale_to_utf8 (buffer, NULL); } /* Set defaults */ @@ -570,6 +570,9 @@ left_x_for_column (GtkCalendar *calendar, gint width; gint x_left; + if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL) + column = 6 - column; + width = GTK_CALENDAR_PRIVATE_DATA (calendar)->day_width; if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS) x_left = DAY_XSEP + (width + DAY_XSEP) * column; @@ -1671,7 +1674,10 @@ gtk_calendar_paint_day_names (GtkWidget *widget) gdk_gc_set_foreground (gc, &widget->style->fg[GTK_STATE_SELECTED]); for (i = 0; i < 7; i++) { - day=i; + if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL) + day = 6 - i; + else + day = i; if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY) day= (day+1)%7; sprintf (buffer, "%s", default_abbreviated_dayname[day]); @@ -1684,7 +1690,7 @@ gtk_calendar_paint_day_names (GtkWidget *widget) + day_wid_sep * i + private_data->week_width + (day_width - logical_rect.width)/2), - CALENDAR_MARGIN + DAY_YPAD + private_data->max_label_char_ascent + logical_rect.y, + CALENDAR_MARGIN + DAY_YPAD + logical_rect.y, layout); } |