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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Wed Jan 17 13:02:40 EET 2007
Author: kris
Date: 2007-01-17 13:02:38 +0200 (Wed, 17 Jan 2007)
New Revision: 9166

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

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): if the row just
	became insensitive, unselect it.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	allow insensitive rows to be unselected.



Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-01-17 10:26:06 UTC (rev 9165)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/ChangeLog	2007-01-17 11:02:38 UTC (rev 9166)
@@ -1,3 +1,11 @@
+2007-01-17  Kristian Rietveld  <kris at imendio.com>
+
+	* gtk/gtktreeview.c (gtk_tree_view_row_changed): if the row just
+	became insensitive, unselect it.
+
+	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
+	allow insensitive rows to be unselected.
+
 2007-01-16  Michael Natterer  <mitch at imendio.com>
 
 	* gtk/gtkentry.c: port over all IM, invalid-input and

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeselection.c
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeselection.c	2007-01-17 10:26:06 UTC (rev 9165)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeselection.c	2007-01-17 11:02:38 UTC (rev 9166)
@@ -1487,6 +1487,13 @@
       path = _gtk_tree_view_find_path (selection->tree_view, tree, node);
       toggle = _gtk_tree_selection_row_is_selectable (selection, node, path);
       gtk_tree_path_free (path);
+
+      /* MAEMO START */
+      /* Allow unselecting an insensitive row */
+      if (!toggle && !select
+	  && GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED))
+	toggle = TRUE;
+      /* MAEMO END */
     }
 
   if (toggle)

Modified: projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c
===================================================================
--- projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c	2007-01-17 10:26:06 UTC (rev 9165)
+++ projects/haf/branches/gtk+/maemo-gtk-2-10/gtk/gtktreeview.c	2007-01-17 11:02:38 UTC (rev 9166)
@@ -8120,6 +8120,27 @@
   if (tree == NULL)
     goto done;
 
+  /* MAEMO START */
+  /* Unselect the row if it just became insensitive */
+  if (!_gtk_tree_selection_row_is_selectable (tree_view->priv->selection,
+					      node, path)
+      && gtk_tree_row_reference_valid (tree_view->priv->cursor))
+    {
+      GtkTreePath *cursor_path;
+
+      cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+      if (! gtk_tree_path_compare (path, cursor_path))
+        {
+	  gtk_tree_row_reference_free (tree_view->priv->cursor);
+	  tree_view->priv->cursor = NULL;
+	}
+
+      gtk_tree_selection_unselect_path (tree_view->priv->selection, path);
+
+      gtk_tree_path_free (cursor_path);
+    }
+  /* MAEMO END */
+
   if (tree_view->priv->fixed_height_mode
       && tree_view->priv->fixed_height >= 0)
     {


More information about the maemo-commits mailing list