summaryrefslogtreecommitdiff
path: root/modules/other
diff options
context:
space:
mode:
authorLi Yuan <li.yuan@sun.com>2008-08-21 05:28:58 +0000
committerLi Yuan <liyuan@src.gnome.org>2008-08-21 05:28:58 +0000
commit22a47c3dbd7875af10df58feedd81d7b661222b6 (patch)
treef6987cff81e5e925f40c2d8699a5c2e0812af641 /modules/other
parent779bd67a293c5f4c896851ba4632bb374d993d62 (diff)
downloadgtk+-22a47c3dbd7875af10df58feedd81d7b661222b6.tar.gz
Bug #548782. Emit children-changed::remove signal when a row is deleted in
2008-08-21 Li Yuan <li.yuan@sun.com> * gailtreeview.c: (model_row_deleted): Bug #548782. Emit children-changed::remove signal when a row is deleted in gtktreeview. svn path=/trunk/; revision=21173
Diffstat (limited to 'modules/other')
-rw-r--r--modules/other/gail/ChangeLog6
-rw-r--r--modules/other/gail/gailtreeview.c13
2 files changed, 18 insertions, 1 deletions
diff --git a/modules/other/gail/ChangeLog b/modules/other/gail/ChangeLog
index 08f97adb43..75e0472157 100644
--- a/modules/other/gail/ChangeLog
+++ b/modules/other/gail/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-21 Li Yuan <li.yuan@sun.com>
+
+ * gailtreeview.c: (model_row_deleted):
+ Bug #548782. Emit children-changed::remove signal when a row is
+ deleted in gtktreeview.
+
2008-08-15 Michael Natterer <mitch@imendio.com>
* gailbooleancell.c
diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c
index 9b121c12fc..b6a9af6fd4 100644
--- a/modules/other/gail/gailtreeview.c
+++ b/modules/other/gail/gailtreeview.c
@@ -2920,7 +2920,7 @@ model_row_deleted (GtkTreeModel *tree_model,
GtkTreePath *path_copy;
AtkObject *atk_obj;
GailTreeView *gailview;
- gint row;
+ gint row, col, n_cols;
tree_view = (GtkTreeView *)user_data;
atk_obj = gtk_widget_get_accessible (GTK_WIDGET (tree_view));
@@ -2959,6 +2959,17 @@ model_row_deleted (GtkTreeModel *tree_model,
g_signal_emit_by_name (atk_obj, "row_deleted", row,
gailview->n_children_deleted + 1);
gailview->n_children_deleted = 0;
+
+ /* Generate children-changed signals */
+ n_cols = get_n_actual_columns (tree_view);
+ for (col = 0; col < n_cols; col++)
+ {
+ /*
+ * Pass NULL as the child object, 4th argument.
+ */
+ g_signal_emit_by_name (atk_obj, "children_changed::remove",
+ ((row * n_cols) + col), NULL, NULL);
+ }
}
/*