From a2f8a7b9198d90f6a2e8e38c403e29c25b0b560c Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Sun, 12 Dec 2010 18:15:51 +0000 Subject: =?UTF-8?q?Bug=20636700=20=E2=80=94=20Add=20an=20extra=20warning?= =?UTF-8?q?=20when=20deleting=20a=20metacontact?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libempathy-gtk/empathy-individual-view.c | 41 ++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c index 39dc3b34b..ee2a3af85 100644 --- a/libempathy-gtk/empathy-individual-view.c +++ b/libempathy-gtk/empathy-individual-view.c @@ -2345,12 +2345,45 @@ individual_view_remove_activate_cb (GtkMenuItem *menuitem, { gchar *text; GtkWindow *parent; + GList *l, *personas; + guint persona_count = 0; + + personas = folks_individual_get_personas (individual); + + /* If we have more than one TpfPersona, display a different message + * ensuring the user knows that *all* of the meta-contacts' personas will + * be removed. */ + for (l = personas; l != NULL; l = l->next) + { + if (!TPF_IS_PERSONA (l->data)) + continue; + + persona_count++; + if (persona_count >= 2) + break; + } + + if (persona_count < 2) + { + /* Not a meta-contact */ + text = + g_strdup_printf ( + _("Do you really want to remove the contact '%s'?"), + folks_aliasable_get_alias (FOLKS_ALIASABLE (individual))); + } + else + { + /* Meta-contact */ + text = + g_strdup_printf ( + _("Do you really want to remove the linked contact '%s'? " + "Note that this will remove all the contacts which make up " + "this linked contact."), + folks_aliasable_get_alias (FOLKS_ALIASABLE (individual))); + } parent = empathy_get_toplevel_window (GTK_WIDGET (view)); - text = - g_strdup_printf (_ - ("Do you really want to remove the contact '%s'?"), - folks_aliasable_get_alias (FOLKS_ALIASABLE (individual))); + if (individual_view_remove_dialog_show (parent, _("Removing contact"), text)) { -- cgit v1.2.3