diff options
author | Kristian Rietveld <kris@imendio.com> | 2006-03-01 12:18:57 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2006-03-01 12:18:57 +0000 |
commit | 2e6ba401cc22f25cf97245ef3bd8ec832617770a (patch) | |
tree | 0a4f781d6bb86778152f7993b4e6bb03e646ac57 /gtk/gtktreeview.c | |
parent | 208f26cbf91f39b3f96ead93fb3d75150c89e056 (diff) | |
download | gtk+-2e6ba401cc22f25cf97245ef3bd8ec832617770a.tar.gz |
rename to _gtk_tree_selection_row_is_selectable and export internally,
2006-03-01 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreeselection.c (row_is_selectable): rename to
_gtk_tree_selection_row_is_selectable and export internally,
(gtk_tree_selection_real_select_node): changed so it is always
possible to unselect insensitive nodes, changed the logic a bit to
be more clear.
* gtk/gtktreeprivate.h: add _gtk_tree_selection_row_is_selectable.
* gtk/gtktreeview.c (gtk_tree_view_row_changed): Unselect a row if
it became insensitive.
Diffstat (limited to 'gtk/gtktreeview.c')
-rw-r--r-- | gtk/gtktreeview.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index f2994684aa..492678c5ab 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -7238,6 +7238,11 @@ gtk_tree_view_row_changed (GtkTreeModel *model, if (tree == NULL) goto done; + /* Check if the node became insensitive, and if so, unselect it */ + if (!_gtk_tree_selection_row_is_selectable (tree_view->priv->selection, + node, path)) + gtk_tree_selection_unselect_path (tree_view->priv->selection, path); + if (tree_view->priv->fixed_height_mode && tree_view->priv->fixed_height >= 0) { |