a11y: Improve table_is_row_selected()
This commit is contained in:
@ -806,22 +806,23 @@ gtk_tree_view_accessible_is_row_selected (AtkTable *table,
|
|||||||
gint row)
|
gint row)
|
||||||
{
|
{
|
||||||
GtkWidget *widget;
|
GtkWidget *widget;
|
||||||
GtkTreeView *tree_view;
|
GtkRBTree *tree;
|
||||||
GtkTreeSelection *selection;
|
GtkRBNode *node;
|
||||||
GtkTreeIter iter;
|
|
||||||
|
if (row < 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
|
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (table));
|
||||||
if (widget == NULL)
|
if (widget == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (row < 0)
|
if (!_gtk_rbtree_find_index (_gtk_tree_view_get_rbtree (GTK_TREE_VIEW (widget)),
|
||||||
|
row,
|
||||||
|
&tree,
|
||||||
|
&node))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
tree_view = GTK_TREE_VIEW (widget);
|
return GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED);
|
||||||
selection = gtk_tree_view_get_selection (tree_view);
|
|
||||||
|
|
||||||
set_iter_nth_row (tree_view, &iter, row);
|
|
||||||
return gtk_tree_selection_iter_is_selected (selection, &iter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|||||||
Reference in New Issue
Block a user