pidgin/pidgin

facebook: added additional tooltip pairs
facebook
2015-07-30, James Geboski
27833e4fcb1f
Parents e1fa48ad1f89
Children 556eea7a45da
facebook: added additional tooltip pairs
--- a/libpurple/protocols/facebook/facebook.c Tue Jul 28 12:53:32 2015 -0400
+++ b/libpurple/protocols/facebook/facebook.c Thu Jul 30 17:55:30 2015 -0400
@@ -143,13 +143,11 @@
bdy = purple_blist_find_buddy(acct, uid);
if (bdy == NULL) {
- bdy = purple_buddy_new(acct, uid, user->name);
+ bdy = purple_buddy_new(acct, uid, NULL);
purple_blist_add_buddy(bdy, NULL, grp, NULL);
- fb_data_icon_add(fata, bdy, user->icon,
- fb_cb_data_icon);
- continue;
}
+ purple_buddy_set_server_alias(bdy, user->name);
csum = purple_buddy_icons_get_checksum_for_user(bdy);
if (!purple_strequal(csum, user->csum)) {
@@ -576,6 +574,27 @@
return "facebook";
}
+static void
+fb_client_tooltip_text(PurpleBuddy *buddy, PurpleNotifyUserInfo *info,
+ gboolean full)
+{
+ const gchar *name;
+ PurplePresence *pres;
+ PurpleStatus *status;
+
+ pres = purple_buddy_get_presence(buddy);
+ status = purple_presence_get_active_status(pres);
+
+ if (!PURPLE_BUDDY_IS_ONLINE(buddy)) {
+ /* Prevent doubles statues for Offline buddies */
+ /* See: pidgin_get_tooltip_text() in gtkblist.c */
+ purple_notify_user_info_remove_last_item(info);
+ }
+
+ name = purple_status_get_name(status);
+ purple_notify_user_info_add_pair_plaintext(info, _("Status"), name);
+}
+
static GList *
fb_client_blist_node_menu(PurpleBlistNode *node)
{
@@ -958,6 +977,7 @@
static void
facebook_protocol_client_iface_init(PurpleProtocolClientIface *iface)
{
+ iface->tooltip_text = fb_client_tooltip_text;
iface->blist_node_menu = fb_client_blist_node_menu;
iface->offline_message = fb_client_offline_message;
}