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: Sean E. <sea...@us...> - 2002-03-17 01:22:38
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv32143/src Modified Files: multi.c Log Message: removed some compile warnings Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.110 retrieving revision 1.111 diff -u -d -r1.110 -r1.111 --- multi.c 17 Mar 2002 01:17:12 -0000 1.110 +++ multi.c 17 Mar 2002 01:22:35 -0000 1.111 @@ -20,6 +20,7 @@ */ #include <string.h> +#include <ctype.h> #include <gtk/gtk.h> #include "prpl.h" #include "multi.h" @@ -894,7 +895,7 @@ { GList *l = GTK_CLIST(list)->selection; int row = -1; - struct aim_user *u; + struct aim_user *u = NULL; struct prpl *p = find_prpl(u->protocol); while (l) { row = (int)l->data; @@ -1049,25 +1050,26 @@ GtkWidget* create_meter_pixmap (GtkWidget *widget, struct gaim_connection *gc) { - GdkColormap *colormap; GdkPixmap *gdkpixmap; GdkBitmap *mask; GtkWidget *pixmap; GtkStyle *style; - char **xpm; + char **xpm = NULL; style = gtk_widget_get_style( widget ); if (gc->prpl->list_icon) - if (gc->prpl->protocol == PROTO_OSCAR) + if (gc->prpl->protocol == PROTO_OSCAR) { /* This is such a bad hack to get the right icon * for OSCAR. But it's pretty */ - if (isdigit(*gc->username)) + if (isdigit(*gc->username)) { xpm = gc->prpl->list_icon(0); - else + } else { xpm = gc->prpl->list_icon(0x10); - else + } + } else { xpm = gc->prpl->list_icon (0); + } if (xpm == NULL) xpm = (char **)no_icon_xpm; @@ -1282,8 +1284,7 @@ if (!meter_win) { GtkWidget *cancel_button; GtkWidget *vbox; - GString *name; - + meter_win = g_new0(struct meter_window, 1); meter_win->rows=0; |
From: Sean E. <sea...@us...> - 2002-03-17 01:17:16
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv31043/src Modified Files: multi.c Log Message: bugfix Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.109 retrieving revision 1.110 diff -u -d -r1.109 -r1.110 --- multi.c 16 Mar 2002 00:32:53 -0000 1.109 +++ multi.c 17 Mar 2002 01:17:12 -0000 1.110 @@ -895,10 +895,12 @@ GList *l = GTK_CLIST(list)->selection; int row = -1; struct aim_user *u; + struct prpl *p = find_prpl(u->protocol); while (l) { row = (int)l->data; u = g_slist_nth_data(aim_users, row); - if (!u->gc) { + serv_login(u); + if (!u->gc && p && p->login) { struct prpl *p = find_prpl(u->protocol); if (p && !(p->options & OPT_PROTO_NO_PASSWORD) && !u->password[0]) { do_pass_dlg(u); @@ -907,9 +909,8 @@ set_user_state(signing_on); #endif /* USE_APPLET */ gtk_clist_set_text(GTK_CLIST(list), row, 1, "Attempting"); - serv_login(u); } - } else { + } else if (u->gc) { u->gc->wants_to_die = TRUE; signoff(u->gc); } |
From: Sean E. <sea...@us...> - 2002-03-16 22:39:52
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv30616/src/protocols/msn Modified Files: msn.c Log Message: It's embarrassed, not embaressed :-P Index: msn.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/msn.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- msn.c 16 Mar 2002 22:18:38 -0000 1.62 +++ msn.c 16 Mar 2002 22:39:49 -0000 1.63 @@ -53,7 +53,7 @@ #include "pixmaps/protocols/msn/msn_thumbdown.xpm" #include "pixmaps/protocols/msn/msn_thumbup.xpm" #include "pixmaps/protocols/msn/msn_weird.xpm" -#include "pixmaps/protocols/msn/msn_embaressed.xpm" +#include "pixmaps/protocols/msn/msn_embarrassed.xpm" #include "pixmaps/protocols/msn/msn_angel.xpm" #include "pixmaps/protocols/msn/msn_film.xpm" #include "pixmaps/protocols/msn/msn_dog.xpm" |
From: Sean E. <sea...@us...> - 2002-03-16 22:39:52
|
Update of /cvsroot/gaim/gaim/pixmaps/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv30616/pixmaps/protocols/msn Added Files: msn_embarrassed.xpm Removed Files: msn_embaressed.xpm Log Message: It's embarrassed, not embaressed :-P --- NEW FILE: msn_embarrassed.xpm --- /* XPM */ static char * msn_embarrassed[] = { "21 21 37 1", " c None", ". c #631B13", "+ c #FBD96D", "@ c #BCA766", "# c #E1C931", "$ c #F9CD34", "% c #FCDE43", "& c #FEEC51", "* c #FDE52F", "= c #CC9930", "- c #848484", "; c #FFF662", "> c #9E7525", ", c #EDB828", "' c #BBAE93", ") c #DBA82A", "! c #C6B070", "~ c #9C864E", "{ c #927943", "] c #D5B44E", "^ c #FDFEFE", "/ c #FFFFFF", "( c #AF9559", "_ c #AF9478", ": c #FCAD42", "< c #C79C55", "[ c #F4932E", "} c #B88E2C", "| c #F5592E", "1 c #F87B52", "2 c #E96C46", "3 c #F0A316", "4 c #CE8825", "5 c #F6830D", "6 c #A93623", "7 c #AA9B85", "8 c #DEB819", " ", " .. +....@ ", " ..@#$%%&*=.. ", " -+$&;;&&&&*>,' ", " ')>;&&!~{&%%%,' ", " ]~.>;;{^.>&%$$) ", " !{^.>;&{/..>%$$,( ", " '${^.~&&{^^.{%$$$) ", " !${/^{&&{//^~%,,,)_ ", " ::<{{!&&!{{{<:[[[[} ", " ):[|:&&&&&%1||2[33> ", " ::1|1%&%&%$||||[[)} ", " @:[2[&*&*%$2|||[[4_ ", " ',[[$*%%%%:[52[[[4 ", " @:::%%%%$,:[[5[4( ", " ),$66666,,33[,} ", " ')$$$,,,,,,,,}7 ", " '),,,,,,,,)}7 ", " (=)8,3)}~ ", " '_}>~_ ", " ", " "}; --- msn_embaressed.xpm DELETED --- |
From: Sean E. <sea...@us...> - 2002-03-16 22:18:41
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv25012/src/protocols/oscar Modified Files: oscar.c Log Message: Poor, poor msn_embarrassed.xpm. Thanks for rescuing him, Vinay Sahni. Also, truncating oscar passwords to 8 characters. Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.119 retrieving revision 1.120 diff -u -d -r1.119 -r1.120 --- oscar.c 16 Mar 2002 20:14:24 -0000 1.119 +++ oscar.c 16 Mar 2002 22:18:38 -0000 1.120 @@ -482,7 +482,7 @@ odata->icq = TRUE; /* this is odd but it's necessary for a proper do_import and do_export */ gc->protocol = PROTO_ICQ; - gc->password[9] = 0; + gc->password[8] = 0; } else { gc->protocol = PROTO_TOC; gc->flags |= OPT_CONN_HTML; |
From: Sean E. <sea...@us...> - 2002-03-16 22:18:41
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv25012/src/protocols/msn Modified Files: msn.c Log Message: Poor, poor msn_embarrassed.xpm. Thanks for rescuing him, Vinay Sahni. Also, truncating oscar passwords to 8 characters. Index: msn.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/msn.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- msn.c 15 Mar 2002 02:54:08 -0000 1.61 +++ msn.c 16 Mar 2002 22:18:38 -0000 1.62 @@ -2180,8 +2180,9 @@ smilies = add_smiley(smilies, ";-)", msn_wink, 1); smilies = add_smiley(smilies, ";)", msn_wink, 0); smilies = add_smiley(smilies, ":S-", msn_wink, 0); + smilies = add_smiley(smilies, ":-$", msn_embarrassed, 1); + smilies = add_smiley(smilies, ":$", msn_embarrassed, 0); - return smilies; } |
From: Sean E. <sea...@us...> - 2002-03-16 20:14:31
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv25898/src Modified Files: applet.c buddy.c prefs.c Log Message: A buddy window placement fix by Marc Deslauriers and a compile fix from Benjamin Miller. Thanks guys. Also, an irc fix. Index: applet.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/applet.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- applet.c 23 Feb 2002 23:28:49 -0000 1.28 +++ applet.c 16 Mar 2002 20:14:24 -0000 1.29 @@ -394,14 +394,15 @@ void createOnlinePopup() { GtkAllocation *al; - if (blist) - gtk_widget_show(blist); + if (!blist) + return; al = get_applet_pos(TRUE); if (blist_options & OPT_BLIST_NEAR_APPLET) gtk_widget_set_uposition(blist, al->x, al->y); else if (blist_options & OPT_BLIST_SAVED_WINDOWS) gtk_widget_set_uposition(blist, blist_pos.x - blist_pos.xoff, blist_pos.y - blist_pos.yoff); + gtk_widget_show(blist); g_free(al); } Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.292 retrieving revision 1.293 diff -u -d -r1.292 -r1.293 --- buddy.c 16 Mar 2002 00:32:53 -0000 1.292 +++ buddy.c 16 Mar 2002 20:14:24 -0000 1.293 @@ -2265,6 +2265,10 @@ gdk_window_get_position(blist->window, &x, &y); gdk_window_get_size(blist->window, &width, &height); +#ifdef USE_APPLET + if (applet_buddy_show){ +#endif + if (e->send_event) { /* Is a position event */ if (blist_pos.x != x || blist_pos.y != y) save = 1; @@ -2283,6 +2287,10 @@ if (save) save_prefs(); +#ifdef USE_APPLET + } +#endif + } Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.218 retrieving revision 1.219 diff -u -d -r1.218 -r1.219 --- prefs.c 16 Mar 2002 00:32:53 -0000 1.218 +++ prefs.c 16 Mar 2002 20:14:24 -0000 1.219 @@ -586,6 +586,8 @@ #ifdef USE_APPLET gaim_button(_("Automatically show buddy list on sign on"), &blist_options, OPT_BLIST_APP_BUDDY_SHOW, vbox); + gaim_button(_("Display Buddy List near applet"), &blist_options, OPT_BLIST_NEAR_APPLET, vbox); + #endif gaim_button(_("Save Window Size/Position"), &blist_options, OPT_BLIST_SAVED_WINDOWS, vbox); @@ -595,10 +597,6 @@ gtk_widget_set_sensitive(button2, FALSE); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), button2); -#ifdef USE_APPLET - gaim_button(_("Display Buddy List near applet"), &blist_options, OPT_BLIST_NEAR_APPLET, vbox); -#endif - frame = gtk_frame_new(_("Group Displays")); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); gtk_widget_show(frame); |
From: Sean E. <sea...@us...> - 2002-03-16 20:14:31
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv25898/src/protocols/oscar Modified Files: oscar.c Log Message: A buddy window placement fix by Marc Deslauriers and a compile fix from Benjamin Miller. Thanks guys. Also, an irc fix. Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.118 retrieving revision 1.119 diff -u -d -r1.118 -r1.119 --- oscar.c 15 Mar 2002 20:09:14 -0000 1.118 +++ oscar.c 16 Mar 2002 20:14:24 -0000 1.119 @@ -58,6 +58,10 @@ #include "pixmaps/gnomeicu-occ.xpm" #include "pixmaps/gnomeicu-ffc.xpm" +#if defined(__SVR4) && !defined(_SOCKLEN_T) +typedef uint32_t socklen_t; +#endif + /* constants to identify proto_opts */ #define USEROPT_AUTH 0 #define USEROPT_AUTHPORT 1 |
From: Sean E. <sea...@us...> - 2002-03-16 20:14:30
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv25898/src/protocols/irc Modified Files: irc.c Log Message: A buddy window placement fix by Marc Deslauriers and a compile fix from Benjamin Miller. Thanks guys. Also, an irc fix. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- irc.c 12 Mar 2002 17:21:43 -0000 1.73 +++ irc.c 16 Mar 2002 20:14:24 -0000 1.74 @@ -266,30 +266,45 @@ str = g_string_append(str, cur); cur = ++end; if (!g_strncasecmp(cur, "B>", 2)) { - bold = TRUE; - str = g_string_append_c(str, '\2'); + if (!bold) { + bold = TRUE; + str = g_string_append_c(str, '\2'); + } cur = cur + 2; } else if (!g_strncasecmp(cur, "I>", 2)) { /* use bold for italics too */ - italics = TRUE; - str = g_string_append_c(str, '\2'); + if (!italics) { + italics = TRUE; + str = g_string_append_c(str, '\2'); + } cur = cur + 2; } else if (!g_strncasecmp(cur, "U>", 2)) { - underline = TRUE; - str = g_string_append_c(str, '\37'); + if (!underline) { + underline = TRUE; + str = g_string_append_c(str, '\37'); + } cur = cur + 2; - } else if (!g_strncasecmp(cur, "/B>", 3) && bold) { - bold = FALSE; - str = g_string_append_c(str, '\2'); + } else if (!g_strncasecmp(cur, "/B>", 3)) { + if (bold) { + bold = FALSE; + str = g_string_append_c(str, '\2'); + } cur = cur + 3; - } else if (!g_strncasecmp(cur, "/I>", 3) && italics) { - bold = FALSE; - str = g_string_append_c(str, '\2'); + } else if (!g_strncasecmp(cur, "/I>", 3)) { + if (italics) { + italics = FALSE; + str = g_string_append_c(str, '\2'); + } cur = cur + 3; - } else if (!g_strncasecmp(cur, "/U>", 3) && underline) { - bold = FALSE; - str = g_string_append_c(str, '\37'); + } else if (!g_strncasecmp(cur, "/U>", 3)) { + if (underline) { + underline = FALSE; + str = g_string_append_c(str, '\37'); + } cur = cur + 3; + } else { + str = g_string_append_c(str, '<'); } + } str = g_string_append(str, cur); return str; |
From: Sean E. <sea...@us...> - 2002-03-16 06:16:15
|
Update of /cvsroot/gaim/gaim/pixmaps/protocols/yahoo In directory usw-pr-cvs1:/tmp/cvs-serv30305/pixmaps/protocols/yahoo Modified Files: Makefile.am Log Message: boring commit. Index: Makefile.am =================================================================== RCS file: /cvsroot/gaim/gaim/pixmaps/protocols/yahoo/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.am 13 Mar 2002 04:15:31 -0000 1.1 +++ Makefile.am 16 Mar 2002 06:16:11 -0000 1.2 @@ -32,4 +32,4 @@ yahoo_sst.xpm \ yahoo_sunglas.xpm \ yahoo_tongue.xpm \ - yahoo_wink.xpm \ + yahoo_wink.xpm |
From: Sean E. <sea...@us...> - 2002-03-16 05:57:30
|
Update of /cvsroot/gaim/gaim/plugins In directory usw-pr-cvs1:/tmp/cvs-serv23722/plugins Modified Files: filectl.c Log Message: A fix to filectl plugin by Ari Pollak Index: filectl.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/filectl.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- filectl.c 21 Dec 2001 10:23:03 -0000 1.8 +++ filectl.c 16 Mar 2002 05:57:26 -0000 1.9 @@ -78,7 +78,7 @@ c = find_conversation(arg1); if (!c) c = new_conversation(arg1); write_to_conv(c, arg2, WFLAG_SEND, NULL, time(NULL), -1); - serv_send_im(c->gc, arg1, arg2, 0); + serv_send_im(c->gc, arg1, arg2, -1, 0); free(arg1); free(arg2); } else if (!strncasecmp(command, "away", 4)) { |
From: Sean E. <sea...@us...> - 2002-03-16 00:32:57
|
Update of /cvsroot/gaim/gaim/plugins In directory usw-pr-cvs1:/tmp/cvs-serv22025/plugins Modified Files: mailchk.c Log Message: Code cleanups by Robert McQueen. Michael Golden replaced the multiple per-account signon windows with a single signon window showing the status of all your accounts Index: mailchk.c =================================================================== RCS file: /cvsroot/gaim/gaim/plugins/mailchk.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- mailchk.c 14 Oct 2001 20:45:03 -0000 1.4 +++ mailchk.c 16 Mar 2002 00:32:53 -0000 1.5 @@ -69,7 +69,7 @@ } if (count & NEW_MAIL) - play_sound(POUNCE_DEFAULT); + play_sound(SND_POUNCE_DEFAULT); if (count & UNREAD_MAIL) gtk_label_set_text(GTK_LABEL(mail), "You have new mail!"); |
From: Sean E. <sea...@us...> - 2002-03-16 00:32:57
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv22025/src Modified Files: buddy.c buddy_chat.c conversation.c gaim.h multi.c prefs.c server.c sound.c Log Message: Code cleanups by Robert McQueen. Michael Golden replaced the multiple per-account signon windows with a single signon window showing the status of all your accounts Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.291 retrieving revision 1.292 diff -u -d -r1.291 -r1.292 --- buddy.c 15 Mar 2002 20:09:13 -0000 1.291 +++ buddy.c 16 Mar 2002 00:32:53 -0000 1.292 @@ -1559,7 +1559,7 @@ if (strlen(b->sound)) play_file(b->sound); else - play_sound(POUNCE_DEFAULT); + play_sound(SND_POUNCE_DEFAULT); } if (!(b->options & OPT_POUNCE_SAVE)) @@ -2155,7 +2155,7 @@ } if (b->present == 1) { if (bs->sound != 2) - play_sound(BUDDY_ARRIVE); + play_sound(SND_BUDDY_ARRIVE); pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (char **)login_icon_xpm); gtk_widget_hide(bs->pix); @@ -2218,7 +2218,7 @@ buddies that have already signed off */ if (bs->sound != 1) - play_sound(BUDDY_LEAVE); + play_sound(SND_BUDDY_LEAVE); bs->connlist = g_slist_remove(bs->connlist, gc); update_num_group(gs); Index: buddy_chat.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v retrieving revision 1.141 retrieving revision 1.142 diff -u -d -r1.141 -r1.142 --- buddy_chat.c 17 Feb 2002 18:08:12 -0000 1.141 +++ buddy_chat.c 16 Mar 2002 00:32:53 -0000 1.142 @@ -706,16 +706,16 @@ if (!(flag & WFLAG_WHISPER)) { str = g_strdup(normalize (who)); if (!g_strcasecmp(str, normalize(b->gc->username))) { - if (b->makesound && (sound_options & OPT_SOUND_CHAT_YOU_SAY)) - play_sound(CHAT_YOU_SAY); + if (b->makesound) + play_sound(SND_CHAT_YOU_SAY); flag |= WFLAG_SEND; } else if (!g_strcasecmp(str, normalize(b->gc->displayname))) { - if (b->makesound && (sound_options & OPT_SOUND_CHAT_YOU_SAY)) - play_sound(CHAT_YOU_SAY); + if (b->makesound) + play_sound(SND_CHAT_YOU_SAY); flag |= WFLAG_SEND; } else { - if (b->makesound && (sound_options & OPT_SOUND_CHAT_SAY)) - play_sound(CHAT_SAY); + if (b->makesound) + play_sound(SND_CHAT_SAY); flag |= WFLAG_RECV; } g_free(str); @@ -923,8 +923,8 @@ g_list_length(b->in_room) == 1 ? "person" : "people"); gtk_label_set_text(GTK_LABEL(b->count), tmp); - if (b->makesound && (sound_options & OPT_SOUND_CHAT_JOIN)) - play_sound(CHAT_JOIN); + if (b->makesound) + play_sound(SND_CHAT_JOIN); if (chat_options & OPT_CHAT_LOGON) { g_snprintf(tmp, sizeof(tmp), _("%s entered the room."), name); @@ -1035,8 +1035,8 @@ g_list_length(b->in_room) == 1 ? "person" : "people"); gtk_label_set_text(GTK_LABEL(b->count), tmp); - if (b->makesound && (sound_options & OPT_SOUND_CHAT_PART)) - play_sound(CHAT_LEAVE); + if (b->makesound) + play_sound(SND_CHAT_LEAVE); if (chat_options & OPT_CHAT_LOGON) { if (reason && *reason) Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.343 retrieving revision 1.344 diff -u -d -r1.343 -r1.344 --- conversation.c 15 Mar 2002 03:35:09 -0000 1.343 +++ conversation.c 16 Mar 2002 00:32:53 -0000 1.344 @@ -1183,8 +1183,8 @@ write_to_conv(c, bigbuf, WFLAG_SEND, NULL, time(NULL), length); else write_to_conv(c, buffy, WFLAG_SEND, NULL, time(NULL), -1); - if (c->makesound && (sound_options & OPT_SOUND_SEND)) - play_sound(SEND); + if (c->makesound) + play_sound(SND_SEND); if (im_options & OPT_IM_POPDOWN) gtk_widget_hide(c->window); @@ -1196,8 +1196,8 @@ err =serv_send_im(c->gc, c->name, buffy, -1, imflags); if (err > 0) { write_to_conv(c, buf, WFLAG_SEND, NULL, time(NULL), -1); - if (c->makesound && (sound_options & OPT_SOUND_SEND)) - play_sound(SEND); + if (c->makesound) + play_sound(SND_SEND); if (im_options & OPT_IM_POPDOWN) gtk_widget_hide(c->window); } Index: gaim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaim.h,v retrieving revision 1.313 retrieving revision 1.314 diff -u -d -r1.313 -r1.314 --- gaim.h 12 Mar 2002 17:21:42 -0000 1.313 +++ gaim.h 16 Mar 2002 00:32:53 -0000 1.314 @@ -279,18 +279,28 @@ #define OPT_SOUND_ESD 0x00010000 #define OPT_SOUND_CMD 0x00020000 -#define BUDDY_ARRIVE 0 -#define BUDDY_LEAVE 1 -#define RECEIVE 2 -#define FIRST_RECEIVE 3 -#define SEND 4 -#define CHAT_JOIN 5 -#define CHAT_LEAVE 6 -#define CHAT_YOU_SAY 7 -#define CHAT_SAY 8 -#define POUNCE_DEFAULT 9 +/* remember to also change the struct in sound.c */ +#define SND_BUDDY_ARRIVE 0 +#define SND_BUDDY_LEAVE 1 +#define SND_RECEIVE 2 +#define SND_FIRST_RECEIVE 3 +#define SND_SEND 4 +#define SND_CHAT_JOIN 5 +#define SND_CHAT_LEAVE 6 +#define SND_CHAT_YOU_SAY 7 +#define SND_CHAT_SAY 8 +#define SND_POUNCE_DEFAULT 9 #define NUM_SOUNDS 10 extern char *sound_file[NUM_SOUNDS]; + +/* global sound struct */ +struct sound_struct { + char *label; + guint opt; + unsigned char *snd; + size_t snd_size; +}; +extern struct sound_struct sounds[]; extern guint away_options; #define OPT_AWAY_DISCARD 0x00000001 Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.108 retrieving revision 1.109 diff -u -d -r1.108 -r1.109 --- multi.c 22 Feb 2002 23:47:55 -0000 1.108 +++ multi.c 16 Mar 2002 00:32:53 -0000 1.109 @@ -37,6 +37,7 @@ #include "pixmaps/tb_redo.xpm" #include "pixmaps/tb_undo.xpm" #include "pixmaps/tb_refresh.xpm" +#include "pixmaps/no_icon.xpm" #define LOGIN_STEPS 5 @@ -89,6 +90,13 @@ return gc; } +struct meter_window { + GtkWidget *window; + GtkTable *table; + gint rows; + gint active_count; + } *meter_win = NULL; + void destroy_gaim_conn(struct gaim_connection *gc) { GSList *g = gc->groups; @@ -1032,12 +1040,44 @@ struct signon_meter { struct gaim_connection *gc; - GtkWidget *window; + GtkWidget *button; GtkWidget *progress; GtkWidget *status; }; static GSList *meters = NULL; +GtkWidget* create_meter_pixmap (GtkWidget *widget, struct gaim_connection *gc) +{ + GdkColormap *colormap; + GdkPixmap *gdkpixmap; + GdkBitmap *mask; + GtkWidget *pixmap; + GtkStyle *style; + char **xpm; + + style = gtk_widget_get_style( widget ); + + if (gc->prpl->list_icon) + if (gc->prpl->protocol == PROTO_OSCAR) + /* This is such a bad hack to get the right icon + * for OSCAR. But it's pretty */ + if (isdigit(*gc->username)) + xpm = gc->prpl->list_icon(0); + else + xpm = gc->prpl->list_icon(0x10); + else + xpm = gc->prpl->list_icon (0); + if (xpm == NULL) + xpm = (char **)no_icon_xpm; + + gdkpixmap = gdk_pixmap_create_from_xpm_d(widget->window, &mask, &style->bg[GTK_STATE_NORMAL], xpm); + + pixmap = gtk_pixmap_new (gdkpixmap, mask); + gdk_pixmap_unref (gdkpixmap); + gdk_bitmap_unref (mask); + return pixmap; +} + static struct signon_meter *find_signon_meter(struct gaim_connection *gc) { GSList *m = meters; @@ -1049,6 +1089,19 @@ return NULL; } +void kill_meter(struct signon_meter *meter) { + gtk_widget_set_sensitive (meter->button, FALSE); + gtk_progress_bar_update(GTK_PROGRESS_BAR(meter->progress), 1); + gtk_statusbar_pop(GTK_STATUSBAR(meter->status), 1); + gtk_statusbar_push(GTK_STATUSBAR(meter->status), 1, "Done."); + meter_win->active_count--; + if (meter_win->active_count == 0) { + gtk_widget_destroy(meter_win->window); + g_free (meter_win); + meter_win = NULL; + } +} + void account_online(struct gaim_connection *gc) { int i; @@ -1056,7 +1109,7 @@ /* first we hide the login progress meter */ if (meter) { - gtk_widget_destroy(meter->window); + kill_meter(meter); meters = g_slist_remove(meters, meter); g_free(meter); } @@ -1122,7 +1175,7 @@ int i; struct signon_meter *meter = find_signon_meter(gc); if (meter) { - gtk_widget_destroy(meter->window); + kill_meter(meter); meters = g_slist_remove(meters, meter); g_free(meter); } @@ -1161,6 +1214,63 @@ return TRUE; } +static struct signon_meter *register_meter(struct gaim_connection *gc, GtkWidget *widget, GtkTable *table, gint *rows) +{ + GtkWidget *graphic; + GtkWidget *label; + GtkWidget *nest_vbox; + GString *name_to_print; + struct signon_meter *meter; + + name_to_print = g_string_new(gc->username); + + meter = g_new0(struct signon_meter, 1); + + (*rows)++; + gtk_table_resize (table, *rows, 4); + + graphic = create_meter_pixmap( widget , gc); + + nest_vbox = gtk_vbox_new (FALSE, 0); + + name_to_print = g_string_prepend(name_to_print, "Signon: "); + label = gtk_label_new (name_to_print->str); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + + meter->status = gtk_statusbar_new(); + gtk_widget_set_usize(meter->status, 250, 0); + + meter->progress = gtk_progress_bar_new (); + + meter->button = gtk_button_new_with_label ("Cancel"); + gtk_signal_connect (GTK_OBJECT (meter->button), "clicked", GTK_SIGNAL_FUNC (cancel_signon), meter); + + gtk_table_attach (GTK_TABLE (table), graphic, 0, 1, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_table_attach (GTK_TABLE (table), nest_vbox, 1, 2, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (label), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (nest_vbox), GTK_WIDGET (meter->status), FALSE, FALSE, 0); + gtk_table_attach (GTK_TABLE (table), meter->progress, 2, 3, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + gtk_table_attach (GTK_TABLE (table), meter->button, 3, 4, *rows, *rows+1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); + + gtk_widget_show_all (GTK_WIDGET (meter_win->window)); + + meter_win->active_count++; + + return meter; +} + +static void loop_cancel () { + GSList *m = meters; + struct signon_meter *meter = NULL; + + while (m) { + meter = (struct signon_meter *) (m->data); + meter->gc->wants_to_die = TRUE; + signoff((struct gaim_connection *) meter->gc); + m = meters; + } + } + void set_login_progress(struct gaim_connection *gc, float howfar, char *message) { struct signon_meter *meter = find_signon_meter(gc); @@ -1168,49 +1278,47 @@ if (mainwindow) gtk_widget_hide(mainwindow); + if (!meter_win) { + GtkWidget *cancel_button; + GtkWidget *vbox; + GString *name; + + meter_win = g_new0(struct meter_window, 1); + meter_win->rows=0; + + meter_win->window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + GAIM_DIALOG(meter_win->window); + gtk_window_set_policy(GTK_WINDOW(meter_win->window), 0, 0, 1); + gtk_window_set_wmclass(GTK_WINDOW(meter_win->window), "signon", "Gaim"); + gtk_container_set_border_width(GTK_CONTAINER(meter_win->window), 5); + gtk_window_set_title (GTK_WINDOW (meter_win->window), "Gaim Account Signon"); + gtk_widget_realize(meter_win->window); + aol_icon(meter_win->window->window); + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (meter_win->window), GTK_WIDGET (vbox)); + + meter_win->table = (GtkTable *) gtk_table_new (1 , 4, FALSE); + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (meter_win->table), FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (meter_win->table), 5); + gtk_table_set_row_spacings (GTK_TABLE (meter_win->table), 5); + gtk_table_set_col_spacings (GTK_TABLE (meter_win->table), 10); + + cancel_button = gtk_button_new_with_label ("Cancel All"); + gtk_signal_connect_object (GTK_OBJECT (cancel_button), "clicked", GTK_SIGNAL_FUNC (loop_cancel), NULL); + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (cancel_button), FALSE, FALSE, 0); + + gtk_signal_connect (GTK_OBJECT (meter_win->window), "delete_event", GTK_SIGNAL_FUNC (meter_destroy), NULL); + } + if (!meter) { - GtkWidget *box, *label, *button; char buf[256]; - meter = g_new0(struct signon_meter, 1); + meter = register_meter(gc, GTK_WIDGET (meter_win->window), GTK_TABLE (meter_win->table), (gint *) &meter_win->rows); meter->gc = gc; meters = g_slist_append(meters, meter); - GAIM_DIALOG(meter->window); - gtk_window_set_policy(GTK_WINDOW(meter->window), 0, 0, 1); - gtk_window_set_wmclass(GTK_WINDOW(meter->window), "signon", "Gaim"); - gtk_container_set_border_width(GTK_CONTAINER(meter->window), 5); g_snprintf(buf, sizeof(buf), "%s Signing On (using %s)", gc->username, gc->prpl->name()); - gtk_window_set_title(GTK_WINDOW(meter->window), buf); - gtk_signal_connect(GTK_OBJECT(meter->window), "delete_event", - GTK_SIGNAL_FUNC(meter_destroy), meter); - gtk_widget_realize(meter->window); - aol_icon(meter->window->window); - - box = gtk_vbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(meter->window), box); - gtk_widget_show(box); - - label = gtk_label_new(buf); - gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 0); - gtk_widget_show(label); - - meter->progress = gtk_progress_bar_new(); - gtk_widget_set_usize(meter->progress, 150, 0); - gtk_box_pack_start(GTK_BOX(box), meter->progress, FALSE, FALSE, 0); - gtk_widget_show(meter->progress); - - meter->status = gtk_statusbar_new(); - gtk_widget_set_usize(meter->status, 150, 0); - gtk_box_pack_start(GTK_BOX(box), meter->status, FALSE, FALSE, 0); - gtk_widget_show(meter->status); - - button = gtk_button_new_with_label(_("Cancel")); - gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cancel_signon), meter); - gtk_widget_show(button); - - gtk_widget_show(meter->window); } gtk_progress_bar_update(GTK_PROGRESS_BAR(meter->progress), howfar / LOGIN_STEPS); @@ -1262,7 +1370,7 @@ kicks = g_slist_append(kicks, k); gtk_signal_connect(GTK_OBJECT(k->dlg), "destroy", GTK_SIGNAL_FUNC(set_kick_null), k); if (meter) { - gtk_widget_destroy(meter->window); + kill_meter(meter); meters = g_slist_remove(meters, meter); g_free(meter); } Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.217 retrieving revision 1.218 diff -u -d -r1.217 -r1.218 --- prefs.c 12 Mar 2002 02:44:22 -0000 1.217 +++ prefs.c 16 Mar 2002 00:32:53 -0000 1.218 @@ -1484,6 +1484,8 @@ guint32 tmp_sound = sound_options; if (!(sound_options & OPT_SOUND_WHEN_AWAY)) sound_options ^= OPT_SOUND_WHEN_AWAY; + if (!(sound_options & sounds[snd].opt)) + sound_options ^= sounds[snd].opt; play_sound(snd); sound_options = tmp_sound; } @@ -1525,7 +1527,7 @@ gdk_window_raise(sounddialog->window); } -static void sound_entry(char *label, int opt, GtkWidget *box, int snd) +static void sound_entry(GtkWidget *box, int snd) { GtkWidget *hbox; GtkWidget *entry; @@ -1535,7 +1537,7 @@ gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); gtk_widget_show(hbox); - gaim_button(label, &sound_options, opt, hbox); + gaim_button(sounds[snd].label, &sound_options, sounds[snd].opt, hbox); button = gtk_button_new_with_label(_("Test")); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 3); @@ -1599,7 +1601,7 @@ GtkWidget *omenu; GtkWidget *menu; GtkWidget *opt; - int i=1, driver=0; + int i=1, driver=0, j; parent = prefdialog->parent; gtk_widget_destroy(prefdialog); @@ -1648,7 +1650,7 @@ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); gtk_widget_show(hbox); - label = gtk_label_new(_("Sound Player:")); + label = gtk_label_new(_("Sound method")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); gtk_widget_show(label); @@ -1718,15 +1720,11 @@ gtk_box_pack_start(GTK_BOX(hbox), omenu, FALSE, FALSE, 5); gtk_widget_show_all(omenu); - sep = gtk_hseparator_new(); - gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); - gtk_widget_show(sep); - hbox = gtk_hbox_new(TRUE, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); gtk_widget_show(hbox); - label = gtk_label_new(_("Command to play sound files\n(%s for filename)")); + label = gtk_label_new(_("Sound command\n(%s for filename)")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); gtk_widget_show(label); @@ -1738,7 +1736,7 @@ gtk_widget_set_sensitive(sndcmd, (OPT_SOUND_CMD & sound_options)); gtk_widget_show(sndcmd); - frame = gtk_frame_new(_("Events")); + frame = gtk_frame_new(_("Sound played when:")); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); gtk_widget_show(frame); @@ -1746,26 +1744,20 @@ gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); - sound_entry(_("Sound when buddy logs in"), OPT_SOUND_LOGIN, vbox, BUDDY_ARRIVE); - sound_entry(_("Sound when buddy logs out"), OPT_SOUND_LOGOUT, vbox, BUDDY_LEAVE); - - sep = gtk_hseparator_new(); - gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 5); - gtk_widget_show(sep); - - sound_entry(_("Sound when received message begins conversation"), OPT_SOUND_FIRST_RCV, vbox, - FIRST_RECEIVE); - sound_entry(_("Sound when message is received"), OPT_SOUND_RECV, vbox, RECEIVE); - sound_entry(_("Sound when message is sent"), OPT_SOUND_SEND, vbox, SEND); + for (j=0; j < NUM_SOUNDS; j++) { + /* no entry for the buddy pounce sound, it's configurable per-pounce */ + if (j == SND_POUNCE_DEFAULT) + continue; - sep = gtk_hseparator_new(); - gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 5); - gtk_widget_show(sep); + /* seperators before SND_RECEIVE and SND_CHAT_JOIN */ + if ((j == SND_RECEIVE) || (j == SND_CHAT_JOIN)) { + sep = gtk_hseparator_new(); + gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 5); + gtk_widget_show(sep); + } - sound_entry(_("Sound in chat rooms when people enter"), OPT_SOUND_CHAT_JOIN, vbox, CHAT_JOIN); - sound_entry(_("Sound in chat rooms when people leave"), OPT_SOUND_CHAT_PART, vbox, CHAT_LEAVE); - sound_entry(_("Sound in chat rooms when you talk"), OPT_SOUND_CHAT_YOU_SAY, vbox, CHAT_YOU_SAY); - sound_entry(_("Sound in chat rooms when others talk"), OPT_SOUND_CHAT_SAY, vbox, CHAT_SAY); + sound_entry(vbox, j); + } gtk_widget_show(prefdialog); } Index: server.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/server.c,v retrieving revision 1.222 retrieving revision 1.223 diff -u -d -r1.222 -r1.223 --- server.c 12 Mar 2002 17:21:42 -0000 1.222 +++ server.c 16 Mar 2002 00:32:53 -0000 1.223 @@ -584,9 +584,9 @@ set_convo_gc(cnv, gc); } if (new_conv && (sound_options & OPT_SOUND_FIRST_RCV)) - play_sound(FIRST_RECEIVE); - else if (cnv->makesound && (sound_options & OPT_SOUND_RECV)) - play_sound(RECEIVE); + play_sound(SND_FIRST_RECEIVE); + else if (cnv->makesound) + play_sound(SND_RECEIVE); write_to_conv(cnv, message, away | WFLAG_RECV, NULL, mtime, len); } @@ -645,9 +645,9 @@ set_convo_gc(cnv, gc); } if (new_conv && (sound_options & OPT_SOUND_FIRST_RCV)) - play_sound(FIRST_RECEIVE); - else if (cnv->makesound && (sound_options & OPT_SOUND_RECV)) - play_sound(RECEIVE); + play_sound(SND_FIRST_RECEIVE); + else if (cnv->makesound) + play_sound(SND_RECEIVE); set_convo_name(cnv, name); Index: sound.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/sound.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- sound.c 9 Mar 2002 18:39:46 -0000 1.50 +++ sound.c 16 Mar 2002 00:32:53 -0000 1.51 @@ -52,6 +52,22 @@ #include "sounds/Receive.h" #include "sounds/RedAlert.h" +/* label and opt are null for the buddy pounce because it's configured * + * per pounce. NULL option means it doesn't get displayed in the sound * + * preferences box */ +struct sound_struct sounds[NUM_SOUNDS] = { + N_("Buddy logs in"), OPT_SOUND_LOGIN, BuddyArrive, sizeof(BuddyArrive), + N_("Buddy logs out"), OPT_SOUND_LOGOUT, BuddyLeave, sizeof(BuddyLeave), + N_("Message recieved begins conversation"), OPT_SOUND_FIRST_RCV, Receive, sizeof(Receive), + N_("Message recieved"), OPT_SOUND_RECV, Receive, sizeof(Receive), + N_("Message sent"), OPT_SOUND_SEND, Send, sizeof(Send), + N_("Person enters chat"), OPT_SOUND_CHAT_JOIN, BuddyArrive, sizeof(BuddyArrive), + N_("Person leaves chat"), OPT_SOUND_CHAT_PART, BuddyLeave, sizeof(BuddyLeave), + N_("You talk in chat"), OPT_SOUND_CHAT_YOU_SAY, Send, sizeof(Send), + N_("Others talk in chat"), OPT_SOUND_CHAT_SAY, Receive, sizeof(Receive), + NULL, NULL, &RedAlert, sizeof(RedAlert) +}; + static int check_dev(char *dev) { struct stat stat_buf; @@ -396,6 +412,10 @@ return; } + else if (sound_options & OPT_SOUND_NORMAL) { + debug_printf("attempting to play audio file with internal method -- this is unlikely to work"); + } + pid = fork(); if (pid < 0) @@ -522,98 +542,23 @@ void play_sound(int sound) { - if (awaymessage && !(sound_options & OPT_SOUND_WHEN_AWAY)) return; - switch (sound) { - case BUDDY_ARRIVE: - if ((sound_options & OPT_SOUND_LOGIN) && logins_not_muted) { - if (sound_file[BUDDY_ARRIVE]) { - play_file(sound_file[BUDDY_ARRIVE]); - } else { - play(BuddyArrive, sizeof(BuddyArrive)); - } - } - break; - case BUDDY_LEAVE: - if (sound_options & OPT_SOUND_LOGOUT) { - if (sound_file[BUDDY_LEAVE]) { - play_file(sound_file[BUDDY_LEAVE]); - } else { - play(BuddyLeave, sizeof(BuddyLeave)); - } - } - break; - case FIRST_RECEIVE: - if (sound_options & OPT_SOUND_FIRST_RCV) { - if (sound_file[FIRST_RECEIVE]) { - play_file(sound_file[FIRST_RECEIVE]); - } else { - play(Receive, sizeof(Receive)); - } - } - break; - case RECEIVE: - if (sound_options & OPT_SOUND_RECV) { - if (sound_file[RECEIVE]) { - play_file(sound_file[RECEIVE]); - } else { - play(Receive, sizeof(Receive)); - } - } - break; - case SEND: - if (sound_options & OPT_SOUND_SEND) { - if (sound_file[SEND]) { - play_file(sound_file[SEND]); - } else { - play(Send, sizeof(Send)); - } - } - break; - case CHAT_JOIN: - if (sound_options & OPT_SOUND_CHAT_JOIN) { - if (sound_file[CHAT_JOIN]) { - play_file(sound_file[CHAT_JOIN]); - } else { - play(BuddyArrive, sizeof(BuddyArrive)); - } - } - break; - case CHAT_LEAVE: - if (sound_options & OPT_SOUND_CHAT_PART) { - if (sound_file[CHAT_LEAVE]) { - play_file(sound_file[CHAT_LEAVE]); - } else { - play(BuddyLeave, sizeof(BuddyLeave)); - } - } - break; - case CHAT_YOU_SAY: - if (sound_options & OPT_SOUND_CHAT_YOU_SAY) { - if (sound_file[CHAT_YOU_SAY]) { - play_file(sound_file[CHAT_YOU_SAY]); - } else { - play(Send, sizeof(Send)); - } - } - break; - case CHAT_SAY: - if (sound_options & OPT_SOUND_CHAT_SAY) { - if (sound_file[CHAT_SAY]) { - play_file(sound_file[CHAT_SAY]); - } else { - play(Receive, sizeof(Receive)); - } - } - break; - case POUNCE_DEFAULT: - if (sound_file[POUNCE_DEFAULT]) { - play_file(sound_file[POUNCE_DEFAULT]); + if ((sound == SND_BUDDY_ARRIVE) && !logins_not_muted) + return; + + if (sound >= NUM_SOUNDS) { + debug_printf("sorry old fruit... can't say I know that sound: ", sound); + return; + } + + /* check NULL for sounds that don't have an option, ie buddy pounce */ + if ((sound_options & sounds[sound].opt) || (sounds[sound].opt == NULL)) { + if (sound_file[sound]) { + play_file(sound_file[sound]); } else { - play(RedAlert, sizeof(RedAlert)); + play(sounds[sound].snd, sounds[sound].snd_size); } - break; } } |
From: Sean E. <sea...@us...> - 2002-03-16 00:32:56
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv22025 Modified Files: ChangeLog Log Message: Code cleanups by Robert McQueen. Michael Golden replaced the multiple per-account signon windows with a single signon window showing the status of all your accounts Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.415 retrieving revision 1.416 diff -u -d -r1.415 -r1.416 --- ChangeLog 15 Mar 2002 20:09:13 -0000 1.415 +++ ChangeLog 16 Mar 2002 00:32:53 -0000 1.416 @@ -3,6 +3,9 @@ version 0.55: * Better Jabber list management when using multiple resources (Thanks Jim Seymour) + * Various sound cleanups (Thanks Robert McQueen) + * Login process shown in single window (Thanks Michael + Golden) version 0.54 (03/14/2002): * Compiles without GdkPixbuf again |
From: Sean E. <sea...@us...> - 2002-03-15 20:09:19
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv464/src Modified Files: buddy.c dialogs.c Log Message: Better support for Jabber resources by Jim Seymour Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.290 retrieving revision 1.291 diff -u -d -r1.290 -r1.291 --- buddy.c 14 Mar 2002 03:29:03 -0000 1.290 +++ buddy.c 15 Mar 2002 20:09:13 -0000 1.291 @@ -833,6 +833,20 @@ } +/* + * Find and remove CTree node associated with buddylist entry + */ +static void ui_remove_buddy_node(struct group *rem_g, struct buddy *rem_b) +{ + GtkCTreeNode *gnode = NULL, *bnode; + + if((gnode = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, rem_g)) != NULL && + (bnode = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), gnode, rem_b)) != NULL) + { + gtk_ctree_remove_node(GTK_CTREE(edittree), bnode); + } +} + void ui_remove_buddy(struct gaim_connection *gc, struct group *rem_g, struct buddy *rem_b) { struct conversation *c; @@ -870,6 +884,10 @@ c = find_conversation(rem_b->name); if (c) update_buttons_by_protocol(c); + + /* Remove CTree node for buddy */ + ui_remove_buddy_node(rem_g, rem_b); + } void ui_remove_group(struct gaim_connection *gc, struct group *rem_g) @@ -1284,7 +1302,6 @@ gct = b->gc; serv_remove_buddy(b->gc, b->name, g->name); remove_buddy(b->gc, g, b); - gtk_ctree_remove_node(GTK_CTREE(edittree), node); do_export(gct); } else if (*type == EDIT_GROUP) { struct gaim_connection *gc = ((struct group *)type)->gc; Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.310 retrieving revision 1.311 diff -u -d -r1.310 -r1.311 --- dialogs.c 15 Mar 2002 02:13:45 -0000 1.310 +++ dialogs.c 15 Mar 2002 20:09:13 -0000 1.311 @@ -469,7 +469,6 @@ serv_remove_buddy(b->gc, b->name, g->name); remove_buddy(gc, g, b); do_export(gc); - build_edit_tree(); cv = find_conversation(b->name); |
From: Sean E. <sea...@us...> - 2002-03-15 20:09:19
|
Update of /cvsroot/gaim/gaim/src/protocols/jabber In directory usw-pr-cvs1:/tmp/cvs-serv464/src/protocols/jabber Modified Files: jabber.c Log Message: Better support for Jabber resources by Jim Seymour Index: jabber.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/jabber/jabber.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- jabber.c 15 Mar 2002 00:56:15 -0000 1.36 +++ jabber.c 15 Mar 2002 20:09:13 -0000 1.37 @@ -1089,6 +1089,9 @@ } + /* + * Add or remove a buddy? + */ if (BUD_SUB_TO_PEND(sub, ask) || BUD_SUBD_TO(sub, ask)) { if ((b = find_buddy(GJ_GC(gjc), buddyname)) == NULL) { debug_printf("adding buddy [4]: %s\n", buddyname); @@ -1096,12 +1099,6 @@ name ? name : buddyname); do_export(GJ_GC(gjc)); } - /* - * TBD: this is what we *would* do if we could. But the - * remove_buddy() code doesn't update the UI. And if the - * user selects and tries to remove a buddy already removed - * via here: *ka-boom*! - * } else if (BUD_USUB_TO_PEND(sub, ask) || BUD_USUBD_TO(sub, ask) || !strcasecmp(sub, "remove")) { if ((b = find_buddy(GJ_GC(gjc), buddyname)) != NULL) { struct group *group; @@ -1112,7 +1109,6 @@ remove_buddy(GJ_GC(gjc), group, b); do_export(GJ_GC(gjc)); } - */ } g_free(buddyname); |
From: Sean E. <sea...@us...> - 2002-03-15 20:09:19
|
Update of /cvsroot/gaim/gaim/src/protocols/oscar In directory usw-pr-cvs1:/tmp/cvs-serv464/src/protocols/oscar Modified Files: oscar.c Log Message: Better support for Jabber resources by Jim Seymour Index: oscar.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/oscar/oscar.c,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- oscar.c 15 Mar 2002 00:56:15 -0000 1.117 +++ oscar.c 15 Mar 2002 20:09:14 -0000 1.118 @@ -3172,7 +3172,10 @@ if (!(dim = find_direct_im(od, sn))) return 1; - gaim_input_remove(dim->watcher); /* Otherwise, the callback will callback */ + if (dim->watcher) { + gaim_input_remove(dim->watcher); /* Otherwise, the callback will callback */ + dim->watcher = 0; + } while (gtk_events_pending()) gtk_main_iteration(); |
From: Sean E. <sea...@us...> - 2002-03-15 20:09:18
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv464 Modified Files: ChangeLog Log Message: Better support for Jabber resources by Jim Seymour Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.414 retrieving revision 1.415 diff -u -d -r1.414 -r1.415 --- ChangeLog 15 Mar 2002 04:47:58 -0000 1.414 +++ ChangeLog 15 Mar 2002 20:09:13 -0000 1.415 @@ -1,7 +1,9 @@ Gaim: The Pimpin' Penguin IM Clone thats good for the soul! version 0.55: - + * Better Jabber list management when using multiple + resources (Thanks Jim Seymour) + version 0.54 (03/14/2002): * Compiles without GdkPixbuf again * GtkIMHtml will refresh when you set a new GTK+ theme |
From: Rob F. <rob...@us...> - 2002-03-15 04:48:01
|
Update of /cvsroot/gaim/gaim/doc In directory usw-pr-cvs1:/tmp/cvs-serv23289/doc Modified Files: gaim.1 Log Message: v0.55 starting.. Index: gaim.1 =================================================================== RCS file: /cvsroot/gaim/gaim/doc/gaim.1,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- gaim.1 2 Mar 2002 19:40:53 -0000 1.48 +++ gaim.1 15 Mar 2002 04:47:58 -0000 1.49 @@ -21,7 +21,7 @@ .\" USA. .TH gaim 1 .SH NAME -Gaim v0.54 \- Instant Messaging client +Gaim v0.55 \- Instant Messaging client .SH SYNOPSIS .TP 5 \fBgaim \fI[options]\fR |
From: Rob F. <rob...@us...> - 2002-03-15 04:48:01
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv23289 Modified Files: ChangeLog NEWS configure.ac Log Message: v0.55 starting.. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.413 retrieving revision 1.414 diff -u -d -r1.413 -r1.414 --- ChangeLog 15 Mar 2002 02:59:54 -0000 1.413 +++ ChangeLog 15 Mar 2002 04:47:58 -0000 1.414 @@ -1,5 +1,7 @@ Gaim: The Pimpin' Penguin IM Clone thats good for the soul! +version 0.55: + version 0.54 (03/14/2002): * Compiles without GdkPixbuf again * GtkIMHtml will refresh when you set a new GTK+ theme Index: NEWS =================================================================== RCS file: /cvsroot/gaim/gaim/NEWS,v retrieving revision 1.119 retrieving revision 1.120 diff -u -d -r1.119 -r1.120 --- NEWS 15 Mar 2002 03:13:54 -0000 1.119 +++ NEWS 15 Mar 2002 04:47:58 -0000 1.120 @@ -1,5 +1,7 @@ -=[ Gaim ]=- The Pimpin' Penguin AIM Clone That's Good For The Soul! +0.55: + 0.54 (03/14/2002): Rob: Well, here we are. 0.54. We got a lot of fun things in this release. Better working SSI, Image sending, protocol specific Index: configure.ac =================================================================== RCS file: /cvsroot/gaim/gaim/configure.ac,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- configure.ac 14 Mar 2002 02:49:18 -0000 1.48 +++ configure.ac 15 Mar 2002 04:47:58 -0000 1.49 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(src/aim.c) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE([gaim], [0.54]) +AM_INIT_AUTOMAKE([gaim], [0.55]) AC_PATH_PROG(sedpath, sed) |
From: Rob F. <rob...@us...> - 2002-03-15 04:04:27
|
Update of /cvsroot/gaim/gaim/pixmaps In directory usw-pr-cvs1:/tmp/cvs-serv16134 Modified Files: Makefile.am Log Message: wah Index: Makefile.am =================================================================== RCS file: /cvsroot/gaim/gaim/pixmaps/Makefile.am,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- Makefile.am 13 Mar 2002 04:15:31 -0000 1.64 +++ Makefile.am 15 Mar 2002 04:04:25 -0000 1.65 @@ -55,6 +55,7 @@ gnomeicu-offline.xpm \ gnomeicu-online.xpm \ group.xpm \ + image_icon.xpm \ import_small.xpm \ irc_icon.xpm \ italic.xpm \ |
From: Rob F. <rob...@us...> - 2002-03-15 03:35:12
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv11697 Modified Files: conversation.c Log Message: Oops! Thanks for smacking me, Ben MIller. Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.342 retrieving revision 1.343 diff -u -d -r1.342 -r1.343 --- conversation.c 15 Mar 2002 02:45:20 -0000 1.342 +++ conversation.c 15 Mar 2002 03:35:09 -0000 1.343 @@ -3381,6 +3381,12 @@ { GSList *smilies; + if (!c) + return; + + if (!c->gc) + return; + if (c->gc->prpl->smiley_list) { gtk_imhtml_remove_smileys(GTK_IMHTML(c->text)); smilies = c->gc->prpl->smiley_list(); |
From: Rob F. <rob...@us...> - 2002-03-15 03:25:07
|
Update of /cvsroot/gaim/gaim/pixmaps/protocols/msn In directory usw-pr-cvs1:/tmp/cvs-serv10183/protocols/msn Modified Files: Makefile.am Log Message: Oopsie Index: Makefile.am =================================================================== RCS file: /cvsroot/gaim/gaim/pixmaps/protocols/msn/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.am 13 Mar 2002 04:15:31 -0000 1.1 +++ Makefile.am 15 Mar 2002 03:25:03 -0000 1.2 @@ -1,9 +1,9 @@ -EXTRA_DIST = msn_angel.xpm \ - msn_angry.xpm \ - msn_bat.xpm \ - msn_beer.xpm \ - msn_boy.xpm \ - msn_brheart.xpm \ +EXTRA_DIST = msn_angel.xpm \ + msn_angry.xpm \ + msn_bat.xpm \ + msn_beer.xpm \ + msn_boy.xpm \ + msn_brheart.xpm \ msn_cake.xpm \ msn_cat.xpm \ msn_clock.xpm \ |
From: Sean E. <sea...@us...> - 2002-03-15 03:13:57
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv8039 Modified Files: NEWS Log Message: Half of what I say is meaningless. Index: NEWS =================================================================== RCS file: /cvsroot/gaim/gaim/NEWS,v retrieving revision 1.118 retrieving revision 1.119 diff -u -d -r1.118 -r1.119 --- NEWS 15 Mar 2002 02:59:54 -0000 1.118 +++ NEWS 15 Mar 2002 03:13:54 -0000 1.119 @@ -5,6 +5,10 @@ release. Better working SSI, Image sending, protocol specific smiley faces, and a whole lot of triscuits. *gobble* + Sean: We fixed a lot of bugs in this one, and probably introduced + a bunch too. ;) We were both really busy, and did all the coding + late at night when we were tired, so if something isn't working, + it's probably just tired code. Enjoy the triscuits! 0.53 (02/28/2002): Rob: Well, we missed yesterday's release. That's Okay, I head a |
From: Rob F. <rob...@us...> - 2002-03-15 02:59:57
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv4917 Modified Files: gaim.spec.in ChangeLog NEWS Log Message: Yo Index: gaim.spec.in =================================================================== RCS file: /cvsroot/gaim/gaim/gaim.spec.in,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- gaim.spec.in 2 Mar 2002 04:52:20 -0000 1.39 +++ gaim.spec.in 15 Mar 2002 02:59:54 -0000 1.40 @@ -99,6 +99,22 @@ rm -r $RPM_BUILD_ROOT %changelog +* Thu Mar 14 2002 Rob Flynn <ro...@ma...> (0.54 release) +- Compiles without GdkPixbuf again +- GtkIMHtml will refresh when you set a new GTK+ theme +- Improved Yahoo! typing notification (thanks Brian Macke) +- Prompt to authorize MSN buddies who added you while you were offline (Thanks Jason Willis) +- Option to globally disable Buddy Icon animation (Thanks Luke Schierer) +- Numerous bugfixes +- Yahoo! will tell you when your buddies are playing Yahoo! games and give you the ability to join them +- Yahoo! can receive offline messages +- IRC can do DCC chat. +- IRC will convert HTML formatting to mIRC formatting. +- Buddylist tab placement option (Thanks Jason Willis) +- Protocol specific smiley faces +- Italian translation added +- IM Image sending + * Fri Feb 28 2002 Rob Flynn <ro...@ma...> (0.53 release) - Updated Polish Translation (thanks Przemyslaw Sulek) - Slovak translation added (Thanks Daniel Rezny) Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.412 retrieving revision 1.413 diff -u -d -r1.412 -r1.413 --- ChangeLog 15 Mar 2002 00:56:14 -0000 1.412 +++ ChangeLog 15 Mar 2002 02:59:54 -0000 1.413 @@ -1,6 +1,6 @@ Gaim: The Pimpin' Penguin IM Clone thats good for the soul! -version 0.54 +version 0.54 (03/14/2002): * Compiles without GdkPixbuf again * GtkIMHtml will refresh when you set a new GTK+ theme * Improved Yahoo! typing notification (thanks Brian Macke) Index: NEWS =================================================================== RCS file: /cvsroot/gaim/gaim/NEWS,v retrieving revision 1.117 retrieving revision 1.118 diff -u -d -r1.117 -r1.118 --- NEWS 2 Mar 2002 19:39:58 -0000 1.117 +++ NEWS 15 Mar 2002 02:59:54 -0000 1.118 @@ -1,6 +1,10 @@ -=[ Gaim ]=- The Pimpin' Penguin AIM Clone That's Good For The Soul! -0.54 +0.54 (03/14/2002): + Rob: Well, here we are. 0.54. We got a lot of fun things in this + release. Better working SSI, Image sending, protocol specific + smiley faces, and a whole lot of triscuits. *gobble* + 0.53 (02/28/2002): Rob: Well, we missed yesterday's release. That's Okay, I head a |