mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-06 00:30:08 +00:00
Another attempt to correct the calculations for the first week day. We may
2005-09-30 Matthias Clasen <mclasen@redhat.com> * gtk/gtkcalendar.c (gtk_calendar_init): Another attempt to correct the calculations for the first week day. We may just have to remove this code if too many locales turn out to have broken data.
This commit is contained in:
parent
0d047a359d
commit
c693b5d641
@ -1,5 +1,10 @@
|
||||
2005-09-30 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
|
||||
to correct the calculations for the first week day. We may
|
||||
just have to remove this code if too many locales turn out
|
||||
to have broken data.
|
||||
|
||||
* gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
|
||||
some cases. (#317611, Tommi Komulainen)
|
||||
|
||||
|
@ -1,5 +1,10 @@
|
||||
2005-09-30 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
|
||||
to correct the calculations for the first week day. We may
|
||||
just have to remove this code if too many locales turn out
|
||||
to have broken data.
|
||||
|
||||
* gtk/gtkimage.c (gtk_image_expose): Don't leak pixbuf in
|
||||
some cases. (#317611, Tommi Komulainen)
|
||||
|
||||
|
@ -565,7 +565,9 @@ gtk_calendar_init (GtkCalendar *calendar)
|
||||
time_t tmp_time;
|
||||
GtkCalendarPrivate *priv;
|
||||
gchar *year_before;
|
||||
gchar *week_start, week_startsub = 1;
|
||||
gchar *langinfo;
|
||||
gint week_1stday = 0;
|
||||
gint first_weekday = 1;
|
||||
guint week_origin;
|
||||
|
||||
priv = calendar->priv = G_TYPE_INSTANCE_GET_PRIVATE (calendar,
|
||||
@ -652,16 +654,18 @@ gtk_calendar_init (GtkCalendar *calendar)
|
||||
g_warning ("Whoever translated calendar:MY did so wrongly.\n");
|
||||
|
||||
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
|
||||
week_start = nl_langinfo (_NL_TIME_FIRST_WEEKDAY);
|
||||
week_origin = GPOINTER_TO_INT (nl_langinfo (_NL_TIME_WEEK_1STDAY));
|
||||
if (week_origin == 19971130)
|
||||
week_startsub = 0;
|
||||
else if (week_origin == 19971201)
|
||||
week_startsub = 1;
|
||||
langinfo = nl_langinfo (_NL_TIME_FIRST_WEEKDAY);
|
||||
first_weekday = langinfo[0];
|
||||
langinfo = nl_langinfo (_NL_TIME_WEEK_1STDAY);
|
||||
week_origin = GPOINTER_TO_INT (langinfo);
|
||||
if (week_origin == 19971130) /* Sunday */
|
||||
week_1stday = 0;
|
||||
else if (week_origin == 19971201) /* Monday */
|
||||
week_1stday = 1;
|
||||
else
|
||||
g_warning ("Unknown value of _NL_TIME_WEEK_1STDAY.\n");
|
||||
|
||||
priv->week_start = (*((unsigned char *) week_start) - week_startsub) % 7;
|
||||
priv->week_start = (week_1stday + first_weekday - 1) % 7;
|
||||
#else
|
||||
/* Translate to calendar:week_start:0 if you want Sunday to be the
|
||||
* first day of the week to calendar:week_start:1 if you want Monday
|
||||
|
Loading…
Reference in New Issue
Block a user