diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2010-07-21 18:57:08 +0800 |
---|---|---|
committer | Philip Withnall <philip.withnall@collabora.co.uk> | 2010-07-21 19:13:26 +0800 |
commit | 5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f (patch) | |
tree | cc63b7c6252fb2b0e54d70660487b1683ba037c9 | |
parent | 5f58a8e1491eb0a2c44bbcd73674cf88877500e3 (diff) | |
download | gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar.gz gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar.bz2 gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar.lz gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar.xz gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.tar.zst gsoc2013-empathy-5ee7ffd39ff228c35d0fb85aa7d55bbfe044e73f.zip |
Re-add support for the "People Nearby" group
-rw-r--r-- | libempathy-gtk/empathy-individual-store.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/libempathy-gtk/empathy-individual-store.c b/libempathy-gtk/empathy-individual-store.c index 84fcbe289..da590608a 100644 --- a/libempathy-gtk/empathy-individual-store.c +++ b/libempathy-gtk/empathy-individual-store.c @@ -349,6 +349,7 @@ individual_store_add_individual (EmpathyIndividualStore *self, EmpathyContact *contact; TpConnection *connection; EmpathyIndividualManagerFlags flags = 0; + gchar *protocol_name; priv = GET_PRIV (self); @@ -368,18 +369,23 @@ individual_store_add_individual (EmpathyIndividualStore *self, flags = empathy_individual_manager_get_flags_for_connection (manager, connection); + tp_connection_parse_object_path (connection, &protocol_name, NULL); + if (groups == NULL) { GtkTreeIter iter_group, *parent; parent = &iter_group; - /* TODO: implement */ - DEBUG ("forcing the People Nearby group even when 'show " - "groups' is off is unimplemented"); - if (!priv->show_groups) parent = NULL; + else if (!tp_strdiff (protocol_name, "local-xmpp")) + { + /* these are People Nearby */ + individual_store_get_group (self, + EMPATHY_INDIVIDUAL_STORE_PEOPLE_NEARBY, &iter_group, NULL, NULL, + TRUE); + } else { individual_store_get_group (self, @@ -391,6 +397,8 @@ individual_store_add_individual (EmpathyIndividualStore *self, individual, flags); } + g_free (protocol_name); + /* Else add to each group. */ for (l = groups; l; l = l->next) { |