[maemo-commits] [maemo-commits] r9608 - in projects/haf/branches/gtk+/maemo-gtk-2-10: . gtk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Fri Feb 2 19:18:52 EET 2007
Author: kris
Date: 2007-02-02 19:18:50 +0200 (Fri, 02 Feb 2007)
New Revision: 9608

Modified:
   projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
   projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c
Log:
2007-02-02  Kristian Rietveld  <kris at imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_expand_collapse_cursor_row):
	move focus forward/backward if expand/collapse fails.



Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-02-02 17:08:54 UTC (rev 9607)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-02-02 17:18:50 UTC (rev 9608)
@@ -1,5 +1,10 @@
 2007-02-02  Kristian Rietveld  <kris at imendio.com>
 
+	* gtk/gtktreeview.c (gtk_tree_view_real_expand_collapse_cursor_row):
+	move focus forward/backward if expand/collapse fails.
+
+2007-02-02  Kristian Rietveld  <kris at imendio.com>
+
 	* gtk/gtktreeview.c (gtk_tree_view_class_init): add row-insensitive
 	signal,
 	(gtk_tree_view_real_set_cursor): emit row-insensitive and return

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c	2007-02-02 17:08:54 UTC (rev 9607)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c	2007-02-02 17:18:50 UTC (rev 9608)
@@ -10521,9 +10521,43 @@
     expand = !expand;
 
   if (expand)
+#ifdef MAEMO_CHANGES
+    {
+      gboolean expanded;
+
+      expanded = gtk_tree_view_real_expand_row (tree_view, cursor_path,
+						tree, node, open_all, TRUE);
+      if (!expanded
+	  && !gtk_widget_keynav_failed (GTK_WIDGET (tree_view), GTK_DIR_RIGHT))
+        {
+	  GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (tree_view));
+	  if (toplevel)
+	    gtk_widget_child_focus (toplevel, GTK_DIR_TAB_FORWARD);
+	}
+    }
+#else /* !MAEMO_CHANGES */
     gtk_tree_view_real_expand_row (tree_view, cursor_path, tree, node, open_all, TRUE);
+#endif /* !MAEMO_CHANGES */
   else
+#ifdef MAEMO_CHANGES
+    {
+      gboolean collapsed;
+
+      collapsed = gtk_tree_view_real_collapse_row (tree_view, cursor_path,
+						   tree, node, TRUE);
+      if (!collapsed
+	  && !gtk_widget_keynav_failed (GTK_WIDGET (tree_view), GTK_DIR_LEFT))
+        {
+	  GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (tree_view));
+	  if (toplevel)
+	    gtk_widget_child_focus (toplevel, GTK_DIR_TAB_BACKWARD);
+
+	  gtk_tree_view_real_select_cursor_parent (tree_view);
+	}
+    }
+#else /* !MAEMO_CHANGES */
     gtk_tree_view_real_collapse_row (tree_view, cursor_path, tree, node, TRUE);
+#endif /* !MAEMO_CHANGES */
 
   gtk_tree_path_free (cursor_path);
 


More information about the maemo-commits mailing list