| 66 fb_get_group(gboolean friend) |
66 fb_get_group(gboolean friend) |
| 67 { |
67 { |
| 68 PurpleBlistNode *n; |
68 PurpleBlistNode *n; |
| 69 PurpleBlistNode *node; |
69 PurpleBlistNode *node; |
| 70 PurpleGroup *grp; |
70 PurpleGroup *grp; |
| |
71 const gchar *title; |
| 71 |
72 |
| 72 if (friend) { |
73 if (friend) { |
| 73 return purple_blist_get_default_group(); |
74 title = _("Facebook Friends"); |
| 74 } |
75 } else { |
| 75 |
76 title = _("Facebook Non-Friends"); |
| 76 grp = purple_blist_find_group(_("Facebook Non-Friends")); |
77 } |
| |
78 |
| |
79 grp = purple_blist_find_group(title); |
| 77 |
80 |
| 78 if (G_UNLIKELY(grp == NULL)) { |
81 if (G_UNLIKELY(grp == NULL)) { |
| 79 grp = purple_group_new(_("Facebook Non-Friends")); |
82 grp = purple_group_new(title); |
| 80 node = NULL; |
83 node = NULL; |
| 81 |
84 |
| 82 for (n = purple_blist_get_root(); n != NULL; n = n->next) { |
85 for (n = purple_blist_get_root(); n != NULL; n = n->next) { |
| 83 node = n; |
86 node = n; |
| 84 } |
87 } |
| 85 |
88 |
| 86 /* Append to the end of the buddy list */ |
89 /* Append to the end of the buddy list */ |
| 87 purple_blist_add_group(grp, node); |
90 purple_blist_add_group(grp, node); |
| 88 |
91 |
| 89 node = PURPLE_BLIST_NODE(grp); |
92 if (!friend) { |
| 90 purple_blist_node_set_transient(node, TRUE); |
93 node = PURPLE_BLIST_NODE(grp); |
| 91 purple_blist_node_set_bool(node, "collapsed", TRUE); |
94 purple_blist_node_set_bool(node, "collapsed", TRUE); |
| |
95 } |
| 92 } |
96 } |
| 93 |
97 |
| 94 return grp; |
98 return grp; |
| 95 } |
99 } |
| 96 |
100 |
| 97 static void |
101 static void |
| 98 fb_buddy_add_nonfriend(PurpleAccount *acct, FbApiUser *user) |
102 fb_buddy_add_nonfriend(PurpleAccount *acct, FbApiUser *user) |
| 99 { |
103 { |
| 100 gchar uid[FB_ID_STRMAX]; |
104 gchar uid[FB_ID_STRMAX]; |
| 101 PurpleBlistNode *node; |
|
| 102 PurpleBuddy *bdy; |
105 PurpleBuddy *bdy; |
| 103 PurpleGroup *grp; |
106 PurpleGroup *grp; |
| 104 |
107 |
| 105 FB_ID_TO_STR(user->uid, uid); |
108 FB_ID_TO_STR(user->uid, uid); |
| 106 bdy = purple_buddy_new(acct, uid, NULL); |
109 bdy = purple_buddy_new(acct, uid, NULL); |
| 107 grp = fb_get_group(FALSE); |
110 grp = fb_get_group(FALSE); |
| 108 node = PURPLE_BLIST_NODE(bdy); |
111 |
| 109 |
|
| 110 purple_blist_node_set_transient(node, TRUE); |
|
| 111 purple_buddy_set_server_alias(bdy, user->name); |
112 purple_buddy_set_server_alias(bdy, user->name); |
| 112 purple_blist_add_buddy(bdy, NULL, grp, NULL); |
113 purple_blist_add_buddy(bdy, NULL, grp, NULL); |
| 113 } |
114 } |
| 114 |
115 |
| 115 static void |
116 static void |