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



commit 72fa01eb03d977c98ceeadad8dbc8edd42a02333
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 63683b7..2b62680 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -10075,7 +10075,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]