# HG changeset patch # User Nathan Walp # Date 1066071280 0 # Node ID dee9f6aebbf3722b3b63a1b19554e7b6d658160f # Parent a0b66b6fa9ff98e87046419c5bbfa7a69ae371e0 [gaim-migrate @ 7827] ability to unsubscribe from a buddy's presence w/o removing them from your list (and thus removing your presence notifications to them) committer: Tailor Script diff -r a0b66b6fa9ff -r dee9f6aebbf3 src/protocols/jabber/buddy.c --- a/src/protocols/jabber/buddy.c Mon Oct 13 18:46:05 2003 +0000 +++ b/src/protocols/jabber/buddy.c Mon Oct 13 18:54:40 2003 +0000 @@ -854,6 +854,13 @@ jabber_presence_subscription_set(js, name, "subscribe"); } +static void jabber_buddy_unsubscribe(GaimConnection *gc, const char *name) +{ + JabberStream *js = gc->proto_data; + + jabber_presence_subscription_set(js, name, "unsubscribe"); +} + GList *jabber_buddy_menu(GaimConnection *gc, const char *name) { GList *m = NULL; @@ -882,10 +889,16 @@ if(!(jb->subscription & JABBER_SUB_TO)) { pbm = g_new0(struct proto_buddy_menu, 1); - pbm->label = _("Re-request authorization"); + pbm->label = _("(Re-)Request authorization"); pbm->callback = jabber_buddy_rerequest_auth; pbm->gc = gc; m = g_list_append(m, pbm); + } else { + pbm = g_new0(struct proto_buddy_menu, 1); + pbm->label = _("Unsubscribe"); + pbm->callback = jabber_buddy_unsubscribe; + pbm->gc = gc; + m = g_list_append(m, pbm); } return m;