[evolution-patches] [Calendar][Accessibility]Fix for bug 339136
- From: Boby Wang <Boby Wang Sun COM>
- To: evolution-patches <evolution-patches gnome org>
- Subject: [evolution-patches] [Calendar][Accessibility]Fix for bug 339136
- Date: Thu, 20 Apr 2006 20:23:14 +0800
Hi,
I have attached a patch for bug 339136. You can view the detail of
it in URL http://bugzilla.gnome.org/show_bug.cgi?id=339136
--
Boby Wang <boby wang sun com>
SCERI
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/a11y/ChangeLog,v
retrieving revision 1.49
diff -u -r1.49 ChangeLog
--- ChangeLog 20 Mar 2006 06:27:54 -0000 1.49
+++ ChangeLog 20 Apr 2006 12:13:48 -0000
@@ -1,3 +1,26 @@
+2006-04-20 Boby Wang <boby wang sun com>
+
+ Fix for #339136
+
+ * calendar/ea-cal-view-event.c: (ea_cal_view_event_get_type),
+ (ea_cal_view_event_class_init), (ea_cal_view_event_init),
+ (ea_cal_view_event_get_index_in_parent),
+ (ea_cal_view_event_ref_state_set):
+ add necessary AtkStateSet to EaCalViewEvent.
+ * calendar/ea-cal-view-event.h:
+ add necessary AtkStateSet to EaCalViewEvent.
+ * calendar/ea-calendar.c: (e_cal_view_a11y_init):
+ replace e_cal_view_get_type with e_calendar_view_get_type
+ * calendar/ea-day-view.c: (ea_day_view_get_type):
+ replace e_cal_view_get_type with e_calendar_view_get_type
+ * calendar/ea-week-view-main-item.c:
+ (ea_week_view_main_item_class_init),
+ (ea_week_view_main_item_ref_state_set):
+ add necessary AtkStateSet to EaWeekViewMainItem
+ * calendar/ea-week-view.c:
+ * calendar/ea-week-view.h:
+ change the base class of EaWeekView from GtkAccessible to EaCalView
+
2006-03-20 Boby Wang <boby wang sun com>
Fix for #319308
Index: calendar/ea-cal-view-event.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-cal-view-event.c,v
retrieving revision 1.12
diff -u -r1.12 ea-cal-view-event.c
--- calendar/ea-cal-view-event.c 17 Jun 2005 15:20:23 -0000 1.12
+++ calendar/ea-cal-view-event.c 20 Apr 2006 12:13:49 -0000
@@ -31,11 +31,13 @@
#include <libgnome/gnome-i18n.h>
static void ea_cal_view_event_class_init (EaCalViewEventClass *klass);
+static void ea_cal_view_event_init (EaCalViewEvent *a11y);
static G_CONST_RETURN gchar* ea_cal_view_event_get_name (AtkObject *accessible);
static G_CONST_RETURN gchar* ea_cal_view_event_get_description (AtkObject *accessible);
static AtkObject* ea_cal_view_event_get_parent (AtkObject *accessible);
static gint ea_cal_view_event_get_index_in_parent (AtkObject *accessible);
+static AtkStateSet *ea_cal_view_event_ref_state_set (AtkObject *accessible);
/* component interface */
static void atk_component_interface_init (AtkComponentIface *iface);
@@ -75,7 +77,7 @@
NULL, /* class data */
sizeof (EaCalViewEvent), /* instance size */
0, /* nb preallocs */
- (GInstanceInitFunc) NULL, /* instance init */
+ (GInstanceInitFunc) ea_cal_view_event_init, /* instance init */
NULL /* value table */
};
@@ -135,9 +137,22 @@
class->get_description = ea_cal_view_event_get_description;
class->get_parent = ea_cal_view_event_get_parent;
class->get_index_in_parent = ea_cal_view_event_get_index_in_parent;
+ class->ref_state_set = ea_cal_view_event_ref_state_set;
}
+static void
+ea_cal_view_event_init (EaCalViewEvent *a11y)
+{
+ a11y->state_set = atk_state_set_new ();
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_TRANSIENT);
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_ENABLED);
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_SENSITIVE);
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_SELECTABLE);
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_SHOWING);
+ atk_state_set_add_state (a11y->state_set, ATK_STATE_FOCUSABLE);
+}
+
#ifdef ACC_DEBUG
static void ea_cal_view_finalize (GObject *object)
{
@@ -363,6 +378,18 @@
return -1;
}
return -1;
+}
+
+static AtkStateSet *
+ea_cal_view_event_ref_state_set (AtkObject *accessible)
+{
+ EaCalViewEvent *atk_event = EA_CAL_VIEW_EVENT (accessible);
+
+ g_return_val_if_fail (atk_event->state_set, NULL);
+
+ g_object_ref (atk_event->state_set);
+
+ return atk_event->state_set;
}
/* Atk Component Interface */
Index: calendar/ea-cal-view-event.h
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-cal-view-event.h,v
retrieving revision 1.2
diff -u -r1.2 ea-cal-view-event.h
--- calendar/ea-cal-view-event.h 20 Aug 2003 07:46:04 -0000 1.2
+++ calendar/ea-cal-view-event.h 20 Apr 2006 12:13:49 -0000
@@ -45,6 +45,7 @@
struct _EaCalViewEvent
{
AtkGObjectAccessible parent;
+ AtkStateSet *state_set;
};
GType ea_cal_view_event_get_type (void);
Index: calendar/ea-calendar.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-calendar.c,v
retrieving revision 1.7
diff -u -r1.7 ea-calendar.c
--- calendar/ea-calendar.c 17 Jun 2005 15:20:23 -0000 1.7
+++ calendar/ea-calendar.c 20 Apr 2006 12:13:49 -0000
@@ -98,7 +98,7 @@
void
e_cal_view_a11y_init (void)
{
- EA_SET_FACTORY (e_cal_view_get_type(), ea_cal_view);
+ EA_SET_FACTORY (e_calendar_view_get_type(), ea_cal_view);
}
void
Index: calendar/ea-day-view.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-day-view.c,v
retrieving revision 1.10
diff -u -r1.10 ea-day-view.c
--- calendar/ea-day-view.c 6 Mar 2006 09:56:30 -0000 1.10
+++ calendar/ea-day-view.c 20 Apr 2006 12:13:49 -0000
@@ -72,7 +72,7 @@
*/
factory = atk_registry_get_factory (atk_get_default_registry (),
- e_cal_view_get_type());
+ e_calendar_view_get_type());
derived_atk_type = atk_object_factory_get_accessible_type (factory);
g_type_query (derived_atk_type, &query);
Index: calendar/ea-week-view-main-item.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-week-view-main-item.c,v
retrieving revision 1.4
diff -u -r1.4 ea-week-view-main-item.c
--- calendar/ea-week-view-main-item.c 27 Jan 2006 14:50:38 -0000 1.4
+++ calendar/ea-week-view-main-item.c 20 Apr 2006 12:13:49 -0000
@@ -42,6 +42,7 @@
gint i);
static AtkObject * ea_week_view_main_item_get_parent (AtkObject *accessible);
static gint ea_week_view_main_item_get_index_in_parent (AtkObject *accessible);
+static AtkStateSet* ea_week_view_main_item_ref_state_set (AtkObject *obj);
/* callbacks */
static void ea_week_view_main_item_dates_change_cb (GnomeCalendar *gcal, gpointer data);
@@ -228,6 +229,8 @@
class->ref_child = ea_week_view_main_item_ref_child;
class->get_parent = ea_week_view_main_item_get_parent;
class->get_index_in_parent = ea_week_view_main_item_get_index_in_parent;
+
+ class->ref_state_set = ea_week_view_main_item_ref_state_set;
}
AtkObject*
@@ -403,6 +406,23 @@
/* always the first child of ea-week-view */
return 0;
}
+
+static AtkStateSet*
+ea_week_view_main_item_ref_state_set (AtkObject *obj)
+{
+ AtkStateSet *state_set;
+
+ state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+ if (state_set == NULL)
+ return NULL;
+
+ atk_state_set_add_state (state_set, ATK_STATE_ENABLED);
+ atk_state_set_add_state (state_set, ATK_STATE_SENSITIVE);
+ atk_state_set_add_state (state_set, ATK_STATE_SHOWING);
+
+ return state_set;
+}
+
/* callbacks */
Index: calendar/ea-week-view.c
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-week-view.c,v
retrieving revision 1.14
diff -u -r1.14 ea-week-view.c
--- calendar/ea-week-view.c 6 Mar 2006 09:56:30 -0000 1.14
+++ calendar/ea-week-view.c 20 Apr 2006 12:13:49 -0000
@@ -24,7 +24,6 @@
*/
#include "ea-week-view.h"
-#include "ea-cal-view.h"
#include "ea-cal-view-event.h"
#include "ea-calendar-helpers.h"
#include "ea-gnome-calendar.h"
Index: calendar/ea-week-view.h
===================================================================
RCS file: /cvs/gnome/evolution/a11y/calendar/ea-week-view.h,v
retrieving revision 1.2
diff -u -r1.2 ea-week-view.h
--- calendar/ea-week-view.h 20 Aug 2003 07:46:05 -0000 1.2
+++ calendar/ea-week-view.h 20 Apr 2006 12:13:49 -0000
@@ -26,7 +26,7 @@
#ifndef __EA_WEEK_VIEW_H__
#define __EA_WEEK_VIEW_H__
-#include <gtk/gtkaccessible.h>
+#include "ea-cal-view.h"
#include "e-week-view.h"
#ifdef __cplusplus
@@ -45,14 +45,14 @@
struct _EaWeekView
{
- GtkAccessible parent;
+ EaCalView parent;
};
GType ea_week_view_get_type (void);
struct _EaWeekViewClass
{
- GtkAccessibleClass parent_class;
+ EaCalViewClass parent_class;
};
AtkObject* ea_week_view_new (GtkWidget *widget);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]