From dba49714baad96df8a2b6257632d9455d75ebdad Mon Sep 17 00:00:00 2001 From: Sergio Villar Senin Date: Thu, 11 Jun 2009 10:09:18 +0200 Subject: [PATCH] Fixes NB#122017, after removing all messages the message menu options are still present --- src/widgets/modest-header-view.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/src/widgets/modest-header-view.c b/src/widgets/modest-header-view.c index 19c17a1..cf5d410 100644 --- a/src/widgets/modest-header-view.c +++ b/src/widgets/modest-header-view.c @@ -2203,17 +2203,20 @@ _clear_hidding_filter (ModestHeaderView *header_view) void modest_header_view_refilter (ModestHeaderView *header_view) { - GtkTreeModel *model = NULL; + GtkTreeModel *model, *sortable = NULL; ModestHeaderViewPrivate *priv = NULL; g_return_if_fail (header_view && MODEST_IS_HEADER_VIEW (header_view)); priv = MODEST_HEADER_VIEW_GET_PRIVATE(header_view); /* Hide cut headers */ - model = gtk_tree_view_get_model (GTK_TREE_VIEW (header_view)); - if (GTK_IS_TREE_MODEL_FILTER (model)) { - priv->status = HEADER_VIEW_INIT; - gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model)); + sortable = gtk_tree_view_get_model (GTK_TREE_VIEW (header_view)); + if (GTK_IS_TREE_MODEL_SORT (sortable)) { + model = gtk_tree_model_sort_get_model (GTK_TREE_MODEL_SORT (sortable)); + if (GTK_IS_TREE_MODEL_FILTER (model)) { + priv->status = HEADER_VIEW_INIT; + gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (model)); + } } } @@ -2324,17 +2327,13 @@ modest_header_view_set_filter (ModestHeaderView *self, ModestHeaderViewFilter filter) { ModestHeaderViewPrivate *priv; - GtkTreeModel *filter_model; g_return_if_fail (MODEST_IS_HEADER_VIEW (self)); priv = MODEST_HEADER_VIEW_GET_PRIVATE (self); priv->filter |= filter; - filter_model = gtk_tree_view_get_model (GTK_TREE_VIEW (self)); - if (GTK_IS_TREE_MODEL_FILTER(filter_model)) { - gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter_model)); - } + modest_header_view_refilter (self); } void @@ -2342,17 +2341,13 @@ modest_header_view_unset_filter (ModestHeaderView *self, ModestHeaderViewFilter filter) { ModestHeaderViewPrivate *priv; - GtkTreeModel *filter_model; g_return_if_fail (MODEST_IS_HEADER_VIEW (self)); priv = MODEST_HEADER_VIEW_GET_PRIVATE (self); priv->filter &= ~filter; - filter_model = gtk_tree_view_get_model (GTK_TREE_VIEW (self)); - if (GTK_IS_TREE_MODEL_FILTER(filter_model)) { - gtk_tree_model_filter_refilter (GTK_TREE_MODEL_FILTER (filter_model)); - } + modest_header_view_refilter (self); } static void -- 1.7.9.5