diff options
author | John Bailey <rekkanoryo@rekkanoryo.org> | 2009-10-31 17:52:54 +0000 |
---|---|---|
committer | John Bailey <rekkanoryo@rekkanoryo.org> | 2009-10-31 17:52:54 +0000 |
commit | 631931fe640b45c0bf623406f101cffb62a19906 (patch) | |
tree | 89f82be2050568a05d57320430137deeeb07e82b /libpurple/account.c | |
parent | 4bfaae6f20ad3a8305457b4169ec6db8192bfdda (diff) | |
parent | cb3d8a82a3a2c1c3525be5da071e0f70197c59e6 (diff) | |
download | pidgin-631931fe640b45c0bf623406f101cffb62a19906.tar.gz |
propagate from branch 'im.pidgin.pidgin' (head e8995c6648becc2478de4dc29691d4c95d90d27b)
to branch 'im.pidgin.pidgin.next.minor' (head 06ed2b4fb291addacb5f426f401275e6acb050d2)
Diffstat (limited to 'libpurple/account.c')
-rw-r--r-- | libpurple/account.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libpurple/account.c b/libpurple/account.c index 78100bbb99..89117f4c1c 100644 --- a/libpurple/account.c +++ b/libpurple/account.c @@ -2032,6 +2032,42 @@ purple_account_get_connection(const PurpleAccount *account) return account->gc; } +const gchar * +purple_account_get_name_for_display(const PurpleAccount *account) +{ + PurpleBuddy *self = NULL; + PurpleConnection *gc = NULL; + const gchar *name = NULL, *username = NULL, *displayname = NULL; + + name = purple_account_get_alias(account); + + if (name) { + return name; + } + + username = purple_account_get_username(account); + self = purple_find_buddy((PurpleAccount *)account, username); + + if (self) { + const gchar *calias= purple_buddy_get_contact_alias(self); + + /* We don't want to return the buddy name if the buddy/contact + * doesn't have an alias set. */ + if (!purple_strequal(username, calias)) { + return calias; + } + } + + gc = purple_account_get_connection(account); + displayname = purple_connection_get_display_name(gc); + + if (displayname) { + return displayname; + } + + return username; +} + gboolean purple_account_get_remember_password(const PurpleAccount *account) { |