Mercurial > pidgin
diff gtk/plugins/gevolution/gevo-util.c @ 14964:89ef5680f228
[gaim-migrate @ 17743]
Split out the logic for finding a buddy's e-mail address into a separate function. Show the "Send E-mail" menu item only if an e-mail address was found.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Mon, 13 Nov 2006 04:16:49 +0000 |
parents | 009db0b357b5 |
children |
line wrap: on
line diff
--- a/gtk/plugins/gevolution/gevo-util.c Mon Nov 13 03:53:46 2006 +0000 +++ b/gtk/plugins/gevolution/gevo-util.c Mon Nov 13 04:16:49 2006 +0000 @@ -146,3 +146,38 @@ return result; } + +char * +gevo_get_email_for_buddy(GaimBuddy *buddy) +{ + EContact *contact; + char *mail = NULL; + + contact = gevo_search_buddy_in_contacts(buddy, NULL); + + if (contact != NULL) + { + mail = g_strdup(e_contact_get(contact, E_CONTACT_EMAIL_1)); + g_object_unref(contact); + } + + if (mail == NULL) + { + GaimAccount *account = gaim_buddy_get_account(buddy); + const char *prpl_id = gaim_account_get_protocol_id(account); + + if (!strcmp(prpl_id, "prpl-msn")) + { + mail = g_strdup(gaim_normalize(account, + gaim_buddy_get_name(buddy))); + } + else if (!strcmp(prpl_id, "prpl-yahoo")) + { + mail = g_strdup_printf("%s@yahoo.com", + gaim_normalize(account, + gaim_buddy_get_name(buddy))); + } + } + + return mail; +}