You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(106) |
Oct
(334) |
Nov
(246) |
Dec
(145) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(53) |
Mar
(232) |
Apr
(109) |
May
(137) |
Jun
(63) |
Jul
(26) |
Aug
(263) |
Sep
(193) |
Oct
(507) |
Nov
(440) |
Dec
(241) |
2003 |
Jan
(567) |
Feb
(195) |
Mar
(504) |
Apr
(481) |
May
(524) |
Jun
(522) |
Jul
(594) |
Aug
(502) |
Sep
(643) |
Oct
(508) |
Nov
(430) |
Dec
(377) |
2004 |
Jan
(361) |
Feb
(251) |
Mar
(219) |
Apr
(499) |
May
(461) |
Jun
(419) |
Jul
(314) |
Aug
(519) |
Sep
(416) |
Oct
(247) |
Nov
(305) |
Dec
(382) |
2005 |
Jan
(267) |
Feb
(282) |
Mar
(327) |
Apr
(338) |
May
(189) |
Jun
(400) |
Jul
(462) |
Aug
(530) |
Sep
(316) |
Oct
(523) |
Nov
(481) |
Dec
(650) |
2006 |
Jan
(536) |
Feb
(361) |
Mar
(287) |
Apr
(146) |
May
(101) |
Jun
(169) |
Jul
(221) |
Aug
(498) |
Sep
(300) |
Oct
(236) |
Nov
(209) |
Dec
(205) |
2007 |
Jan
(30) |
Feb
(23) |
Mar
(26) |
Apr
(15) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Eric W. <war...@us...> - 2001-10-15 15:48:28
|
Update of /cvsroot/gaim/gaim/src/protocols/yahoo In directory usw-pr-cvs1:/tmp/cvs-serv27484 Modified Files: yay.c Log Message: hopefully this should fix a segfault Index: yay.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/yahoo/yay.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- yay.c 2001/10/14 11:36:36 1.18 +++ yay.c 2001/10/15 15:48:25 1.19 @@ -294,7 +294,12 @@ static void yahoo_notify(struct yahoo_session *sess, int socket, int type, int cont) { struct gaim_connection *gc = sess->user_data; - struct yahoo_data *yd = gc->proto_data; + struct yahoo_data *yd; + + if (!g_slist_find(connections, gc)) + return; + + yd = gc->proto_data; if (cont) { struct conn *c = g_new0(struct conn, 1); @@ -319,6 +324,13 @@ static void yahoo_got_connected(gpointer data, gint source, GaimInputCondition cond) { struct connect *con = data; + struct gaim_connection *gc = con->sess->user_data; + + if (!g_slist_find(connections, gc)) { + close(source); + g_free(con); + return; + } debug_printf("got connected (possibly)\n"); yahoo_connected(con->sess, con->data, source); |
From: Rob F. <rob...@us...> - 2001-10-15 05:04:07
|
Update of /cvsroot/gaim/gaim/doc In directory usw-pr-cvs1:/tmp/cvs-serv5469 Modified Files: FAQ Log Message: Please stop asking me this. :-) Index: FAQ =================================================================== RCS file: /cvsroot/gaim/gaim/doc/FAQ,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- FAQ 2001/08/14 21:50:38 1.17 +++ FAQ 2001/10/15 05:04:04 1.18 @@ -8,6 +8,7 @@ 1.4 How do I load plugins/perl scripts? 1.5 I'm not a native English speaker and I would like a translated version of gaim. + 1.6 Why can I import my buddylist but not export it? 2 Multiple Connections 2.1 What do you mean by "multiple connections"? @@ -111,6 +112,13 @@ or add a translation of gaim, email or IM either Rob or Eric and they can tell you how to go about it. +1.6 Why can I import my buddylist but not export it? + +Because you don't have to. Gaim, out of the kindness of its sweet little +heart, automagically exports your buddylist for you. You can find a copy +of your list in ~/.gaim/YOURNAME.PROTO.BLIST. For example, if you're +using AIM, and your name is JoeUser, then your buddy list could be found +in: ~/.gaim/JOEUSER.0.blist. 2 Multiple Connections |
From: Eric W. <war...@us...> - 2001-10-15 03:16:04
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv5653/protocols/oscar Modified Files: CHANGES aim.h im.c login.c misc.c oscar.c Log Message: hi. this is better. Index: CHANGES =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/CHANGES,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- CHANGES 2001/09/20 03:16:43 1.9 +++ CHANGES 2001/10/15 03:16:01 1.10 @@ -1,6 +1,21 @@ No release numbers ------------------ + - Sun Oct 14 19:45:54 PDT 2001 + - Fix aim_icq_setstatus + - Minor touchups + - Parse 1/f (selfinfo) + - Add ICQ status defines + + - Wed Oct 3 11:07:22 PDT 2001 + - Fix awful bug in ft listenestablish. + - struct aim_userinfo_s becomes aim_userinfo_t. + - I haven't decided what to do with this. I like it in its current + form to an extent, but it is also not flexible enough. But it would + become too complex and cumbersome if I were to do it more flexibly. + - Also added a few accessor functions that should be used instead of + directly accessing the struct, particularly for the capabilities. + - Wed Sep 19 18:50:34 PDT 2001 - Remove non-standard default features from aim_send_im_ext. - Sadly, AOL 5.0 ignores messages with non-standard features. Once Index: aim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/aim.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- aim.h 2001/10/03 20:36:33 1.9 +++ aim.h 2001/10/15 03:16:01 1.10 @@ -372,6 +372,15 @@ #define AIM_SESS_FLAGS_XORLOGIN 0x00000002 #define AIM_SESS_FLAGS_NONBLOCKCONNECT 0x00000004 +/* Valid for calling aim_icq_setstatus() and for aim_userinfo_t->icqinfo.status */ +#define AIM_ICQ_STATE_ONLINE 0x0000 +#define AIM_ICQ_STATE_AWAY 0x0001 +#define AIM_ICQ_STATE_DND 0x0002 +#define AIM_ICQ_STATE_NA 0x0004 +#define AIM_ICQ_STATE_OCCUPIED 0x0010 +#define AIM_ICQ_STATE_CHAT 0x0020 +#define AIM_ICQ_STATE_INVISIBLE 0x0100 + /* * AIM User Info, Standard Form. */ @@ -567,7 +576,7 @@ faim_export int aim_setversions(aim_session_t *sess, aim_conn_t *conn); faim_export int aim_setdirectoryinfo(aim_session_t *sess, aim_conn_t *conn, const char *first, const char *middle, const char *last, const char *maiden, const char *nickname, const char *street, const char *city, const char *state, const char *zip, int country, fu16_t privacy); faim_export int aim_setuserinterests(aim_session_t *sess, aim_conn_t *conn, const char *interest1, const char *interest2, const char *interest3, const char *interest4, const char *interest5, fu16_t privacy); -faim_export int aim_icq_setstatus(aim_session_t *sess, aim_conn_t *conn, fu32_t status); +faim_export int aim_icq_setstatus(aim_session_t *sess, aim_conn_t *conn, fu16_t status); faim_export struct aim_fileheader_t *aim_getlisting(aim_session_t *sess, FILE *); Index: im.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/im.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- im.c 2001/10/03 20:36:33 1.9 +++ im.c 2001/10/15 03:16:01 1.10 @@ -1383,14 +1383,6 @@ channel = aimbs_get16(bs); /* - * Technically Channel 3 in chat could be done here too. - */ - if ((channel != 0x01) && (channel != 0x02)) { - faimdprintf(sess, 0, "icbm: ICBM received on an unsupported channel. Ignoring.\n (chan = %04x)", channel); - return 0; - } - - /* * Extract the standard user info block. * * Note that although this contains TLVs that appear contiguous @@ -1434,6 +1426,9 @@ * Free up the TLV chain. */ aim_freetlvchain(&tlvlist); + } else { + faimdprintf(sess, 0, "icbm: ICBM received on an unsupported channel. Ignoring.\n (chan = %04x)", channel); + return 0; } return ret; Index: login.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/login.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- login.c 2001/10/03 20:36:33 1.7 +++ login.c 2001/10/15 03:16:01 1.8 @@ -602,13 +602,15 @@ return 0; } -/* XXX parse this */ static int selfinfo(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) { aim_rxcallback_t userfunc; + aim_userinfo_t userinfo; + + aim_extractuserinfo(sess, bs, &userinfo); if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) - return userfunc(sess, rx); + return userfunc(sess, rx, &userinfo); return 0; } Index: misc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/misc.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- misc.c 2001/10/14 11:36:36 1.5 +++ misc.c 2001/10/15 03:16:01 1.6 @@ -642,7 +642,7 @@ return 0; } -faim_export int aim_icq_setstatus(aim_session_t *sess, aim_conn_t *conn, fu32_t status) +faim_export int aim_icq_setstatus(aim_session_t *sess, aim_conn_t *conn, fu16_t status) { aim_frame_t *fr; aim_snacid_t snacid; Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- oscar.c 2001/10/14 11:36:36 1.46 +++ oscar.c 2001/10/15 03:16:01 1.47 @@ -68,14 +68,6 @@ #define UC_NORMAL 0x10 #define UC_AB 0x20 -#define ICQ_ONLINE 0x0000 -#define ICQ_AWAY 0x0001 -#define ICQ_DND 0x0002 -#define ICQ_NA 0x0004 -#define ICQ_OCCUPIED 0x0010 -#define ICQ_CHAT 0x0020 -#define ICQ_INVISIBLE 0x0100 - #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" static int gaim_caps = AIM_CAPS_CHAT | @@ -247,6 +239,7 @@ static int gaim_parse_genericerr (aim_session_t *, aim_frame_t *, ...); static int gaim_memrequest (aim_session_t *, aim_frame_t*, ...); static int server_ready_bos (aim_session_t *, aim_frame_t*, ...); +static int gaim_selfinfo (aim_session_t *, aim_frame_t*, ...); static int gaim_directim_initiate (aim_session_t *, aim_frame_t *, ...); static int gaim_directim_incoming (aim_session_t *, aim_frame_t *, ...); @@ -679,6 +672,7 @@ aim_conn_addhandler(sess, bosconn, 0x0003, 0x0001, gaim_parse_genericerr, 0); aim_conn_addhandler(sess, bosconn, 0x0009, 0x0001, gaim_parse_genericerr, 0); aim_conn_addhandler(sess, bosconn, 0x0001, 0x001f, gaim_memrequest, 0); + aim_conn_addhandler(sess, bosconn, 0x0001, 0x000f, gaim_selfinfo, 0); ((struct oscar_data *)gc->proto_data)->conn = bosconn; for (i = 0; i < (int)strlen(bosip); i++) { @@ -1172,7 +1166,7 @@ } else { if (info->icqinfo.status) { type = (info->icqinfo.status << 6); - if (!(info->icqinfo.status & ICQ_CHAT)) + if (!(info->icqinfo.status & AIM_ICQ_STATE_CHAT)) type |= UC_UNAVAILABLE; } debug_printf("icq status: %d\n", info->icqinfo.status); @@ -1925,6 +1919,21 @@ return 1; } +static int gaim_selfinfo(aim_session_t *sess, aim_frame_t *fr, ...) { + va_list ap; + aim_userinfo_t *info; + struct gaim_connection *gc = sess->aux_data; + + va_start(ap, fr); + info = va_arg(ap, aim_userinfo_t *); + va_end(ap); + + gc->evil = info->warnlevel/10; + gc->correction_time = (info->onlinesince - gc->login_time); + + return 1; +} + static int rateresp_bos(aim_session_t *sess, aim_frame_t *fr, ...) { struct gaim_connection *gc = sess->aux_data; @@ -2236,31 +2245,31 @@ gc->away = NULL; if (!strcmp(state, "Online")) - aim_icq_setstatus(od->sess, od->conn, ICQ_ONLINE); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_ONLINE); else if (!strcmp(state, "Away")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_AWAY); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_AWAY); gc->away = ""; } else if (!strcmp(state, "Do Not Disturb")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_DND); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_DND); gc->away = ""; } else if (!strcmp(state, "Not Available")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_NA); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_NA); gc->away = ""; } else if (!strcmp(state, "Occupied")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_OCCUPIED); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_OCCUPIED); gc->away = ""; } else if (!strcmp(state, "Free For Chat")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_CHAT); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_CHAT); gc->away = ""; } else if (!strcmp(state, "Invisible")) { - aim_icq_setstatus(od->sess, od->conn, ICQ_INVISIBLE); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_INVISIBLE); gc->away = ""; } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { if (message) { - aim_icq_setstatus(od->sess, od->conn, ICQ_NA); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_NA); gc->away = ""; } else { - aim_icq_setstatus(od->sess, od->conn, ICQ_ONLINE); + aim_icq_setstatus(od->sess, od->conn, AIM_ICQ_STATE_ONLINE); } } } @@ -2455,17 +2464,17 @@ return (char **)icon_online_xpm; if (uc & 0x7fc0) { uc >>= 6; - if (uc & ICQ_AWAY) + if (uc & AIM_ICQ_STATE_AWAY) return icon_away_xpm; - if (uc & ICQ_DND) + if (uc & AIM_ICQ_STATE_DND) return icon_dnd_xpm; - if (uc & ICQ_NA) + if (uc & AIM_ICQ_STATE_NA) return icon_na_xpm; - if (uc & ICQ_OCCUPIED) + if (uc & AIM_ICQ_STATE_OCCUPIED) return icon_occ_xpm; - if (uc & ICQ_CHAT) + if (uc & AIM_ICQ_STATE_CHAT) return icon_ffc_xpm; - if (uc & ICQ_INVISIBLE) + if (uc & AIM_ICQ_STATE_INVISIBLE) return icon_offline_xpm; return icon_online_xpm; } @@ -2804,7 +2813,7 @@ void oscar_init(struct prpl *ret) { ret->protocol = PROTO_OSCAR; - ret->options = OPT_PROTO_HTML | OPT_PROTO_CORRECT_TIME | OPT_PROTO_BUDDY_ICON; + ret->options = OPT_PROTO_HTML | OPT_PROTO_BUDDY_ICON; ret->name = oscar_name; ret->list_icon = oscar_list_icon; ret->away_states = oscar_away_states; |
From: Eric W. <war...@us...> - 2001-10-15 02:43:47
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv27878 Modified Files: server.c Log Message: hi again Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.199 retrieving revision 1.200 diff -u -d -r1.199 -r1.200 --- server.c 2001/10/15 02:42:15 1.199 +++ server.c 2001/10/15 02:43:44 1.200 @@ -633,6 +633,7 @@ if (gc->prpl->options & OPT_PROTO_CORRECT_TIME) { char *tmp = g_strdup(normalize(name)); if (!g_strcasecmp(tmp, normalize(gc->username))) { + gc->evil = evil; gc->correction_time = (signon - gc->login_time); update_idle_times(); } |
From: Eric W. <war...@us...> - 2001-10-15 02:42:19
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv27350 Modified Files: server.c Log Message: hi Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.198 retrieving revision 1.199 diff -u -d -r1.198 -r1.199 --- server.c 2001/10/09 23:43:29 1.198 +++ server.c 2001/10/15 02:42:15 1.199 @@ -747,7 +747,7 @@ g_snprintf(buf2, sizeof(buf2), "%s has just been warned by %s.\nYour new warning level is %d%%", gc->username, ((name == NULL)? "an anonymous person" : name), lev); - do_error_dialog(_("Warned"), buf2); + do_error_dialog(buf2, _("Warned")); } |
From: Eric W. <war...@us...> - 2001-10-14 20:45:06
|
Update of /cvsroot/gaim/gaim/plugins In directory usw-pr-cvs1:/tmp/cvs-serv4778 Modified Files: mailchk.c Log Message: hi. Index: mailchk.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/mailchk.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- mailchk.c 2001/09/10 18:39:57 1.3 +++ mailchk.c 2001/10/14 20:45:03 1.4 @@ -49,7 +49,6 @@ static gboolean check_timeout(gpointer data) { gint count = check_mail(); - char buf[256]; if (count == -1) return FALSE; |
From: Eric W. <war...@us...> - 2001-10-14 19:43:28
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv20712 Modified Files: core.c Log Message: there Index: core.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/core.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- core.c 2001/10/11 07:19:20 1.13 +++ core.c 2001/10/14 19:43:25 1.14 @@ -408,7 +408,7 @@ gint fd; if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) != -1) { - umask(0177); + mode_t m = umask(0177); saddr.sun_family = AF_UNIX; g_snprintf(saddr.sun_path, 108, "%s/gaim_%s.%d", g_get_tmp_dir(), g_get_user_name(), getpid()); @@ -418,6 +418,7 @@ g_log(NULL, G_LOG_LEVEL_CRITICAL, "Failed to assign %s to a socket (Error: %s)", saddr.sun_path, strerror(errno)); + umask(m); } else g_log(NULL, G_LOG_LEVEL_CRITICAL, "Unable to open socket: %s", strerror(errno)); return fd; |
From: Eric W. <war...@us...> - 2001-10-14 18:31:34
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv32324 Modified Files: conversation.c Log Message: whoops. Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.279 retrieving revision 1.280 diff -u -d -r1.279 -r1.280 --- conversation.c 2001/10/14 03:54:40 1.279 +++ conversation.c 2001/10/14 18:31:29 1.280 @@ -251,8 +251,10 @@ gtk_widget_destroy(c->link_dialog); if (c->log_dialog) gtk_widget_destroy(c->log_dialog); +#if USE_PIXBUF if (c->save_icon) gtk_widget_destroy(c->save_icon); +#endif g_string_free(c->history, TRUE); g_free(c); } |
From: Eric W. <war...@us...> - 2001-10-14 11:36:40
|
Update of /cvsroot/gaim/gaim/src/protocols/zephyr In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/zephyr Modified Files: zephyr.c Log Message: i should have hidden something ultra-secret in this. Index: zephyr.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/zephyr/zephyr.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- zephyr.c 2001/10/03 09:48:33 1.13 +++ zephyr.c 2001/10/14 11:36:36 1.14 @@ -796,7 +796,7 @@ gc->away = g_strdup(msg); } -static GList *zephyr_away_states() +static GList *zephyr_away_states(struct gaim_connection *gc) { GList *m = NULL; |
From: Eric W. <war...@us...> - 2001-10-14 11:36:40
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/oscar Modified Files: misc.c oscar.c Log Message: i should have hidden something ultra-secret in this. Index: misc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/misc.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- misc.c 2001/09/09 10:07:13 1.4 +++ misc.c 2001/10/14 11:36:36 1.5 @@ -651,7 +651,7 @@ data = 0x00030000 | status; /* yay for error checking ;^) */ - if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 4))) + if (!(fr = aim_tx_new(sess, conn, AIM_FRAMETYPE_FLAP, 0x02, 10 + 8))) return -ENOMEM; snacid = aim_cachesnac(sess, 0x0001, 0x001e, 0x0000, NULL, 0); Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- oscar.c 2001/10/05 20:01:22 1.45 +++ oscar.c 2001/10/14 11:36:36 1.46 @@ -30,6 +30,7 @@ #include <errno.h> #include <netinet/in.h> #include <arpa/inet.h> +#include <ctype.h> #include <string.h> #include <stdlib.h> #include <stdio.h> @@ -42,7 +43,6 @@ #include "aim.h" #include "proxy.h" -/*#include "pixmaps/cancel.xpm"*/ #include "pixmaps/ab.xpm" #include "pixmaps/admin_icon.xpm" #include "pixmaps/aol_icon.xpm" @@ -50,12 +50,32 @@ #include "pixmaps/dt_icon.xpm" #include "pixmaps/free_icon.xpm" +#include "pixmaps/gnomeicu-online.xpm" +#include "pixmaps/gnomeicu-offline.xpm" +#include "pixmaps/gnomeicu-away.xpm" +#include "pixmaps/gnomeicu-dnd.xpm" +#include "pixmaps/gnomeicu-na.xpm" +#include "pixmaps/gnomeicu-occ.xpm" +#include "pixmaps/gnomeicu-ffc.xpm" + /* constants to identify proto_opts */ #define USEROPT_AUTH 0 #define USEROPT_AUTHPORT 1 -#define UC_AB 32 +#define UC_AOL 0x02 +#define UC_ADMIN 0x04 +#define UC_UNCONFIRMED 0x08 +#define UC_NORMAL 0x10 +#define UC_AB 0x20 +#define ICQ_ONLINE 0x0000 +#define ICQ_AWAY 0x0001 +#define ICQ_DND 0x0002 +#define ICQ_NA 0x0004 +#define ICQ_OCCUPIED 0x0010 +#define ICQ_CHAT 0x0020 +#define ICQ_INVISIBLE 0x0100 + #define AIMHASHDATA "http://gaim.sourceforge.net/aim_data.php3" static int gaim_caps = AIM_CAPS_CHAT | @@ -83,7 +103,8 @@ GSList *direct_ims; GSList *hasicons; - gboolean killme; + gboolean killme; + gboolean icq; }; struct chat_connection { @@ -427,6 +448,8 @@ odata->create_exchange = 0; debug_printf(_("Logging in %s\n"), user->username); + if (isdigit(*user->username)) + odata->icq = TRUE; sess = g_new0(aim_session_t, 1); @@ -1125,6 +1148,7 @@ time_t time_idle; int type = 0; struct gaim_connection *gc = sess->aux_data; + struct oscar_data *od = gc->proto_data; char *tmp; va_list ap; @@ -1132,18 +1156,27 @@ info = va_arg(ap, aim_userinfo_t *); va_end(ap); - if (info->flags & AIM_FLAG_ACTIVEBUDDY) - type |= UC_AB; - 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 (!od->icq) { + if (info->flags & AIM_FLAG_ACTIVEBUDDY) + type |= UC_AB; + 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; + } else { + if (info->icqinfo.status) { + type = (info->icqinfo.status << 6); + if (!(info->icqinfo.status & ICQ_CHAT)) + type |= UC_UNAVAILABLE; + } + debug_printf("icq status: %d\n", info->icqinfo.status); + } if (info->idletime) { time(&time_idle); @@ -2180,22 +2213,56 @@ aim_bos_setprofile(odata->sess, odata->conn, inforeal, g->away ? NULL : "", gaim_caps); } -static void oscar_set_away(struct gaim_connection *g, char *state, char *message) { - struct oscar_data *odata = (struct oscar_data *)g->proto_data; - char info[1025], away[1025]; - g_snprintf(info, sizeof(info), "%s", g->user->user_info); - if (message) - g_snprintf(away, sizeof(away), "%s", message); - aim_bos_setprofile(odata->sess, odata->conn, NULL, message ? away : "", gaim_caps); - if (g->away) - g_free (g->away); - g->away = NULL; - if (message) { - if (strlen(message) > 1024) - do_error_dialog("Maximum away length (1024) exceeded, truncating", - "Info Too Long"); - g->away = g_strdup (message); +static void oscar_set_away(struct gaim_connection *gc, char *state, char *message) { + struct oscar_data *od = (struct oscar_data *)gc->proto_data; + char away[1025]; + if (!od->icq) { + if (message) + g_snprintf(away, sizeof(away), "%s", message); + aim_bos_setprofile(od->sess, od->conn, NULL, message ? away : "", gaim_caps); + if (gc->away) + g_free (gc->away); + gc->away = NULL; + if (message) { + if (strlen(message) > 1024) + do_error_dialog("Maximum away length (1024) exceeded, truncating", + "Info Too Long"); + gc->away = g_strdup (message); + } + return; } + + if (gc->away) + gc->away = NULL; + + if (!strcmp(state, "Online")) + aim_icq_setstatus(od->sess, od->conn, ICQ_ONLINE); + else if (!strcmp(state, "Away")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_AWAY); + gc->away = ""; + } else if (!strcmp(state, "Do Not Disturb")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_DND); + gc->away = ""; + } else if (!strcmp(state, "Not Available")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_NA); + gc->away = ""; + } else if (!strcmp(state, "Occupied")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_OCCUPIED); + gc->away = ""; + } else if (!strcmp(state, "Free For Chat")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_CHAT); + gc->away = ""; + } else if (!strcmp(state, "Invisible")) { + aim_icq_setstatus(od->sess, od->conn, ICQ_INVISIBLE); + gc->away = ""; + } else if (!strcmp(state, GAIM_AWAY_CUSTOM)) { + if (message) { + aim_icq_setstatus(od->sess, od->conn, ICQ_NA); + gc->away = ""; + } else { + aim_icq_setstatus(od->sess, od->conn, ICQ_ONLINE); + } + } } static void oscar_warn(struct gaim_connection *g, char *name, int anon) { @@ -2384,6 +2451,24 @@ } static char **oscar_list_icon(int uc) { + if (uc == 0) + return (char **)icon_online_xpm; + if (uc & 0x7fc0) { + uc >>= 6; + if (uc & ICQ_AWAY) + return icon_away_xpm; + if (uc & ICQ_DND) + return icon_dnd_xpm; + if (uc & ICQ_NA) + return icon_na_xpm; + if (uc & ICQ_OCCUPIED) + return icon_occ_xpm; + if (uc & ICQ_CHAT) + return icon_ffc_xpm; + if (uc & ICQ_INVISIBLE) + return icon_offline_xpm; + return icon_online_xpm; + } if (uc & UC_AB) return (char **)ab_xpm; if (uc & UC_UNAVAILABLE) @@ -2623,9 +2708,23 @@ oscar_set_permit_deny(gc); } -static GList *oscar_away_states() +static GList *oscar_away_states(struct gaim_connection *gc) { - return g_list_append(NULL, GAIM_AWAY_CUSTOM); + struct oscar_data *od = gc->proto_data; + GList *m = NULL; + + if (!od->icq) + return g_list_append(m, GAIM_AWAY_CUSTOM); + + m = g_list_append(m, "Online"); + m = g_list_append(m, "Away"); + m = g_list_append(m, "Do Not Disturb"); + m = g_list_append(m, "Not Available"); + m = g_list_append(m, "Occupied"); + m = g_list_append(m, "Free For Chat"); + m = g_list_append(m, "Invisible"); + + return m; } static void oscar_do_action(struct gaim_connection *gc, char *act) |
From: Eric W. <war...@us...> - 2001-10-14 11:36:40
|
Update of /cvsroot/gaim/gaim/src/protocols/yahoo In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/yahoo Modified Files: yay.c Log Message: i should have hidden something ultra-secret in this. Index: yay.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/yahoo/yay.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- yay.c 2001/10/12 18:04:15 1.17 +++ yay.c 2001/10/14 11:36:36 1.18 @@ -107,14 +107,12 @@ serv_got_update(gc, b->name, 0, 0, 0, 0, 0, 0); else { if (status == YAHOO_STATUS_AVAILABLE) - serv_got_update(gc, b->name, 1, 0, 0, 0, UC_NORMAL, 0); + serv_got_update(gc, b->name, 1, 0, 0, 0, 0, 0); else if (status == YAHOO_STATUS_IDLE) { time(&tmptime); - serv_got_update(gc, b->name, 1, 0, 0, tmptime - 600, - (status << 5) | UC_NORMAL, 0); + serv_got_update(gc, b->name, 1, 0, 0, tmptime - 600, (status << 1), 0); } else - serv_got_update(gc, b->name, 1, 0, 0, 0, - (status << 5) | UC_UNAVAILABLE, 0); + serv_got_update(gc, b->name, 1, 0, 0, 0, (status << 1) | UC_UNAVAILABLE, 0); if (status == YAHOO_STATUS_CUSTOM) { gpointer val = g_hash_table_lookup(yd->hash, b->name); if (val) @@ -545,9 +543,9 @@ } static char **yahoo_list_icon(int uc) { - if ((uc >> 5) == YAHOO_STATUS_IDLE) + if ((uc >> 1) == YAHOO_STATUS_IDLE) return status_idle_xpm; - else if (uc == UC_NORMAL) + else if (uc == 0) return status_here_xpm; return status_away_xpm; } @@ -585,12 +583,12 @@ segfault and get the bug report. */ static char buf[1024]; - if (b->uc & UC_NORMAL) + if (!(b->uc & UC_UNAVAILABLE)) return NULL; pbm = g_new0(struct proto_buddy_menu, 1); - if ((b->uc >> 5) != YAHOO_STATUS_CUSTOM) - g_snprintf(buf, sizeof buf, "Status: %s", yahoo_get_status_string(b->uc >> 5)); + if ((b->uc >> 1) != YAHOO_STATUS_CUSTOM) + g_snprintf(buf, sizeof buf, "Status: %s", yahoo_get_status_string(b->uc >> 1)); else g_snprintf(buf, sizeof buf, "Custom Status: %s", (char *)g_hash_table_lookup(yd->hash, b->name)); @@ -602,7 +600,7 @@ return m; } -static GList *yahoo_away_states() { +static GList *yahoo_away_states(struct gaim_connection *gc) { GList *m = NULL; m = g_list_append(m, "Available"); |
From: Eric W. <war...@us...> - 2001-10-14 11:36:40
|
Update of /cvsroot/gaim/gaim/src/protocols/toc In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/toc Modified Files: toc.c Log Message: i should have hidden something ultra-secret in this. Index: toc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/toc/toc.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- toc.c 2001/10/08 21:25:28 1.25 +++ toc.c 2001/10/14 11:36:36 1.26 @@ -79,6 +79,11 @@ #define FILE_GET_UID "09461348-4C7F-11D1-8222-444553540000" #define GAMES_UID "0946134a-4C7F-11D1-8222-444553540000" +#define UC_AOL 0x02 +#define UC_ADMIN 0x04 +#define UC_UNCONFIRMED 0x08 +#define UC_NORMAL 0x10 + struct ft_request { struct gaim_connection *gc; char *user; @@ -1321,7 +1326,7 @@ toc_set_permit_deny(gc); } -static GList *toc_away_states() +static GList *toc_away_states(struct gaim_connection *gc) { return g_list_append(NULL, GAIM_AWAY_CUSTOM); } |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/msn Modified Files: msn.c Log Message: i should have hidden something ultra-secret in this. Index: msn.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/msn.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- msn.c 2001/10/12 22:31:12 1.22 +++ msn.c 2001/10/14 11:36:36 1.23 @@ -688,7 +688,7 @@ } else if (!g_strncasecmp(buf, "INF", 3)) { } else if (!g_strncasecmp(buf, "ILN", 3)) { char *state, *user, *tmp = buf; - int status = UC_NORMAL; + int status = 0; GET_NEXT(tmp); @@ -701,17 +701,17 @@ GET_NEXT(tmp); if (!g_strcasecmp(state, "BSY")) { - status |= (MSN_BUSY << 5); + status |= UC_UNAVAILABLE | (MSN_BUSY << 1); } else if (!g_strcasecmp(state, "IDL")) { - status |= (MSN_IDLE << 5); + status |= UC_UNAVAILABLE | (MSN_IDLE << 1); } else if (!g_strcasecmp(state, "BRB")) { - status |= (MSN_BRB << 5); + status |= UC_UNAVAILABLE | (MSN_BRB << 1); } else if (!g_strcasecmp(state, "AWY")) { - status = UC_UNAVAILABLE; + status |= UC_UNAVAILABLE | (MSN_AWAY << 1); } else if (!g_strcasecmp(state, "PHN")) { - status |= (MSN_PHONE << 5); + status |= UC_UNAVAILABLE | (MSN_PHONE << 1); } else if (!g_strcasecmp(state, "LUN")) { - status |= (MSN_LUNCH << 5); + status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); } serv_got_update(gc, user, 1, 0, 0, 0, status, 0); @@ -804,7 +804,7 @@ g_free(msg); } else if (!g_strncasecmp(buf, "NLN", 3)) { char *state, *user, *tmp = buf; - int status = UC_NORMAL; + int status = 0; GET_NEXT(tmp); state = tmp; @@ -815,17 +815,17 @@ GET_NEXT(tmp); if (!g_strcasecmp(state, "BSY")) { - status |= (MSN_BUSY << 5); + status |= UC_UNAVAILABLE | (MSN_BUSY << 1); } else if (!g_strcasecmp(state, "IDL")) { - status |= (MSN_IDLE << 5); + status |= UC_UNAVAILABLE | (MSN_IDLE << 1); } else if (!g_strcasecmp(state, "BRB")) { - status |= (MSN_BRB << 5); + status |= UC_UNAVAILABLE | (MSN_BRB << 1); } else if (!g_strcasecmp(state, "AWY")) { - status = UC_UNAVAILABLE; + status |= UC_UNAVAILABLE | (MSN_AWAY << 1); } else if (!g_strcasecmp(state, "PHN")) { - status |= (MSN_PHONE << 5); + status |= UC_UNAVAILABLE | (MSN_PHONE << 1); } else if (!g_strcasecmp(state, "LUN")) { - status |= (MSN_LUNCH << 5); + status |= UC_UNAVAILABLE | (MSN_LUNCH << 1); } serv_got_update(gc, user, 1, 0, 0, 0, status, 0); @@ -1261,7 +1261,7 @@ msn_kill_switch(ms); } -static GList *msn_away_states() +static GList *msn_away_states(struct gaim_connection *gc) { GList *m = NULL; @@ -1339,7 +1339,7 @@ static char **msn_list_icon(int uc) { - if (uc == UC_NORMAL) + if (uc == 0) return msn_online_xpm; return msn_away_xpm; @@ -1372,11 +1372,11 @@ struct buddy *b = find_buddy(gc, who); static char buf[MSN_BUF_LEN]; - if (!b || !(b->uc >> 5)) + if (!b || !(b->uc >> 1)) return m; pbm = g_new0(struct proto_buddy_menu, 1); - g_snprintf(buf, sizeof(buf), "Status: %s", msn_get_away_text(b->uc >> 5)); + g_snprintf(buf, sizeof(buf), "Status: %s", msn_get_away_text(b->uc >> 1)); pbm->label = buf; pbm->callback = NULL; pbm->gc = gc; |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src/protocols/jabber In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/jabber Modified Files: jabber.c Log Message: i should have hidden something ultra-secret in this. Index: jabber.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/jabber/jabber.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- jabber.c 2001/09/28 07:46:36 1.21 +++ jabber.c 2001/10/14 11:36:36 1.22 @@ -65,10 +65,10 @@ #define IQ_AUTH 0 #define IQ_ROSTER 1 -#define UC_AWAY 0x38 -#define UC_CHAT 0x48 -#define UC_XA 0x98 -#define UC_DND 0x118 +#define UC_AWAY (0x02 | UC_UNAVAILABLE) +#define UC_CHAT 0x04 +#define UC_XA (0x08 | UC_UNAVAILABLE) +#define UC_DND (0x10 | UC_UNAVAILABLE) #define DEFAULT_SERVER "jabber.org" #define DEFAULT_GROUPCHAT "conference.jabber.org" @@ -700,7 +700,7 @@ char *buddy; xmlnode y; char *show; - int state = UC_NORMAL; + int state = 0; GSList *resources; char *res; struct conversation *cnv = NULL; @@ -713,7 +713,7 @@ if ((y = xmlnode_get_tag(p->x, "show"))) { show = xmlnode_get_data(y); if (!show) { - state = UC_NORMAL; + state = 0; } else if (!strcasecmp(show, "away")) { state = UC_AWAY; } else if (!strcasecmp(show, "chat")) { @@ -724,7 +724,7 @@ state = UC_DND; } } else { - state = UC_NORMAL; + state = 0; } who = jid_new(j->p, from); @@ -1647,7 +1647,7 @@ return m; } -static GList *jabber_away_states() { +static GList *jabber_away_states(struct gaim_connection *gc) { GList *m = NULL; m = g_list_append(m, "Online"); |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src/protocols/icq In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/icq Modified Files: gaim_icq.c Log Message: i should have hidden something ultra-secret in this. Index: gaim_icq.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/icq/gaim_icq.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- gaim_icq.c 2001/09/28 07:46:36 1.13 +++ gaim_icq.c 2001/10/14 11:36:36 1.14 @@ -133,7 +133,7 @@ char buf[256]; g_snprintf(buf, sizeof buf, "%lu", uin); - status = (st == STATUS_ONLINE) ? UC_NORMAL : UC_UNAVAILABLE | (st << 5); + status = (st == STATUS_ONLINE) ? 0 : UC_UNAVAILABLE | (st << 1); serv_got_update(gc, buf, 1, 0, 0, 0, status, 0); } @@ -149,7 +149,7 @@ char buf[256]; g_snprintf(buf, sizeof buf, "%lu", uin); - status = (st == STATUS_ONLINE) ? UC_NORMAL : UC_UNAVAILABLE | (st << 5); + status = (st == STATUS_ONLINE) ? 0 : UC_UNAVAILABLE | (st << 1); serv_got_update(gc, buf, 1, 0, 0, 0, status, 0); } @@ -400,9 +400,9 @@ static char **icq_list_icon(int uc) { guint status; - if (uc == UC_NORMAL) + if (uc == 0) return icon_online_xpm; - status = uc >> 5; + status = uc >> 1; if (status & STATUS_NA) return icon_na_xpm; if (status & STATUS_DND) @@ -453,7 +453,7 @@ return m; } -static GList *icq_away_states() { +static GList *icq_away_states(struct gaim_connection *gc) { GList *m = NULL; m = g_list_append(m, "Online"); |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src/protocols/gg In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/gg Modified Files: gg.c Log Message: i should have hidden something ultra-secret in this. Index: gg.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/gg/gg.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- gg.c 2001/10/04 05:45:17 1.2 +++ gg.c 2001/10/14 11:36:36 1.3 @@ -70,6 +70,8 @@ #define AGG_STATUS_INVISIBLE_FRIENDS _("Invisible for friends only") #define AGG_STATUS_NOT_AVAIL _("Unavailable") +#define UC_NORMAL 2 + struct agg_data { struct gg_session *sess; }; @@ -299,7 +301,7 @@ } } -static GList *agg_away_states() +static GList *agg_away_states(struct gaim_connection *gc) { GList *m = NULL; |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/pixmaps In directory usw-pr-cvs1:/tmp/cvs-serv21978/pixmaps Modified Files: Makefile.am Added Files: gnomeicu-offline.xpm Log Message: i should have hidden something ultra-secret in this. --- NEW FILE: gnomeicu-offline.xpm --- /* XPM */ static char *icon_offline_xpm[] = { /* columns rows colors chars-per-pixel */ "16 16 18 1", " c black", ". c #3d4e53", "X c #3f5156", "o c #4c4c4c", "O c #425357", "+ c #43555a", "@ c #45585e", "# c #475b61", "$ c #485d63", "% c #4b6066", "& c #4e636a", "* c #50676d", "= c #51686e", "- c #556d74", "; c #59737a", ": c #7e7e7e", "> c #8b8b8b", ", c None", /* pixels */ ",,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,", ",,>>>>>>>>>>>:,,", ",,>$&&&%#@@+X:o,", ",,>$;;;--&#+X:o,", ",,>-;;;;;-#+X:o,", ",,>*;;;-;&$+X:o,", ",,>#*--=&##+X:o,", ",,>$&$&*&##+O:o,", ",,>O$$@.@...X:o,", ",,::::::::::::o,", ",,,ooo>:::ooooo,", ",,,,,,>:::o,,,,,", ",,,,>:::::::o,,,", ",,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,," }; Index: Makefile.am =================================================================== RCS file: /cvsroot/gaim/gaim/pixmaps/Makefile.am,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- Makefile.am 2001/10/09 23:40:18 1.58 +++ Makefile.am 2001/10/14 11:36:36 1.59 @@ -49,6 +49,7 @@ gnomeicu-ffc.xpm \ gnomeicu-na.xpm \ gnomeicu-occ.xpm \ + gnomeicu-offline.xpm \ gnomeicu-online.xpm \ group.xpm \ import_small.xpm \ |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv21978/src/protocols/irc Modified Files: irc.c Log Message: i should have hidden something ultra-secret in this. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- irc.c 2001/10/09 22:20:46 1.41 +++ irc.c 2001/10/14 11:36:36 1.42 @@ -1309,7 +1309,7 @@ return 0; } -static GList *irc_away_states() +static GList *irc_away_states(struct gaim_connection *gc) { return g_list_append(NULL, GAIM_AWAY_CUSTOM); } |
From: Eric W. <war...@us...> - 2001-10-14 11:36:39
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv21978/src Modified Files: away.c core.h prpl.h Log Message: i should have hidden something ultra-secret in this. Index: away.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/away.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- away.c 2001/09/27 19:17:10 1.61 +++ away.c 2001/10/14 11:36:36 1.62 @@ -383,7 +383,7 @@ con = g_slist_next(con); } - tmp = msgs = (*gc->prpl->away_states)(); + tmp = msgs = (*gc->prpl->away_states)(gc); if ((g_list_length(msgs) == 1) && !strcmp(msgs->data, GAIM_AWAY_CUSTOM)) { awy = away_messages; @@ -459,7 +459,7 @@ gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), submenu); gtk_widget_show(submenu); - tmp = msgs = (*gc->prpl->away_states)(); + tmp = msgs = (*gc->prpl->away_states)(gc); if ((g_list_length(msgs) == 1) && (!strcmp(msgs->data, GAIM_AWAY_CUSTOM))) { Index: core.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/core.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- core.h 2001/10/08 01:12:02 1.7 +++ core.h 2001/10/14 11:36:36 1.8 @@ -35,11 +35,8 @@ #include "multi.h" -#define UC_AOL 1 -#define UC_ADMIN 2 -#define UC_UNCONFIRMED 4 -#define UC_NORMAL 8 -#define UC_UNAVAILABLE 16 +/* Really user states are controlled by the PRPLs now. We just use this for event_away */ +#define UC_UNAVAILABLE 1 struct aim_user { char username[64]; Index: prpl.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/prpl.h,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- prpl.h 2001/10/03 09:48:33 1.50 +++ prpl.h 2001/10/14 11:36:36 1.51 @@ -85,7 +85,7 @@ /* returns the XPM associated with the given user class */ char **(* list_icon)(int); - GList *(* away_states)(); + GList *(* away_states)(struct gaim_connection *gc); GList *(* actions)(); void (* do_action)(struct gaim_connection *, char *); /* user_opts returns a GList* of g_malloc'd struct proto_user_opts */ |
From: Eric W. <war...@us...> - 2001-10-14 05:52:39
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv27905 Modified Files: aim.c Log Message: here you go rob :) Index: aim.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/aim.c,v retrieving revision 1.165 retrieving revision 1.166 diff -u -d -r1.165 -r1.166 --- aim.c 2001/10/11 21:11:22 1.165 +++ aim.c 2001/10/14 05:52:36 1.166 @@ -518,6 +518,7 @@ save_prefs(); } +/* FUCKING GET ME A TOWEL! */ int main(int argc, char *argv[]) { int opt_acct = 0, opt_help = 0, opt_version = 0, opt_login = 0, do_login_ret = -1; |
From: Eric W. <war...@us...> - 2001-10-14 03:54:43
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv4297/src Modified Files: conversation.c ui.h Log Message: buddy icons are very leaky Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.278 retrieving revision 1.279 diff -u -d -r1.278 -r1.279 --- conversation.c 2001/10/12 06:06:40 1.278 +++ conversation.c 2001/10/14 03:54:40 1.279 @@ -251,6 +251,8 @@ gtk_widget_destroy(c->link_dialog); if (c->log_dialog) gtk_widget_destroy(c->log_dialog); + if (c->save_icon) + gtk_widget_destroy(c->save_icon); g_string_free(c->history, TRUE); g_free(c); } @@ -2658,13 +2660,113 @@ return FALSE; } + +static void stop_anim(GtkObject *obj, struct conversation *c) +{ + if (c->icon_timer) + gtk_timeout_remove(c->icon_timer); + c->icon_timer = 0; +} + +static int des_save_icon(GtkObject *obj, GdkEvent *e, struct conversation *c) +{ + gtk_widget_destroy(c->save_icon); + c->save_icon = NULL; + return TRUE; +} + +static void do_save_icon(GtkObject *obj, struct conversation *c) +{ + FILE *file; + char *f = gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->save_icon)); + if (file_is_dir(f, c->save_icon)) + return; + + file = fopen(f, "w"); + if (file) { + int len; + void *data = get_icon_data(c->gc, normalize(c->name), &len); + if (data) + fwrite(data, 1, len, file); + fclose(file); + } else { + do_error_dialog("Can't open file for writing", "Error"); + } + + gtk_widget_destroy(c->save_icon); + c->save_icon = NULL; +} + +static void cancel_save_icon(GtkObject *obj, struct conversation *c) +{ + gtk_widget_destroy(c->save_icon); + c->save_icon = NULL; +} + +static void save_icon(GtkObject *obj, struct conversation *c) +{ + char buf[BUF_LEN]; + + if (c->save_icon) { + gdk_window_raise(c->save_icon->window); + return; + } + + c->save_icon = gtk_file_selection_new(_("Gaim - Save Icon")); + gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->save_icon)); + g_snprintf(buf, BUF_LEN - 1, "%s/%s.icon", g_get_home_dir(), c->name); + gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->save_icon), buf); + gtk_signal_connect(GTK_OBJECT(c->save_icon), "delete_event", + GTK_SIGNAL_FUNC(des_save_icon), c); + gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->save_icon)->ok_button), "clicked", + GTK_SIGNAL_FUNC(do_save_icon), c); + gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->save_icon)->cancel_button), "clicked", + GTK_SIGNAL_FUNC(cancel_save_icon), c); + + gtk_widget_show(c->save_icon); +} + +static gboolean icon_menu(GtkObject *obj, GdkEventButton *e, struct conversation *c) +{ + GtkWidget *menu; + GtkWidget *button; + + if (e->button != 3) + return FALSE; + if (e->type != GDK_BUTTON_PRESS) + return FALSE; + + menu = gtk_menu_new(); + + if (c->icon_timer) { + button = gtk_menu_item_new_with_label(_("Disable Animation")); + gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(stop_anim), c); + gtk_menu_append(GTK_MENU(menu), button); + gtk_widget_show(button); + } + + button = gtk_menu_item_new_with_label(_("Hide Icon")); + gtk_signal_connect_object(GTK_OBJECT(button), "activate", + GTK_SIGNAL_FUNC(remove_icon), (void *)c); + gtk_menu_append(GTK_MENU(menu), button); + gtk_widget_show(button); + + button = gtk_menu_item_new_with_label(_("Save Icon As...")); + gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(save_icon), c); + gtk_menu_append(GTK_MENU(menu), button); + gtk_widget_show(button); + + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, e->button, e->time); + + return TRUE; +} #endif void remove_icon(struct conversation *c) { #if USE_PIXBUF if (c->icon) - gtk_container_remove(GTK_CONTAINER(c->bbox), c->icon); + gtk_container_remove(GTK_CONTAINER(c->bbox), c->icon->parent); c->icon = NULL; if (c->anim) gdk_pixbuf_animation_unref(c->anim); @@ -2685,6 +2787,7 @@ void *data; int len; + GtkWidget *event; GdkPixbufLoader *load; GdkPixbuf *scale; GdkPixmap *pm; @@ -2739,9 +2842,14 @@ gdk_pixbuf_render_pixmap_and_mask(scale, &pm, &bm, 0); gdk_pixbuf_unref(scale); + event = gtk_event_box_new(); + gtk_box_pack_start(GTK_BOX(c->bbox), event, FALSE, FALSE, 5); + gtk_signal_connect(GTK_OBJECT(event), "button-press-event", GTK_SIGNAL_FUNC(icon_menu), c); + gtk_widget_show(event); + c->icon = gtk_pixmap_new(pm, bm); gtk_widget_set_usize(c->icon, sf, sf); - gtk_box_pack_start(GTK_BOX(c->bbox), c->icon, FALSE, FALSE, 5); + gtk_container_add(GTK_CONTAINER(event), c->icon); gtk_widget_show(c->icon); gdk_pixmap_unref(pm); if (bm) Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- ui.h 2001/10/12 22:31:12 1.8 +++ ui.h 2001/10/14 03:54:40 1.9 @@ -144,6 +144,7 @@ GdkPixbufAnimation *anim; guint32 icon_timer; int frame; + GtkWidget *save_icon; #endif /* stuff used just for chat */ |
From: Eric W. <war...@us...> - 2001-10-14 03:54:43
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv4297 Modified Files: ChangeLog Log Message: buddy icons are very leaky Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.315 retrieving revision 1.316 diff -u -d -r1.315 -r1.316 --- ChangeLog 2001/10/13 19:00:48 1.315 +++ ChangeLog 2001/10/14 03:54:39 1.316 @@ -7,6 +7,9 @@ * Better applet icon drawing (thanks to Ari Pollak) * An extraordinary number of bug fixes * Updated Korean translation + * Ability to stop animation on buddy icons, hide certain + buddy icons, and save people's buddy icons, all through + a right-click menu version 0.45 (10/04/2001): * New plugin event: event_chat_send_invite |
From: Rob F. <rob...@us...> - 2001-10-13 19:00:51
|
Update of /cvsroot/gaim/gaim/po In directory usw-pr-cvs1:/tmp/cvs-serv17409/po Modified Files: ko.po Log Message: Updated Korean translation Index: ko.po =================================================================== RCS file: /cvsroot/gaim/gaim/po/ko.po,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- ko.po 2001/07/23 19:16:50 1.17 +++ ko.po 2001/10/13 19:00:48 1.18 @@ -1,2634 +1,3102 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR Free Software Foundation, Inc. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2001-06-17 23:52-0700\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" [...5705 lines suppressed...] +#: src/server.c:487 +#, c-format +msgid "(%d messages)" +msgstr "(%d°³ÀÇ ¸Þ½ÃÁö)" + +# src/server.c:493 +#: src/server.c:493 +msgid "(1 message)" +msgstr "(1°³ÀÇ ¸Þ½ÃÁö)" + +# src/server.c:781 +#: src/server.c:802 +msgid "Yes" +msgstr "¿¬°áµÊ" + +# src/server.c:782 +#: src/server.c:803 +msgid "No" +msgstr "²÷±è" + |
From: Rob F. <rob...@us...> - 2001-10-13 19:00:51
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv17409 Modified Files: ChangeLog Log Message: Updated Korean translation Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.314 retrieving revision 1.315 diff -u -d -r1.314 -r1.315 --- ChangeLog 2001/10/13 00:06:18 1.314 +++ ChangeLog 2001/10/13 19:00:48 1.315 @@ -6,6 +6,7 @@ (thanks to Nathan Walp and Ben Miller) * Better applet icon drawing (thanks to Ari Pollak) * An extraordinary number of bug fixes + * Updated Korean translation version 0.45 (10/04/2001): * New plugin event: event_chat_send_invite |
From: Eric W. <war...@us...> - 2001-10-13 03:23:58
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv13744 Modified Files: applet.c Log Message: this is not necessary for the icons we use but if someone wants to use different icons it's a nice thing to do. Index: applet.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/applet.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- applet.c 2001/10/12 18:24:46 1.18 +++ applet.c 2001/10/13 03:23:55 1.19 @@ -84,10 +84,16 @@ } art_affine_identity(affine); - art_rgb_rgba_affine(dst, 0, 0, sizehint, sizehint, sizehint * 3, - gdk_pixbuf_get_pixels(pb), - gdk_pixbuf_get_width(pb), gdk_pixbuf_get_height(pb), - gdk_pixbuf_get_rowstride(pb), affine, ART_FILTER_NEAREST, NULL); + if (gdk_pixbuf_get_has_alpha(pb)) + art_rgb_rgba_affine(dst, 0, 0, sizehint, sizehint, sizehint * 3, + gdk_pixbuf_get_pixels(pb), gdk_pixbuf_get_width(pb), + gdk_pixbuf_get_height(pb), gdk_pixbuf_get_rowstride(pb), + affine, ART_FILTER_NEAREST, NULL); + else + art_rgb_affine(dst, 0, 0, sizehint, sizehint, sizehint * 3, + gdk_pixbuf_get_pixels(pb), gdk_pixbuf_get_width(pb), + gdk_pixbuf_get_height(pb), gdk_pixbuf_get_rowstride(pb), + affine, ART_FILTER_NEAREST, NULL); gdk_pixbuf_unref(pb); gdk_draw_rgb_image(cache, gc, 0, 0, sizehint, sizehint, |