diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-01-16 21:44:47 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-01-16 21:44:50 +0800 |
commit | 1eef5e7b371f1344300785d2b8a2c048fb7c3e8f (patch) | |
tree | d5bf6384d061b3872cc84febcbdacdac56f56dbe /libempathy-gtk | |
parent | b0919fe6aab968756a0a7feb072fc49764862709 (diff) | |
download | gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.gz gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.bz2 gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.lz gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.xz gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.zst gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.zip |
individual-view: remove GTK+ workarounds
They have been properly fixed since a while.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-individual-view.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c index 0c0e62a85..dad975b3c 100644 --- a/libempathy-gtk/empathy-individual-view.c +++ b/libempathy-gtk/empathy-individual-view.c @@ -1637,54 +1637,6 @@ individual_view_row_has_child_toggled_cb (GtkTreeModel *model, g_free (name); } -/* FIXME: This is a workaround for bgo#621076 */ -static void -individual_view_verify_group_visibility (EmpathyIndividualView *view, - GtkTreePath *path) -{ - EmpathyIndividualViewPriv *priv = GET_PRIV (view); - GtkTreeModel *model; - GtkTreePath *parent_path; - GtkTreeIter parent_iter; - - if (gtk_tree_path_get_depth (path) < 2) - return; - - /* A group row is visible if and only if at least one if its child is visible. - * So when a row is inserted/deleted/changed in the base model, that could - * modify the visibility of its parent in the filter model. - */ - - model = GTK_TREE_MODEL (priv->store); - parent_path = gtk_tree_path_copy (path); - gtk_tree_path_up (parent_path); - if (gtk_tree_model_get_iter (model, &parent_iter, parent_path)) - { - /* This tells the filter to verify the visibility of that row, and - * show/hide it if necessary */ - gtk_tree_model_row_changed (GTK_TREE_MODEL (priv->store), - parent_path, &parent_iter); - } - gtk_tree_path_free (parent_path); -} - -static void -individual_view_store_row_changed_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - EmpathyIndividualView *view) -{ - individual_view_verify_group_visibility (view, path); -} - -static void -individual_view_store_row_deleted_cb (GtkTreeModel *model, - GtkTreePath *path, - EmpathyIndividualView *view) -{ - individual_view_verify_group_visibility (view, path); -} - static gboolean individual_view_is_visible_individual (EmpathyIndividualView *self, FolksIndividual *individual, @@ -1815,14 +1767,6 @@ individual_view_filter_visible_func (GtkTreeModel *model, g_object_unref (individual); g_free (group); - /* FIXME: Work around bgo#626552/bgo#621076 */ - if (visible) - { - GtkTreePath *path = gtk_tree_model_get_path (model, iter); - individual_view_verify_group_visibility (self, path); - gtk_tree_path_free (path); - } - return visible; } @@ -2820,11 +2764,6 @@ empathy_individual_view_set_store (EmpathyIndividualView *self, /* Destroy the old filter and remove the old store */ if (priv->store != NULL) { - g_signal_handlers_disconnect_by_func (priv->store, - individual_view_store_row_changed_cb, self); - g_signal_handlers_disconnect_by_func (priv->store, - individual_view_store_row_deleted_cb, self); - g_signal_handlers_disconnect_by_func (priv->filter, individual_view_row_has_child_toggled_cb, self); @@ -2851,13 +2790,6 @@ empathy_individual_view_set_store (EmpathyIndividualView *self, G_CALLBACK (individual_view_row_has_child_toggled_cb), self); gtk_tree_view_set_model (GTK_TREE_VIEW (self), GTK_TREE_MODEL (priv->filter)); - - tp_g_signal_connect_object (priv->store, "row-changed", - G_CALLBACK (individual_view_store_row_changed_cb), self, 0); - tp_g_signal_connect_object (priv->store, "row-inserted", - G_CALLBACK (individual_view_store_row_changed_cb), self, 0); - tp_g_signal_connect_object (priv->store, "row-deleted", - G_CALLBACK (individual_view_store_row_deleted_cb), self, 0); } } |