Mercurial > pidgin.yaz
changeset 4766:03aa36cb4e38
[gaim-migrate @ 5084]
This fixes the mobile icon for people who have +19195555555 people in
their ICQ buddy list. It makes the peep show up as a flower with the
totally sweet mobile icon symbol superimposed. I also shuffled some
lines around to get ready for the superimposition of extended ICQ
status icons. Now we just need some icons.
"What's superimposed...?"
"Have good mash pitting!"
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Fri, 14 Mar 2003 07:04:46 +0000 |
parents | b6f6a10f9baf |
children | f6d83e81d45a |
files | src/protocols/oscar/oscar.c |
diffstat | 1 files changed, 37 insertions(+), 52 deletions(-) [+] |
line wrap: on
line diff
--- a/src/protocols/oscar/oscar.c Fri Mar 14 07:03:19 2003 +0000 +++ b/src/protocols/oscar/oscar.c Fri Mar 14 07:04:46 2003 +0000 @@ -1618,19 +1618,19 @@ if (info->flags & AIM_FLAG_ACTIVEBUDDY) type |= UC_AB; - if ((!od->icq) && (info->present & AIM_USERINFO_PRESENT_FLAGS)) { - if (info->flags & AIM_FLAG_UNCONFIRMED) - type |= UC_UNCONFIRMED; - if (info->flags & AIM_FLAG_ADMINISTRATOR) - type |= UC_ADMIN; - if (info->flags & AIM_FLAG_AOL) - type |= UC_AOL; - if (info->flags & AIM_FLAG_FREE) - type |= UC_NORMAL; - if (info->flags & AIM_FLAG_AWAY) - type |= UC_UNAVAILABLE; - if (info->flags & AIM_FLAG_WIRELESS) - type |= UC_WIRELESS; + if (info->present & AIM_USERINFO_PRESENT_FLAGS) { + if (info->flags & AIM_FLAG_UNCONFIRMED) + type |= UC_UNCONFIRMED; + if (info->flags & AIM_FLAG_ADMINISTRATOR) + type |= UC_ADMIN; + if (info->flags & AIM_FLAG_AOL) + type |= UC_AOL; + if (info->flags & AIM_FLAG_FREE) + type |= UC_NORMAL; + if (info->flags & AIM_FLAG_AWAY) + type |= UC_UNAVAILABLE; + if (info->flags & AIM_FLAG_WIRELESS) + type |= UC_WIRELESS; } if (info->present & AIM_USERINFO_PRESENT_ICQEXTSTATUS) { type = (info->icqinfo.status << 16); @@ -4883,7 +4883,7 @@ } static const char *oscar_list_icon(struct gaim_account *a, struct buddy *b) { - if (!b) { + if (!b || (b && b->name && b->name[0] == '+')) { if (isdigit(a->username[0])) return "icq"; else @@ -4900,8 +4900,27 @@ char *emblems[4] = {NULL,NULL,NULL,NULL}; int i = 0; - if (b->uc & UC_UNAVAILABLE) - emblems[i++] = "away"; + if (b->name && (b->uc & 0xffff0000) && isdigit(b->name[0])) { +/* int uc = b->uc >> 16; + if (uc & AIM_ICQ_STATE_INVISIBLE) + emblems[i++] = "icq_invisible"; + else if (uc & AIM_ICQ_STATE_CHAT) + emblems[i++] = "icq_chat"; + else if (uc & AIM_ICQ_STATE_DND) + emblems[i++] = "icq_dnd"; + else if (uc & AIM_ICQ_STATE_OUT) + emblems[i++] = "icq_out"; + else if (uc & AIM_ICQ_STATE_BUSY) + emblems[i++] = "icq_busy"; + else if (uc & AIM_ICQ_STATE_AWAY) + emblems[i++] = "icq_away"; +*/ + if (b->uc & UC_UNAVAILABLE) + emblems[i++] = "away"; + } else { + if (b->uc & UC_UNAVAILABLE) + emblems[i++] = "away"; + } if (b->uc & UC_WIRELESS) emblems[i++] = "wireless"; if (b->uc & UC_AOL) @@ -4910,48 +4929,14 @@ emblems[i++] = "admin"; if (b->uc & UC_AB && i < 4) emblems[i++] = "activebuddy"; +/* if (b->uc & UC_UNCONFIRMED && i < 4) + emblems[i++] = "unconfirmed"; */ *se = emblems[0]; *sw = emblems[1]; *nw = emblems[2]; *ne = emblems[3]; } -/* if (uc == 0) - return (char **)icon_online_xpm; - if (uc & 0xffff0000) { - uc >>= 16; - if (uc & AIM_ICQ_STATE_INVISIBLE) - return icon_offline_xpm; - if (uc & AIM_ICQ_STATE_CHAT) - return icon_ffc_xpm; - if (uc & AIM_ICQ_STATE_DND) - return icon_dnd_xpm; - if (uc & AIM_ICQ_STATE_OUT) - return icon_na_xpm; - if (uc & AIM_ICQ_STATE_BUSY) - return icon_occ_xpm; - if (uc & AIM_ICQ_STATE_AWAY) - return icon_away_xpm; - return icon_online_xpm; - } - if (uc & UC_UNAVAILABLE) - return (char **)away_icon_xpm; - if (uc & UC_WIRELESS) - return (char **)wireless_icon_xpm; - if (uc & UC_AB) - return (char **)ab_xpm; - if (uc & UC_AOL) - return (char **)aol_icon_xpm; - if (uc & UC_ADMIN) - return (char **)admin_icon_xpm; - if (uc & UC_UNCONFIRMED) - return (char **)dt_icon_xpm; - if (uc & UC_NORMAL) - return (char **)free_icon_xpm; - return NULL; -*/ - - /* * We have just established a socket with the other dude, so set up some handlers. */