| 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); |