libpurple/protocols/facebook/facebook.c

changeset 38402
9440461098b5
parent 38397
046138091ee2
child 38403
e27755a3a92e
equal deleted inserted replaced
38401:fb78a9b724e0 38402:9440461098b5
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

mercurial