finch/gntblist.c

branch
soc.2013.gobjectification
changeset 34760
062535fbe1e9
parent 34737
60d32106f808
child 34849
4676b30130c9
equal deleted inserted replaced
34759:545149898f9a 34760:062535fbe1e9
170 if (PURPLE_IS_BUDDY(node)) { 170 if (PURPLE_IS_BUDDY(node)) {
171 PurpleBuddy *buddy = (PurpleBuddy*)node; 171 PurpleBuddy *buddy = (PurpleBuddy*)node;
172 FinchBListNode *fnode = purple_blist_node_get_ui_data(node); 172 FinchBListNode *fnode = purple_blist_node_get_ui_data(node);
173 if (!purple_buddy_get_contact(buddy)) 173 if (!purple_buddy_get_contact(buddy))
174 return FALSE; /* When a new buddy is added and show-offline is set */ 174 return FALSE; /* When a new buddy is added and show-offline is set */
175 if (PURPLE_IS_BUDDY_ONLINE(buddy)) 175 if (PURPLE_BUDDY_IS_ONLINE(buddy))
176 return TRUE; /* The buddy is online */ 176 return TRUE; /* The buddy is online */
177 if (!purple_account_is_connected(purple_buddy_get_account(buddy))) 177 if (!purple_account_is_connected(purple_buddy_get_account(buddy)))
178 return FALSE; /* The account is disconnected. Do not show */ 178 return FALSE; /* The account is disconnected. Do not show */
179 if (offline) 179 if (offline)
180 return TRUE; /* We want to see offline buddies too */ 180 return TRUE; /* We want to see offline buddies too */
238 238
239 str = g_string_new(""); 239 str = g_string_new("");
240 240
241 if (PURPLE_IS_CONTACT(node)) { 241 if (PURPLE_IS_CONTACT(node)) {
242 PurpleBuddy *pr = purple_contact_get_priority_buddy((PurpleContact*)node); 242 PurpleBuddy *pr = purple_contact_get_priority_buddy((PurpleContact*)node);
243 gboolean offline = !PURPLE_IS_BUDDY_ONLINE(pr); 243 gboolean offline = !PURPLE_BUDDY_IS_ONLINE(pr);
244 gboolean showoffline = purple_prefs_get_bool(PREF_ROOT "/showoffline"); 244 gboolean showoffline = purple_prefs_get_bool(PREF_ROOT "/showoffline");
245 const char *name = purple_buddy_get_name(pr); 245 const char *name = purple_buddy_get_name(pr);
246 246
247 title = g_strdup(name); 247 title = g_strdup(name);
248 tooltip_for_buddy(pr, str, TRUE); 248 tooltip_for_buddy(pr, str, TRUE);
255 } 255 }
256 if (node == (PurpleBListNode*)pr) 256 if (node == (PurpleBListNode*)pr)
257 continue; 257 continue;
258 if (!purple_account_is_connected(purple_buddy_get_account(buddy))) 258 if (!purple_account_is_connected(purple_buddy_get_account(buddy)))
259 continue; 259 continue;
260 if (!showoffline && !PURPLE_IS_BUDDY_ONLINE(buddy)) 260 if (!showoffline && !PURPLE_BUDDY_IS_ONLINE(buddy))
261 continue; 261 continue;
262 str = g_string_append(str, "\n----------\n"); 262 str = g_string_append(str, "\n----------\n");
263 tooltip_for_buddy(buddy, str, FALSE); 263 tooltip_for_buddy(buddy, str, FALSE);
264 } 264 }
265 } else if (PURPLE_IS_BUDDY(node)) { 265 } else if (PURPLE_IS_BUDDY(node)) {
266 PurpleBuddy *buddy = (PurpleBuddy *)node; 266 PurpleBuddy *buddy = (PurpleBuddy *)node;
267 tooltip_for_buddy(buddy, str, TRUE); 267 tooltip_for_buddy(buddy, str, TRUE);
268 title = g_strdup(purple_buddy_get_name(buddy)); 268 title = g_strdup(purple_buddy_get_name(buddy));
269 if (!PURPLE_IS_BUDDY_ONLINE((PurpleBuddy*)node)) 269 if (!PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node))
270 lastseen = purple_blist_node_get_int(node, "last_seen"); 270 lastseen = purple_blist_node_get_int(node, "last_seen");
271 } else if (PURPLE_IS_GROUP(node)) { 271 } else if (PURPLE_IS_GROUP(node)) {
272 PurpleGroup *group = (PurpleGroup *)node; 272 PurpleGroup *group = (PurpleGroup *)node;
273 273
274 g_string_append_printf(str, _("Online: %d\nTotal: %d"), 274 g_string_append_printf(str, _("Online: %d\nTotal: %d"),
428 { 428 {
429 PurpleBListNode *node; 429 PurpleBListNode *node;
430 for (node = purple_blist_node_get_first_child(((PurpleBListNode*)contact)); node; 430 for (node = purple_blist_node_get_first_child(((PurpleBListNode*)contact)); node;
431 node = purple_blist_node_get_sibling_next(node)) { 431 node = purple_blist_node_get_sibling_next(node)) {
432 FinchBListNode *fnode = purple_blist_node_get_ui_data(node); 432 FinchBListNode *fnode = purple_blist_node_get_ui_data(node);
433 if (PURPLE_IS_BUDDY_ONLINE((PurpleBuddy*)node) || 433 if (PURPLE_BUDDY_IS_ONLINE((PurpleBuddy*)node) ||
434 (fnode && fnode->signed_timer)) 434 (fnode && fnode->signed_timer))
435 return TRUE; 435 return TRUE;
436 } 436 }
437 return FALSE; 437 return FALSE;
438 } 438 }

mercurial