aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-03-12 22:23:30 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-03-13 18:20:05 +0800
commit8daec6589cf7dbd0be2c4f6548234d48d0f5b44a (patch)
tree9342dc1d90032fb14d60f804781c2828fdfb8f65
parent46c6f5229b55a9ce274fc9f420f30d217a946541 (diff)
downloadgsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar.gz
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar.bz2
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar.lz
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar.xz
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.tar.zst
gsoc2013-empathy-8daec6589cf7dbd0be2c4f6548234d48d0f5b44a.zip
individual-menu: only use 'gnome-contacts' with individuals from Folks
https://bugzilla.gnome.org/show_bug.cgi?id=671884
-rw-r--r--libempathy-gtk/empathy-individual-menu.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-individual-menu.c b/libempathy-gtk/empathy-individual-menu.c
index 7b8da52d1..22d314882 100644
--- a/libempathy-gtk/empathy-individual-menu.c
+++ b/libempathy-gtk/empathy-individual-menu.c
@@ -53,6 +53,7 @@
#include "empathy-share-my-desktop.h"
#include "empathy-call-utils.h"
#include "empathy-individual-store-channel.h"
+#include "empathy-individual-information-dialog.h"
#define DEBUG_FLAG EMPATHY_DEBUG_CONTACT
#include <libempathy/empathy-debug.h>
@@ -1364,7 +1365,24 @@ static void
individual_info_menu_item_activate_cb (GtkMenuItem *item,
FolksIndividual *individual)
{
- start_gnome_contacts (individual, TRUE);
+ EmpathyIndividualManager *mgr;
+
+ mgr = empathy_individual_manager_dup_singleton ();
+
+ /* Only use gnome-contacts if that's a 'real' individual we got from
+ * Folks (and so the individual manager knows about it). If not that's a
+ * MUC contact and we use the simple dialog. */
+ if (empathy_individual_manager_lookup_member (mgr,
+ folks_individual_get_id (individual)) != NULL)
+ {
+ start_gnome_contacts (individual, TRUE);
+ }
+ else
+ {
+ empathy_individual_information_dialog_show (individual, NULL);
+ }
+
+ g_object_unref (mgr);
}
static GtkWidget *