From: Sean E. <sea...@us...> - 2002-03-28 19:10:39
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv21186/src/protocols/oscar Modified Files: oscar.c Log Message: Correctly show list icons from icq and wireless oscar users. Also correctly set icq user class for away. Thanks, Mark Doliner. Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.125 retrieving revision 1.126 diff -u -d -r1.125 -r1.126 --- oscar.c 20 Mar 2002 20:10:37 -0000 1.125 +++ oscar.c 28 Mar 2002 19:10:34 -0000 1.126 @@ -1612,16 +1612,18 @@ static char *images(int flags) { static char buf[1024]; - g_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s", + g_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s", (flags & AIM_FLAG_ACTIVEBUDDY) ? "<IMG SRC=\"ab_icon.gif\">" : "", (flags & AIM_FLAG_UNCONFIRMED) ? "<IMG SRC=\"dt_icon.gif\">" : "", (flags & AIM_FLAG_AOL) ? "<IMG SRC=\"aol_icon.gif\">" : "", + (flags & AIM_FLAG_ICQ) ? "<IMG SRC=\"icq_icon.gif\">" : "", (flags & AIM_FLAG_ADMINISTRATOR) ? "<IMG SRC=\"admin_icon.gif\">" : "", (flags & AIM_FLAG_FREE) ? "<IMG SRC=\"free_icon.gif\">" : "", (flags & AIM_FLAG_WIRELESS) ? "<IMG SRC=\"wireless_icon.gif\">" : ""); return buf; } + /* XXX This is horribly copied from ../../buddy.c. */ static char *caps_string(guint caps) { @@ -1714,15 +1716,17 @@ prof = va_arg(ap, char *); va_end(ap); - g_snprintf(legend, sizeof legend, - _("<br><BODY BGCOLOR=WHITE><hr><I>Legend:</I><br><br>" - "<IMG SRC=\"free_icon.gif\"> : Normal AIM User<br>" - "<IMG SRC=\"aol_icon.gif\"> : AOL User <br>" - "<IMG SRC=\"dt_icon.gif\"> : Trial AIM User <br>" - "<IMG SRC=\"admin_icon.gif\"> : Administrator <br>" - "<IMG SRC=\"ab_icon.gif\"> : ActiveBuddy Interactive Agent<br>" - "<IMG SRC=\"wireless_icon.gif\"> : Wireless Device User<br>")); - + if (!od->icq) { + g_snprintf(legend, sizeof legend, + _("<br><BODY BGCOLOR=WHITE><hr><I>Legend:</I><br><br>" + "<IMG SRC=\"free_icon.gif\"> : Normal AIM User<br>" + "<IMG SRC=\"aol_icon.gif\"> : AOL User <br>" + "<IMG SRC=\"dt_icon.gif\"> : Trial AIM User <br>" + "<IMG SRC=\"admin_icon.gif\"> : Administrator <br>" + "<IMG SRC=\"ab_icon.gif\"> : ActiveBuddy Interactive Agent<br>" + "<IMG SRC=\"wireless_icon.gif\"> : Wireless Device User<br>")); + } + if (info->present & AIM_USERINFO_PRESENT_ONLINESINCE) { onlinesince = g_strdup_printf("Online Since : <B>%s</B><BR>\n", asctime(localtime(&info->onlinesince))); @@ -2618,7 +2622,7 @@ aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_DND); gc->away = ""; } else if (!strcmp(state, "Not Available")) { - aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT); + aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY); gc->away = ""; } else if (!strcmp(state, "Occupied")) { aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_BUSY); @@ -2631,7 +2635,7 @@ gc->away = ""; } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { if (message) { - aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT); + aim_setextstatus(od->sess, od->conn, AIM_ICQ_STATE_OUT | AIM_ICQ_STATE_AWAY); gc->away = ""; } else { @@ -3094,24 +3098,24 @@ return (char **)icon_online_xpm; if (uc & 0xff80) { uc >>= 7; - if (uc & AIM_ICQ_STATE_AWAY) - return icon_away_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_CHAT) - return icon_ffc_xpm; 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_BUSY) + return icon_occ_xpm; + if (uc & AIM_ICQ_STATE_OUT) + return icon_na_xpm; + if (uc & AIM_ICQ_STATE_DND) + return icon_dnd_xpm; + if (uc & AIM_ICQ_STATE_AWAY) + return icon_away_xpm; return icon_online_xpm; } - if (uc & UC_WIRELESS) - return (char **)wireless_icon_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) |