summaryrefslogtreecommitdiff
path: root/gtk/gtkcalendar.c
diff options
context:
space:
mode:
authorRobert Brady <robert@suse.co.uk>2000-11-12 22:15:43 +0000
committerRobert Brady <rbrady@src.gnome.org>2000-11-12 22:15:43 +0000
commitb17f1a964afd56fc9e58074cbfe8c83ee4befd07 (patch)
tree225e9425b27fb618aa327b5e149181922ef10a2a /gtk/gtkcalendar.c
parent2cb2d33b2086617fcb8d968f08bde3e60e09a9f7 (diff)
downloadgtk+-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.c14
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);
}