diff options
author | Laurent Contzen <lcontzen@gmail.com> | 2012-07-04 21:29:41 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2012-07-23 22:11:28 +0800 |
commit | f7200ee068d8f959608521737872254f20c5ee55 (patch) | |
tree | 3d03ccdc2a77e51d5a0477f9664e30a534a42eb4 /libempathy-gtk/empathy-roster-view.c | |
parent | 5e102f002d353aceb687f92499635b86a0ba2d9b (diff) | |
download | gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar.gz gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar.bz2 gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar.lz gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar.xz gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.tar.zst gsoc2013-empathy-f7200ee068d8f959608521737872254f20c5ee55.zip |
empathy-roster-model: New virtual method _get_groups_for_individual empathy-roster-model-manager: implemented _get_groups_for_individual empathy-roster-view.c: using _get_groups_for_individual
https://bugzilla.gnome.org/show_bug.cgi?id=680302
Diffstat (limited to 'libempathy-gtk/empathy-roster-view.c')
-rw-r--r-- | libempathy-gtk/empathy-roster-view.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/libempathy-gtk/empathy-roster-view.c b/libempathy-gtk/empathy-roster-view.c index b07a4b252..42b8afe6a 100644 --- a/libempathy-gtk/empathy-roster-view.c +++ b/libempathy-gtk/empathy-roster-view.c @@ -338,7 +338,7 @@ individual_added (EmpathyRosterView *self, } else { - GeeSet *groups; + GList *groups, *l; GList *tops; tops = empathy_individual_manager_get_top_individuals ( @@ -351,29 +351,23 @@ individual_added (EmpathyRosterView *self, add_to_group (self, individual, EMPATHY_ROSTER_VIEW_GROUP_TOP_GROUP); } - groups = folks_group_details_get_groups ( - FOLKS_GROUP_DETAILS (individual)); + groups = empathy_roster_model_get_groups_for_individual (self->priv->model, + individual); - if (gee_collection_get_size (GEE_COLLECTION (groups)) > 0) + if (g_list_length (groups) > 0) { - GeeIterator *iter = gee_iterable_iterator (GEE_ITERABLE (groups)); - - while (iter != NULL && gee_iterator_next (iter)) + for (l = groups; l != NULL; l = g_list_next (l)) { - gchar *group = gee_iterator_get (iter); - - add_to_group (self, individual, group); - - g_free (group); + add_to_group (self, individual, l->data); } - - g_clear_object (&iter); } else { /* No group, adds to Ungrouped */ add_to_group (self, individual, EMPATHY_ROSTER_VIEW_GROUP_UNGROUPED); } + + g_list_free (groups); } } |