[empathy] Bug 636700 — Add an extra warning when deleting a metacontact
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy] Bug 636700 — Add an extra warning when deleting a metacontact
- Date: Mon, 13 Dec 2010 12:17:13 +0000 (UTC)
commit a2f8a7b9198d90f6a2e8e38c403e29c25b0b560c
Author: Philip Withnall <philip withnall collabora co uk>
Date: Sun Dec 12 18:15:51 2010 +0000
Bug 636700 â?? Add an extra warning when deleting a metacontact
libempathy-gtk/empathy-individual-view.c | 41 +++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 4 deletions(-)
---
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index 39dc3b3..ee2a3af 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))
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]