[gtk+/treeview-refactor-staging] Make GtkTreeView explicitly focus the first cell in the first column when grabbing focus



commit 7ef0b24581b6020b2dedff4f54201b8fd2177215
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Fri Dec 10 16:22:06 2010 +0900

    Make GtkTreeView explicitly focus the first cell in the first column when grabbing focus
    
    When focus is initially grabbed and there is no focus column, when selecting
    the first column for focus, further explicitly focus into the first cell
    using gtk_cell_area_focus().

 gtk/gtktreeview.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 48225b9..55c12b3 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -10074,7 +10074,16 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view)
 	    {
 	      if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
 		{
+		  GtkCellArea *cell_area;
+
 		  tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (list->data);
+
+		  /* This happens when the treeview initially grabs focus and there
+		   * is no column in focus, here we explicitly focus into the first cell */
+		  cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column));
+		  if (!gtk_cell_area_get_focus_cell (cell_area))
+		    gtk_cell_area_focus (cell_area, GTK_DIR_RIGHT);
+
 		  break;
 		}
 	    }



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