--- Begin Message ---
- From: Harry Lu <Harry Lu Sun COM>
- To: evolution-patches <evolution-patches ximian com>
- Subject: [evolution-patches] don't split sentences in a11y calendar code (71924, 71926, 71932)
- Date: Tue, 01 Feb 2005 16:57:18 +0800
JP and Rodrigo,
Attached is the patch for those 3 i18n a11y bugs in calendar. Please
review it.
Thanks!
Harry
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/a11y/ChangeLog,v
retrieving revision 1.30
diff -u -r1.30 ChangeLog
--- ChangeLog 31 Jan 2005 14:42:52 -0000 1.30
+++ ChangeLog 1 Feb 2005 08:51:20 -0000
@@ -1,3 +1,16 @@
+2005-02-01 Harry Lu <harry lu sun com>
+
+ Fix for 71924, 71926, 71932
+ Don't split sentences that need translation.
+ Also remove two useless variables.
+
+ * calendar/ea-cal-view-event.c: (ea_cal_view_event_get_name):
+ * calendar/ea-day-view.c: (ea_day_view_get_name):
+ * calendar/ea-week-view.c: (ea_week_view_get_name),
+ (ea_week_view_get_n_children):
+ * widgets/ea-calendar-item.c: (ea_calendar_item_get_name),
+ (e_calendar_item_get_offset_for_date):
+
2005-01-31 Rodrigo Moya <rodrigo novell com>
Fixes #71929
Index: calendar/ea-cal-view-event.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-cal-view-event.c,v
retrieving revision 1.10
diff -u -r1.10 ea-cal-view-event.c
--- calendar/ea-cal-view-event.c 30 Sep 2004 07:32:36 -0000 1.10
+++ calendar/ea-cal-view-event.c 1 Feb 2005 08:51:22 -0000
@@ -216,8 +216,8 @@
AtkGObjectAccessible *atk_gobj;
GObject *g_obj;
ECalendarViewEvent *event;
- gchar *tmp_name;
- gchar *new_name = g_strdup ("");
+ gchar *name_string;
+ gchar *alarm_string, *recur_string, *meeting_string, *summary_string;
const char *summary;
@@ -229,53 +229,33 @@
return NULL;
event = ea_calendar_helpers_get_cal_view_event_from (GNOME_CANVAS_ITEM(g_obj));
+ alarm_string = recur_string = meeting_string = "";
if (event && event->comp_data) {
- if (e_cal_util_component_has_alarms (event->comp_data->icalcomp)) {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("alarm "), NULL);
- g_free (tmp_name);
- }
-
- if (e_cal_util_component_has_recurrences (event->comp_data->icalcomp)) {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("recurrence "), NULL);
- g_free (tmp_name);
- }
-
- if (event->different_timezone) {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("time-zone "), NULL);
- g_free (tmp_name);
- }
-
- if (e_cal_util_component_has_organizer (event->comp_data->icalcomp)) {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("meeting "), NULL);
- g_free (tmp_name);
- }
+ if (e_cal_util_component_has_alarms (event->comp_data->icalcomp))
+ alarm_string = _("It has alarms.");
+
+ if (e_cal_util_component_has_recurrences (event->comp_data->icalcomp))
+ recur_string = _("It has recurrences.");
+
+ if (e_cal_util_component_has_organizer (event->comp_data->icalcomp))
+ meeting_string = _("It is a meeting.");
+
}
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("event. Summary is "), NULL);
- g_free (tmp_name);
summary = icalcomponent_get_summary (event->comp_data->icalcomp);
- if (summary) {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, summary, NULL);
- g_free (tmp_name);
- }
- else {
- tmp_name = new_name;
- new_name = g_strconcat (new_name, _("empty"), NULL);
- g_free (tmp_name);
- }
+ if (summary)
+ summary_string = g_strdup_printf (_("Calendar Event: Summary is %s."), summary);
+ else
+ summary_string = g_strdup (_("Calendar Event: It has no summary."));
+
+ name_string = g_strdup_printf ("%s %s %s %s", summary_string, alarm_string, recur_string, meeting_string);
- ATK_OBJECT_CLASS (parent_class)->set_name (accessible, new_name);
+ ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_string);
#ifdef ACC_DEBUG
printf("EvoAcc: name for event accobj=%p, is %s\n",
(void *)accessible, new_name);
#endif
- g_free (new_name);
+ g_free (name_string);
return accessible->name;
}
Index: calendar/ea-day-view.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-day-view.c,v
retrieving revision 1.8
diff -u -r1.8 ea-day-view.c
--- calendar/ea-day-view.c 31 Jan 2005 14:42:52 -0000 1.8
+++ calendar/ea-day-view.c 1 Feb 2005 08:51:22 -0000
@@ -127,16 +127,15 @@
GnomeCalendar *gcal;
const gchar *label_text;
GnomeCalendarViewType view_type;
- gchar buffer[128] = "";
gint n_events;
-
+ gchar *event_str, *name_str;
g_return_val_if_fail (EA_IS_DAY_VIEW (accessible), NULL);
if (!GTK_ACCESSIBLE (accessible)->widget)
return NULL;
- day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
+ day_view = E_DAY_VIEW (GTK_ACCESSIBLE (accessible)->widget);
gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (day_view));
label_text = ea_gnome_calendar_get_label_description (gcal);
@@ -144,16 +143,22 @@
/* the child main item is always there */
--n_events;
if (n_events >= 1)
- g_snprintf (buffer, sizeof (buffer), ngettext ( _(", %d event"), _(", %d events"), n_events), n_events);
+ event_str = g_strdup_printf (ngettext ("It has %d event.", "It has %d events.", n_events), n_events);
+ else
+ event_str = g_strdup (_("It has no events."));
+
view_type = gnome_calendar_get_view (gcal);
if (view_type == GNOME_CAL_WORK_WEEK_VIEW)
- accessible->name = g_strconcat (_("work week view:"),
- label_text, buffer,
- NULL);
+ name_str = g_strdup_printf (_("Work Week View: %s. %s"),
+ label_text, event_str);
else
- accessible->name = g_strconcat (_("day view:"),
- label_text, buffer,
- NULL);
+ name_str = g_strdup_printf (_("Day View: %s. %s"),
+ label_text, event_str);
+
+ ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
+ g_free (name_str);
+ g_free (event_str);
+
return accessible->name;
}
Index: calendar/ea-week-view.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-week-view.c,v
retrieving revision 1.11
diff -u -r1.11 ea-week-view.c
--- calendar/ea-week-view.c 31 Jan 2005 14:42:52 -0000 1.11
+++ calendar/ea-week-view.c 1 Feb 2005 08:51:23 -0000
@@ -129,15 +129,15 @@
GnomeCalendar *gcal;
const gchar *label_text;
GnomeCalendarViewType view_type;
- gchar buffer[128] = "";
gint n_events;
+ gchar *event_str, *name_str;
g_return_val_if_fail (EA_IS_WEEK_VIEW (accessible), NULL);
if (!GTK_ACCESSIBLE (accessible)->widget)
return NULL;
- week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
+ week_view = E_WEEK_VIEW (GTK_ACCESSIBLE (accessible)->widget);
gcal = e_calendar_view_get_calendar (E_CALENDAR_VIEW (week_view));
label_text = ea_gnome_calendar_get_label_description (gcal);
@@ -145,19 +145,24 @@
/* the child main item is always there */
--n_events;
if (n_events >= 1)
- g_snprintf (buffer, sizeof (buffer), ngettext ( _(", %d event"), _(", %d events"), n_events), n_events);
+ event_str = g_strdup_printf (ngettext ("It has %d event.", "It has %d events.", n_events), n_events);
+ else
+ event_str = g_strdup (_("It has no events."));
view_type = gnome_calendar_get_view (gcal);
if (view_type == GNOME_CAL_MONTH_VIEW)
- accessible->name = g_strconcat (_("month view:"),
- label_text, buffer,
- NULL);
+ name_str = g_strdup_printf (_("Month View: %s. %s"),
+ label_text, event_str);
else
- accessible->name = g_strconcat (_("week view:"),
- label_text, buffer,
- NULL);
+ name_str = g_strdup_printf (_("Week View: %s. %s"),
+ label_text, event_str);
+
+ ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
+ g_free (name_str);
+ g_free (event_str);
+
return accessible->name;
}
@@ -192,7 +197,6 @@
ea_week_view_get_n_children (AtkObject *accessible)
{
EWeekView *week_view;
- GnomeCanvasGroup *canvas_group;
gint i, count = 0;
gint event_index;
Index: widgets/ea-calendar-item.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/widgets/ea-calendar-item.c,v
retrieving revision 1.5
diff -u -r1.5 ea-calendar-item.c
--- widgets/ea-calendar-item.c 30 Sep 2004 07:32:36 -0000 1.5
+++ widgets/ea-calendar-item.c 1 Feb 2005 08:51:25 -0000
@@ -267,17 +267,14 @@
ECalendarItem *calitem;
gint start_year, start_month, start_day;
gint end_year, end_month, end_day;
- static gchar new_name[256] = "";
- gchar buffer_start[128] = "";
- gchar buffer_end[128] = "";
- struct tm day_start = { 0 };
- struct tm day_end = { 0 };
+ gchar *name_str = NULL;
+ gchar buffer_start[128] = "";
+ gchar buffer_end[128] = "";
+ struct tm day_start = { 0 };
+ struct tm day_end = { 0 };
g_return_val_if_fail (EA_IS_CALENDAR_ITEM (accessible), NULL);
- if (accessible->name)
- return accessible->name;
-
g_obj = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE(accessible));
g_return_val_if_fail (E_IS_CALENDAR_ITEM (g_obj), NULL);
@@ -290,19 +287,15 @@
day_start.tm_mon = start_month;
day_start.tm_mday = start_day;
day_start.tm_isdst = -1;
- e_utf8_strftime (buffer_start, sizeof (buffer_start), _(" %d %B %Y"), &day_start);
+ e_utf8_strftime (buffer_start, sizeof (buffer_start), _("%d %B %Y"), &day_start);
day_end.tm_year = end_year - 1900;
day_end.tm_mon = end_month;
day_end.tm_mday = end_day;
day_end.tm_isdst = -1;
- e_utf8_strftime (buffer_end, sizeof (buffer_end), _(" %d %B %Y"), &day_end);
+ e_utf8_strftime (buffer_end, sizeof (buffer_end), _("%d %B %Y"), &day_end);
- strcat (new_name, _("calendar (from "));
- strcat (new_name, buffer_start);
- strcat (new_name, _(" to "));
- strcat (new_name, buffer_end);
- strcat (new_name, _(")"));
+ name_str = g_strdup_printf (_("Calendar: from %s to %s"), buffer_start, buffer_end);
}
#if 0
@@ -325,7 +318,10 @@
}
#endif
- return new_name;
+ ATK_OBJECT_CLASS (parent_class)->set_name (accessible, name_str);
+ g_free (name_str);
+
+ return accessible->name;
}
static G_CONST_RETURN gchar*
@@ -1264,7 +1260,6 @@
gint start_year, start_month, start_day;
gint end_year, end_month, end_day;
GDate *start_date, *end_date;
- gint n_days;
*offset = 0;
g_return_val_if_fail (E_IS_CALENDAR_ITEM (calitem), FALSE);
--- End Message ---