Index: gtk/gtkcalendar.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkcalendar.c,v
retrieving revision 1.51
diff -u -p -r1.51 gtkcalendar.c
--- gtk/gtkcalendar.c	3 Jul 2003 01:02:03 -0000	1.51
+++ gtk/gtkcalendar.c	19 Jul 2003 19:36:50 -0000
@@ -224,7 +224,6 @@ enum
   PROP_SHOW_DAY_NAMES,
   PROP_NO_MONTH_CHANGE,
   PROP_SHOW_WEEK_NUMBERS,
-  PROP_WEEK_START_MONDAY,
   PROP_LAST
 };
 
@@ -493,22 +492,6 @@ gtk_calendar_class_init (GtkCalendarClas
 							 FALSE,
 							 G_PARAM_READWRITE));
 
-/**
- * GtkCalendar:week-start-monday:
- *
- * If this is %TRUE, Monday is displayed as the first day of the week.
- *
- * Since: 2.4
- */
-  g_object_class_install_property (gobject_class,
-                                   PROP_WEEK_START_MONDAY,
-                                   g_param_spec_boolean ("week_start_monday",
-							 _("Week Start Monday"),
-							 _("If TRUE, Monday is displayed as the first day of the week"),
-							 FALSE,
-							 G_PARAM_READWRITE));
-
-
   gtk_calendar_signals[MONTH_CHANGED_SIGNAL] =
     g_signal_new ("month_changed",
 		  G_OBJECT_CLASS_TYPE (gobject_class),
@@ -1679,6 +1662,28 @@ gtk_calendar_paint_header (GtkWidget *wi
   g_object_unref (layout);
 }
 
+static gint 
+week_start (void) 
+{
+  gint week_start = 0;
+  /* Translate to calendar:week_start:1 if you want Monday to be
+   * the first day of the week; otherwise translate to 
+   * calendar:week_start:0. 
+   * Do *not* translate it to anything else, if it
+   * it isn't calendar:week_start:1 or calendar:week_start:0 it will 
+   * not work.
+   */
+   gchar *locale_week_start = _("calendar:week_start:0");
+   if (strcmp (locale_week_start, "calendar:week_start:1") == 0)
+     week_start = 1;
+   else if (strcmp (locale_week_start, "calendar:week_start:0") == 0) 
+     week_start = 0;
+   else
+     g_warning ("Whoever translated calendar:week_start:0 did so wrongly.\n");
+   
+   return week_start;
+}
+
 static void
 gtk_calendar_paint_day_names (GtkWidget *widget)
 {
@@ -1756,7 +1761,7 @@ gtk_calendar_paint_day_names (GtkWidget 
 	day = 6 - i;
       else
 	day = i;
-      if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY)
+      if (week_start () == 1) 
 	day= (day+1)%7;
       g_snprintf (buffer, sizeof (buffer), "%s", default_abbreviated_dayname[day]);
 
@@ -2078,7 +2083,7 @@ gtk_calendar_compute_days (GtkCalendar *
   
   first_day = day_of_week (year, month, 1);
   
-  if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY)
+  if (week_start () == 1)
     first_day--;
   else
     first_day %= 7;
@@ -2269,19 +2274,9 @@ gtk_calendar_set_display_options (GtkCal
 	      private_data->week_win = NULL;
 	    }
 	}
-      
+
       if ((flags ^ calendar->display_flags) & GTK_CALENDAR_WEEK_START_MONDAY)
-	{
-	  if (calendar->display_flags & GTK_CALENDAR_WEEK_START_MONDAY)
-	    calendar->display_flags &= ~GTK_CALENDAR_WEEK_START_MONDAY;
-	  else
-	    calendar->display_flags |= GTK_CALENDAR_WEEK_START_MONDAY;
-	  
-	  gtk_calendar_compute_days (calendar);
-	  gtk_calendar_paint_main (GTK_WIDGET (calendar));
-	  if (private_data->day_name_win)
-	    gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
-	}
+	g_warning ("GTK_CALENDAR_WEEK_START_MONDAY is ignored; the first day of the week is determined from the locale");
       
       calendar->display_flags = flags;
       if (resize)
@@ -2300,8 +2295,6 @@ gtk_calendar_set_display_options (GtkCal
     g_object_notify (G_OBJECT (calendar), "no_month_change");
   if ((old_flags ^ calendar->display_flags) & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
     g_object_notify (G_OBJECT (calendar), "show_week_numbers");
-  if ((old_flags ^ calendar->display_flags) & GTK_CALENDAR_WEEK_START_MONDAY)
-    g_object_notify (G_OBJECT (calendar), "week_start_monday");
   g_object_thaw_notify (G_OBJECT (calendar));
 }
 
@@ -3091,11 +3084,6 @@ gtk_calendar_set_property (GObject      
 				       GTK_CALENDAR_SHOW_WEEK_NUMBERS,
 				       g_value_get_boolean (value));
       break;
-    case PROP_WEEK_START_MONDAY:
-      gtk_calendar_set_display_option (calendar,
-				       GTK_CALENDAR_WEEK_START_MONDAY,
-				       g_value_get_boolean (value));
-      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -3138,10 +3126,6 @@ gtk_calendar_get_property (GObject      
     case PROP_SHOW_WEEK_NUMBERS:
       g_value_set_boolean (value, gtk_calendar_get_display_option (calendar,
 								   GTK_CALENDAR_SHOW_WEEK_NUMBERS));
-      break;
-    case PROP_WEEK_START_MONDAY:
-      g_value_set_boolean (value, gtk_calendar_get_display_option (calendar,
-								   GTK_CALENDAR_WEEK_START_MONDAY));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
