libpurple/blist.c

changeset 20756
2828e7b71a7c
parent 20676
4a3fa8f7eb5f
child 21833
9aeafe0524c9
equal deleted inserted replaced
20302:2c886553edaf 20756:2828e7b71a7c
630 630
631 if (!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) 631 if (!PURPLE_BLIST_NODE_IS_BUDDY(bnode))
632 continue; 632 continue;
633 633
634 buddy = (PurpleBuddy*)bnode; 634 buddy = (PurpleBuddy*)bnode;
635 635 if (new_priority == NULL)
636 if (!purple_account_is_connected(buddy->account)) 636 {
637 new_priority = buddy;
637 continue; 638 continue;
638 if (new_priority == NULL) 639 }
639 new_priority = buddy; 640
640 else 641 if (purple_account_is_connected(buddy->account))
641 { 642 {
642 int cmp; 643 int cmp;
643 644
644 cmp = purple_presence_compare(purple_buddy_get_presence(new_priority), 645 cmp = purple_presence_compare(purple_buddy_get_presence(new_priority),
645 purple_buddy_get_presence(buddy)); 646 purple_buddy_get_presence(buddy));
1440 return contact; 1441 return contact;
1441 } 1442 }
1442 1443
1443 void purple_contact_set_alias(PurpleContact *contact, const char *alias) 1444 void purple_contact_set_alias(PurpleContact *contact, const char *alias)
1444 { 1445 {
1445 PurpleBlistUiOps *ops = purple_blist_get_ui_ops(); 1446 purple_blist_alias_contact(contact,alias);
1446 char *old_alias;
1447
1448 g_return_if_fail(contact != NULL);
1449
1450 if (!purple_strings_are_different(contact->alias, alias))
1451 return;
1452
1453 old_alias = contact->alias;
1454
1455 if ((alias != NULL) && (*alias != '\0'))
1456 contact->alias = g_strdup(alias);
1457 else
1458 contact->alias = NULL;
1459
1460 purple_blist_schedule_save();
1461
1462 if (ops && ops->update)
1463 ops->update(purplebuddylist, (PurpleBlistNode*)contact);
1464
1465 purple_signal_emit(purple_blist_get_handle(), "blist-node-aliased",
1466 contact, old_alias);
1467 g_free(old_alias);
1468 } 1447 }
1469 1448
1470 const char *purple_contact_get_alias(PurpleContact* contact) 1449 const char *purple_contact_get_alias(PurpleContact* contact)
1471 { 1450 {
1472 g_return_val_if_fail(contact != NULL, NULL); 1451 g_return_val_if_fail(contact != NULL, NULL);

mercurial