[evolution-patches] [calender + gal], patches for #61866



Hi,
The attachments are patches to fix #61866, which is is an accessibility related bug.

Reproduce:
1. Start evolution with accessibility enabled.
2. Focus one task with tab key.
3. Click right/left arrow key to make the task editable.
4. Check the checkbox to make the task as complete.
5. Uncheck another checkbox to make the task as uncomplete.

Actual Results:
Can't report the new complete or uncomplete status of tasks.
It only remember the previous status.

Expected Results:
The gnopernicus should read the changed task's new status.

The bug is caused by the following reasons:
(1) e-cal-model-tasks doesn't emit "model_cell_changed" signal when a task's status is changed; (2) the signal hander of "model_cell_changed" in gal-a11y-e-cell-toggle.c and e-table-subset.c is wrong (wrong parameter order of col and row in prototype).

I attached two patches to fix this bug, please help review, thanks!

Regards,
Eric

--
Eric Zhao <eric zhao sun com>

Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3225516
Key fingerprint = EA12 D205 D359 A98D E63E  CAC3 C2A7 30B1 E322 5516

Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2451
diff -u -p -r1.2451 ChangeLog
--- ChangeLog	22 Jul 2004 03:02:07 -0000	1.2451
+++ ChangeLog	23 Jul 2004 07:56:04 -0000
@@ -1,3 +1,10 @@
+2004-07-23  Eric Zhao  <eric zhao sun com>
+
+	* gui/e-cal-model-tasks.c: (ecmt_set_value_at),
+	(e_cal_model_tasks_mark_task_complete):
+	using e_table_model_cell_changed to emit "model_cell_changed"
+	signal, fixes #61866.
+
 2004-07-20  Not Zed  <NotZed Ximian com>
 
 	* gui/e-cal-model.c: 
Index: gui/e-cal-model-tasks.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-cal-model-tasks.c,v
retrieving revision 1.24
diff -u -p -r1.24 e-cal-model-tasks.c
--- gui/e-cal-model-tasks.c	13 Jul 2004 11:07:19 -0000	1.24
+++ gui/e-cal-model-tasks.c	23 Jul 2004 07:56:09 -0000
@@ -829,6 +829,8 @@ ecmt_set_value_at (ETableModel *etm, int
 		
 		/* FIXME Show error dialog */
 	}
+
+	e_table_model_cell_changed (etm, col, row);
 }
 
 static gboolean
@@ -1100,4 +1102,6 @@ e_cal_model_tasks_mark_task_complete (EC
 	comp_data = e_cal_model_get_component_at (E_CAL_MODEL (model), model_row);
 	if (comp_data)
 		ensure_task_complete (comp_data, -1);
+
+	e_table_model_cell_changed (E_TABLE_MODEL (model), E_CAL_MODEL_TASKS_FIELD_COMPLETE, model_row);
 }
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gal/ChangeLog,v
retrieving revision 1.880
diff -u -p -r1.880 ChangeLog
--- ChangeLog	19 Jul 2004 20:26:04 -0000	1.880
+++ ChangeLog	23 Jul 2004 06:18:44 -0000
@@ -1,3 +1,9 @@
+2004-07-23  Eric Zhao  <eric zhao sun com>
+
+	* gal/a11y/e-table/gal-a11y-e-cell-toggle.c: (model_change_cb):
+	* gal/e-table/e-table-subset.c: (etss_proxy_model_cell_changed):
+	change the param order of col and row, fixes part of #61866.
+
 2004-07-19  JP Rosevear  <jpr novell com>
 
 	* configure.in: Bump version
Index: gal/e-table/e-table-subset.c
===================================================================
RCS file: /cvs/gnome/gal/gal/e-table/e-table-subset.c,v
retrieving revision 1.37
diff -u -p -r1.37 e-table-subset.c
--- gal/e-table/e-table-subset.c	18 Apr 2003 19:45:27 -0000	1.37
+++ gal/e-table/e-table-subset.c	23 Jul 2004 06:18:44 -0000
@@ -366,7 +366,7 @@ etss_proxy_model_row_changed (ETableMode
 }
 
 static void
-etss_proxy_model_cell_changed (ETableModel *etm, int row, int col, ETableSubset *etss)
+etss_proxy_model_cell_changed (ETableModel *etm, int col, int row, ETableSubset *etss)
 {
 	if (ETSS_CLASS(etss)->proxy_model_cell_changed)
 		(ETSS_CLASS(etss)->proxy_model_cell_changed) (etss, etm, col, row);
Index: gal/a11y/e-table/gal-a11y-e-cell-toggle.c
===================================================================
RCS file: /cvs/gnome/gal/gal/a11y/e-table/gal-a11y-e-cell-toggle.c,v
retrieving revision 1.4
diff -u -p -r1.4 gal-a11y-e-cell-toggle.c
--- gal/a11y/e-table/gal-a11y-e-cell-toggle.c	10 Jun 2004 17:00:45 -0000	1.4
+++ gal/a11y/e-table/gal-a11y-e-cell-toggle.c	23 Jul 2004 06:18:44 -0000
@@ -91,8 +91,8 @@ toggle_cell_action (GalA11yECell *cell)
 
 static void
 model_change_cb (ETableModel *etm,
-		 gint row,
 		 gint col,
+		 gint row,
 		 GalA11yECell *cell)
 {
 	gint value;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]