From b8dec90f3a078b1a8a1b1c52abd8537b7231b900 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 12 Nov 2011 05:05:19 +0100 Subject: [PATCH] a11y: Compute index the easy way index is row_index * n_columns + column_index We use it everywhere, why not here? --- gtk/a11y/gtktreeviewaccessible.c | 42 +------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c index 8431e322af..d5648a5f94 100644 --- a/gtk/a11y/gtktreeviewaccessible.c +++ b/gtk/a11y/gtktreeviewaccessible.c @@ -82,8 +82,6 @@ static gint get_row_from_tree_path (GtkTreeView GtkTreePath *path); static GtkTreeViewColumn* get_column (GtkTreeView *tree_view, gint in_col); -static gint get_actual_column_number (GtkTreeView *tree_view, - gint visible_column); static gint get_visible_column_number (GtkTreeView *tree_view, gint actual_column); static void iterate_thru_children (GtkTreeView *tree_view, @@ -884,12 +882,7 @@ gtk_tree_view_accessible_get_index_at (AtkTable *table, gint column) { GtkWidget *widget; - GtkTreeView *tree_view; - gint actual_column; gint n_cols, n_rows; - GtkTreeIter iter; - GtkTreePath *path; - gint index; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table)); if (widget == NULL) @@ -901,16 +894,7 @@ gtk_tree_view_accessible_get_index_at (AtkTable *table, if (row >= n_rows || column >= n_cols) return -1; - tree_view = GTK_TREE_VIEW (widget); - actual_column = get_actual_column_number (tree_view, column); - - set_iter_nth_row (tree_view, &iter, row); - path = gtk_tree_model_get_path (gtk_tree_view_get_model (tree_view), &iter); - - index = get_index (tree_view, path, actual_column); - gtk_tree_path_free (path); - - return index; + return (row + 1) * n_cols + column; } static gint @@ -2481,30 +2465,6 @@ get_column (GtkTreeView *tree_view, return tv_col; } -static gint -get_actual_column_number (GtkTreeView *tree_view, - gint visible_column) -{ - GtkTreeViewColumn *tv_col; - gint actual_column = 0; - gint visible_columns = -1; - - /* This function calculates the column number which corresponds - * to the specified visible column number - */ - tv_col = gtk_tree_view_get_column (tree_view, actual_column); - while (tv_col != NULL) - { - if (gtk_tree_view_column_get_visible (tv_col)) - visible_columns++; - if (visible_columns == visible_column) - return actual_column; - tv_col = gtk_tree_view_get_column (tree_view, ++actual_column); - } - g_warning ("get_actual_column_number failed for %d\n", visible_column); - return -1; -} - static gint get_visible_column_number (GtkTreeView *tree_view, gint actual_column)