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



commit 2e1e97305f9a917315a22b103d3b5374aefaeaae
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 95550fe..0eedbad 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -10081,7 +10081,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]