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-23 04:54:47
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv21652 Modified Files: ChangeLog Log Message: add Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.341 retrieving revision 1.342 diff -u -d -r1.341 -r1.342 --- ChangeLog 2001/10/23 04:05:52 1.341 +++ ChangeLog 2001/10/23 04:54:44 1.342 @@ -18,6 +18,8 @@ dequeued. * You can choose which sound player you use at run-time (thanks Ben Miller) + * When someone adds you to their buddy list, it asks if you want + to add them as well (Yahoo, ICQ, and MSN) (thanks Nathan Walp) version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Eric W. <war...@us...> - 2001-10-23 04:18:10
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv16329 Modified Files: prefs.c Log Message: beep before esd Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.188 retrieving revision 1.189 diff -u -d -r1.188 -r1.189 --- prefs.c 2001/10/23 04:05:52 1.188 +++ prefs.c 2001/10/23 04:18:07 1.189 @@ -1560,6 +1560,15 @@ omenu = gtk_option_menu_new(); menu = gtk_menu_new(); + opt = gtk_menu_item_new_with_label("Console Beep"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_BEEP); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_BEEP) && !driver) driver = i; + i++; + #ifdef ESD_SOUND opt = gtk_menu_item_new_with_label("ESD"); gtk_signal_connect(GTK_OBJECT(opt), "activate", @@ -1598,15 +1607,6 @@ gtk_widget_show(opt); gtk_menu_append(GTK_MENU(menu), opt); if ((sound_options & OPT_SOUND_NORMAL) && !driver) driver = i; - i++; - - opt = gtk_menu_item_new_with_label("Console Beep"); - gtk_signal_connect(GTK_OBJECT(opt), "activate", - GTK_SIGNAL_FUNC(set_sound_driver), - (gpointer)OPT_SOUND_BEEP); - gtk_widget_show(opt); - gtk_menu_append(GTK_MENU(menu), opt); - if ((sound_options & OPT_SOUND_BEEP) && !driver) driver = i; i++; gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); |
From: Eric W. <war...@us...> - 2001-10-23 04:05:54
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv14491/src Modified Files: gaim.h gaimrc.c prefs.c sound.c Log Message: run-time Index: gaim.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaim.h,v retrieving revision 1.285 retrieving revision 1.286 diff -u -d -r1.285 -r1.286 --- gaim.h 2001/10/19 18:51:33 1.285 +++ gaim.h 2001/10/23 04:05:52 1.286 @@ -272,6 +272,10 @@ #define OPT_SOUND_BEEP 0x00000400 #define OPT_SOUND_CHAT_PART 0x00000800 #define OPT_SOUND_CHAT_YOU_SAY 0x00001000 +#define OPT_SOUND_NORMAL 0x00002000 +#define OPT_SOUND_NAS 0x00004000 +#define OPT_SOUND_ARTSC 0x00008000 +#define OPT_SOUND_ESD 0x00010000 #define BUDDY_ARRIVE 0 #define BUDDY_LEAVE 1 Index: gaimrc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gaimrc.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- gaimrc.c 2001/09/30 19:58:48 1.86 +++ gaimrc.c 2001/10/23 04:05:52 1.87 @@ -1006,12 +1006,18 @@ for (i = 0; i < 7; i++) sound_file[i] = NULL; font_options = 0; + /* Enable all of the sound players that might be available. The first + available one will be used. */ sound_options = OPT_SOUND_LOGIN | OPT_SOUND_LOGOUT | OPT_SOUND_RECV | OPT_SOUND_SEND | - OPT_SOUND_SILENT_SIGNON; + OPT_SOUND_SILENT_SIGNON | + OPT_SOUND_NORMAL | + OPT_SOUND_NAS | + OPT_SOUND_ARTSC | + OPT_SOUND_ESD; report_idle = IDLE_SCREENSAVER; web_browser = BROWSER_NETSCAPE; Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.187 retrieving revision 1.188 diff -u -d -r1.187 -r1.188 --- prefs.c 2001/10/21 19:01:03 1.187 +++ prefs.c 2001/10/23 04:05:52 1.188 @@ -1483,6 +1483,14 @@ return TRUE; } +static void set_sound_driver(GtkWidget *w, int option) +{ + sound_options &= ~(OPT_SOUND_NORMAL | OPT_SOUND_BEEP | + OPT_SOUND_NAS | OPT_SOUND_ARTSC | OPT_SOUND_ESD); + sound_options |= option; + save_prefs(); +} + static void sound_page() { GtkWidget *parent; @@ -1493,6 +1501,10 @@ GtkWidget *hbox; GtkWidget *vbox2; GtkWidget *sep; + GtkWidget *omenu; + GtkWidget *menu; + GtkWidget *opt; + int i=1, driver=0; parent = prefdialog->parent; gtk_widget_destroy(prefdialog); @@ -1526,13 +1538,81 @@ gtk_widget_show(vbox2); gaim_button(_("No sounds when you log in"), &sound_options, OPT_SOUND_SILENT_SIGNON, vbox2); - gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); vbox2 = gtk_vbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(hbox), vbox2, TRUE, TRUE, 5); gtk_widget_show(vbox2); - gaim_button(_("Beep instead of playing sound"), &sound_options, OPT_SOUND_BEEP, vbox2); + gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, vbox2); + + 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(_("Sound Player:")); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); + + omenu = gtk_option_menu_new(); + menu = gtk_menu_new(); + +#ifdef ESD_SOUND + opt = gtk_menu_item_new_with_label("ESD"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_ESD); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_ESD) && !driver) driver = i; + i++; +#endif +#ifdef ARTSC_SOUND + opt = gtk_menu_item_new_with_label("ArtsC"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_ARTSC); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_ARTSC) && !driver) driver = i; + i++; +#endif +#ifdef NAS_SOUND + opt = gtk_menu_item_new_with_label("NAS"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_NAS); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_NAS) && !driver) driver = i; + i++; +#endif + + opt = gtk_menu_item_new_with_label("Native"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_NORMAL); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_NORMAL) && !driver) driver = i; + i++; + + opt = gtk_menu_item_new_with_label("Console Beep"); + gtk_signal_connect(GTK_OBJECT(opt), "activate", + GTK_SIGNAL_FUNC(set_sound_driver), + (gpointer)OPT_SOUND_BEEP); + gtk_widget_show(opt); + gtk_menu_append(GTK_MENU(menu), opt); + if ((sound_options & OPT_SOUND_BEEP) && !driver) driver = i; + i++; + + gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); + gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), driver - 1); + 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); Index: sound.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/sound.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- sound.c 2001/10/10 20:42:19 1.40 +++ sound.c 2001/10/23 04:05:52 1.41 @@ -404,7 +404,7 @@ else if ((ms = strstr(sound_cmd, "%s")) != NULL) { *ms = 0; g_snprintf(command, sizeof(command), "%s\"%s\"%s", sound_cmd, - filename, ms + 2); + filename, ms + 2); } else g_snprintf(command, sizeof(command), sound_cmd); args[0] = "sh"; @@ -415,21 +415,27 @@ _exit(0); } #ifdef ESD_SOUND - if (esd_play_file(NULL, filename, 1)) - _exit(0); + else if (sound_options & OPT_SOUND_ESD) { + if (esd_play_file(NULL, filename, 1)) + _exit(0); + } #endif #ifdef ARTSC_SOUND - if (artsc_play_file(filename)) - _exit(0); + else if (sound_options & OPT_SOUND_ARTSC) { + if (artsc_play_file(filename)) + _exit(0); + } #endif #ifdef NAS_SOUND - if (play_nas_file(filename)) - _exit(0); + else if (sound_options & OPT_SOUND_NAS) { + if (play_nas_file(filename)) + _exit(0); + } #endif - - if (can_play_audio()) { + else if ((sound_options & OPT_SOUND_NORMAL) && + can_play_audio()) { play_audio_file(filename); _exit(0); } @@ -460,32 +466,40 @@ #ifdef ESD_SOUND /* ESD is our player of choice. Are we OK to * go there? */ - if (can_play_esd()) { - if (play_esd(data, size)) - _exit(0); + else if (sound_options & OPT_SOUND_ESD) { + if (can_play_esd()) { + if (play_esd(data, size)) + _exit(0); + } } #endif #ifdef ARTSC_SOUND /* ArtsC is the new second choice. */ - if (can_play_artsc()) { - if (play_artsc(data, size)) - _exit(0); + else if (sound_options & OPT_SOUND_ARTSC) { + if (can_play_artsc()) { + if (play_artsc(data, size)) + _exit(0); + } } #endif #ifdef NAS_SOUND /* NAS is our second choice setup. */ - if (can_play_nas()) { - if (play_nas(data, size)) - _exit(0); + else if (sound_options & OPT_SOUND_NAS) { + if (can_play_nas()) { + if (play_nas(data, size)) + _exit(0); + } } #endif /* Lastly, we can try just plain old /dev/audio */ - if (can_play_audio()) { - play_audio(data, size); - _exit(0); + else if (sound_options & OPT_SOUND_NORMAL) { + if (can_play_audio()) { + play_audio(data, size); + _exit(0); + } } _exit(0); |
From: Eric W. <war...@us...> - 2001-10-23 04:05:54
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv14491 Modified Files: ChangeLog Log Message: run-time Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.340 retrieving revision 1.341 diff -u -d -r1.340 -r1.341 --- ChangeLog 2001/10/23 03:19:28 1.340 +++ ChangeLog 2001/10/23 04:05:52 1.341 @@ -16,6 +16,8 @@ * When you are queueing away messages, double clicking on a buddy's name will cause the messages for that name to be dequeued. + * You can choose which sound player you use at run-time + (thanks Ben Miller) version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-23 03:19:31
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv5598 Modified Files: ChangeLog Log Message: Blah. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.339 retrieving revision 1.340 diff -u -d -r1.339 -r1.340 --- ChangeLog 2001/10/23 02:36:34 1.339 +++ ChangeLog 2001/10/23 03:19:28 1.340 @@ -15,7 +15,7 @@ * Improved log viewer (thanks to Ben Miller) * When you are queueing away messages, double clicking on a buddy's name will cause the messages for that name to be - unqueued. + dequeued. version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-23 02:44:48
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv32644 Modified Files: gaim.spec.in Log Message: Ho Hum Index: gaim.spec.in =================================================================== RCS file: /cvsroot/gaim/gaim/gaim.spec.in,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- gaim.spec.in 2001/10/18 15:49:51 1.26 +++ gaim.spec.in 2001/10/23 02:44:45 1.27 @@ -5,7 +5,7 @@ %define prefix /usr %define sysconfdir /etc -Summary: A client compatible with AOL's 'Instant Messenger' +Summary: A Gtk+ based multiprotocol instant messaging client Name: %{name} Version: %{version} Release: %{release} @@ -20,6 +20,8 @@ Requires: gtk+ >= 1.2.3 %description +Gaim is NOT affiliated with or endorsed by AOL. + Gaim allows you to talk to anyone using AOL's Instant Messenger service (you can sign up at http://www.aim.aol.com). |
From: Eric W. <war...@us...> - 2001-10-23 02:36:37
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv30815 Modified Files: ChangeLog Log Message: i'm sure there's some funny story that goes along with this. I don't wan't to hear it. I have no sense of humor tonight. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.338 retrieving revision 1.339 diff -u -d -r1.338 -r1.339 --- ChangeLog 2001/10/23 00:44:24 1.338 +++ ChangeLog 2001/10/23 02:36:34 1.339 @@ -16,7 +16,6 @@ * When you are queueing away messages, double clicking on a buddy's name will cause the messages for that name to be unqueued. - * Eric is cool. Rob is cool. SeanEgan is not cool. version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-23 00:44:27
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv29577 Modified Files: ChangeLog Log Message: Hehehe Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.337 retrieving revision 1.338 diff -u -d -r1.337 -r1.338 --- ChangeLog 2001/10/23 00:42:10 1.337 +++ ChangeLog 2001/10/23 00:44:24 1.338 @@ -16,6 +16,7 @@ * When you are queueing away messages, double clicking on a buddy's name will cause the messages for that name to be unqueued. + * Eric is cool. Rob is cool. SeanEgan is not cool. version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-23 00:42:12
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv28881 Modified Files: ChangeLog Log Message: Ambiguity is the finest form of flattery. Yum Yum Yum. My pizza only took 26 minutes to get here from the time I hit "submit" on the website. Wow, technology is amazing. *gurgle* FOOOD! Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.336 retrieving revision 1.337 diff -u -d -r1.336 -r1.337 --- ChangeLog 2001/10/23 00:35:02 1.336 +++ ChangeLog 2001/10/23 00:42:10 1.337 @@ -13,8 +13,9 @@ or idle. * Add Opera to the available browsers (thanks Brian Enigma) * Improved log viewer (thanks to Ben Miller) - * Double clicking a name unqueue's away messages for that buddy - (thanks to Sean Egan) + * When you are queueing away messages, double clicking on + a buddy's name will cause the messages for that name to be + unqueued. version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Eric W. <war...@us...> - 2001-10-23 00:35:05
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv27142 Modified Files: ChangeLog Log Message: we don't need to be reporting every bug that gets fixed :) Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.335 retrieving revision 1.336 diff -u -d -r1.335 -r1.336 --- ChangeLog 2001/10/23 00:19:38 1.335 +++ ChangeLog 2001/10/23 00:35:02 1.336 @@ -12,7 +12,6 @@ selects "on away" or "on idle", if the user is away or idle. * Add Opera to the available browsers (thanks Brian Enigma) - * The applet no longer crashes when you remove it while signed on * Improved log viewer (thanks to Ben Miller) * Double clicking a name unqueue's away messages for that buddy (thanks to Sean Egan) |
From: Eric W. <war...@us...> - 2001-10-23 00:35:05
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory usw-pr-cvs1:/tmp/cvs-serv27142/src/protocols/irc Modified Files: irc.c Log Message: we don't need to be reporting every bug that gets fixed :) Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- irc.c 2001/10/18 12:12:38 1.43 +++ irc.c 2001/10/23 00:35:02 1.44 @@ -888,19 +888,19 @@ if (idata->fd != source) idata->fd = source; - g_snprintf(buf, sizeof(buf), "NICK %s\r\n", gc->username); - if (irc_write(idata->fd, buf, strlen(buf)) < 0) { - hide_login_progress(gc, "Write error"); - signoff(gc); - return; - } - gethostname(hostname, sizeof(hostname) - 1); hostname[sizeof(hostname) - 1] = 0; if (!*hostname) g_snprintf(hostname, sizeof(hostname), "localhost"); g_snprintf(buf, sizeof(buf), "USER %s %s %s :Gaim (%s)\r\n", g_get_user_name(), hostname, gc->user->proto_opt[USEROPT_SERV], WEBSITE); + if (irc_write(idata->fd, buf, strlen(buf)) < 0) { + hide_login_progress(gc, "Write error"); + signoff(gc); + return; + } + + g_snprintf(buf, sizeof(buf), "NICK %s\r\n", gc->username); if (irc_write(idata->fd, buf, strlen(buf)) < 0) { hide_login_progress(gc, "Write error"); signoff(gc); |
From: Rob F. <rob...@us...> - 2001-10-23 00:19:41
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv22649/src Modified Files: away.c Log Message: Well, touch my belly and call me Olga! Index: away.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/away.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -d -r1.62 -r1.63 --- away.c 2001/10/14 11:36:36 1.62 +++ away.c 2001/10/23 00:19:38 1.63 @@ -85,6 +85,51 @@ gtk_clist_thaw(GTK_CLIST(clistqueue)); } +void dequeue_by_buddy(GtkWidget *clist, gint row, gint column, GdkEventButton *event, gpointer data) { + char *temp; + char *name; + GSList *templist; + struct conversation *cnv; + + if(!(event->type == GDK_2BUTTON_PRESS && event->button == 1)) + return; /* Double clicking on the clist will unqueue that users messages. */ + + gtk_clist_get_text(GTK_CLIST(clist), row, 0, &temp); + name = g_strdup(temp); + + if (!name) + return; + debug_printf("Unqueueing messages from %s.\n", name); + templist = message_queue; + while (templist) { + struct queued_message *qm = templist->data; + if (templist->data) { + if (!g_strcasecmp(qm->name, name)) { + cnv = find_conversation(name); + if (!cnv) + cnv = new_conversation(qm->name); + if (g_slist_index(connections, qm->gc) >= 0) + set_convo_gc(cnv, qm->gc); + + write_to_conv(cnv, qm->message, qm->flags, NULL, qm->tm); + g_free(qm->message); + g_free(qm); + templist = message_queue = g_slist_remove(message_queue, qm); + + } else { + templist = templist->next; + } + } + } + g_free(name); + gtk_clist_remove(GTK_CLIST(clist), row); + + +} + + + + void toggle_away_queue() { if (!clistqueue || !clistqueuesw) @@ -187,6 +232,9 @@ gtk_clist_set_column_width(GTK_CLIST(clistqueue), 0, 100); gtk_widget_set_usize(GTK_WIDGET(clistqueue), -1, 50); gtk_container_add(GTK_CONTAINER(clistqueuesw), clistqueue); + gtk_signal_connect(GTK_OBJECT(clistqueue), "select_row", GTK_SIGNAL_FUNC(dequeue_by_buddy), NULL); + + if (away_options & OPT_AWAY_QUEUE) { gtk_widget_show(clistqueuesw); |
From: Rob F. <rob...@us...> - 2001-10-23 00:19:41
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv22649 Modified Files: ChangeLog Log Message: Well, touch my belly and call me Olga! Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.334 retrieving revision 1.335 diff -u -d -r1.334 -r1.335 --- ChangeLog 2001/10/22 20:53:08 1.334 +++ ChangeLog 2001/10/23 00:19:38 1.335 @@ -14,6 +14,8 @@ * Add Opera to the available browsers (thanks Brian Enigma) * The applet no longer crashes when you remove it while signed on * Improved log viewer (thanks to Ben Miller) + * Double clicking a name unqueue's away messages for that buddy + (thanks to Sean Egan) version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Eric W. <war...@us...> - 2001-10-22 21:05:29
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv8844 Modified Files: dialogs.c Log Message: people who make commits should ./configure with --enable-debug. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.268 retrieving revision 1.269 diff -u -d -r1.268 -r1.269 --- dialogs.c 2001/10/22 20:56:13 1.268 +++ dialogs.c 2001/10/22 21:05:27 1.269 @@ -3481,7 +3481,7 @@ GtkWidget *close_button; GtkWidget *clear_button; GtkWidget *save_button; - GtkWidget *list; + GtkWidget *list = NULL; GtkWidget *item; GtkWidget *frame; |
From: Rob F. <rob...@us...> - 2001-10-22 20:56:18
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv5882 Modified Files: dialogs.c Log Message: Eep Op Ork Aa Aa, and that means I love you! Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.267 retrieving revision 1.268 diff -u -d -r1.267 -r1.268 --- dialogs.c 2001/10/22 20:53:08 1.267 +++ dialogs.c 2001/10/22 20:56:13 1.268 @@ -3541,7 +3541,7 @@ gtk_container_set_border_width(GTK_CONTAINER(sw), 5); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), list); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - gtk_widget_set_usize(sw, 190, 220); + gtk_widget_set_usize(sw, 220, 220); gtk_container_add(GTK_CONTAINER(frame), sw); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); |
From: Rob F. <rob...@us...> - 2001-10-22 20:53:11
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv4748/src Modified Files: dialogs.c Log Message: Improved Log Viewer, thanks to Ben Miller. Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.266 retrieving revision 1.267 diff -u -d -r1.266 -r1.267 --- dialogs.c 2001/10/21 00:15:55 1.266 +++ dialogs.c 2001/10/22 20:53:08 1.267 @@ -3411,22 +3411,16 @@ return; } -void show_log(char *name) +static void log_show_convo(GtkWidget *w, GtkWidget *layout) { - gchar filename[256]; gchar buf[BUF_LONG]; - GString *string; + long offset = (long)gtk_object_get_user_data(GTK_OBJECT(w)); + int options = (int)gtk_object_get_data(GTK_OBJECT(w), "options"); + gchar *name = gtk_object_get_data(GTK_OBJECT(w), "name"); FILE *fp; - GtkWidget *window; - GtkWidget *box; - GtkWidget *hbox; - GtkWidget *sw; - GtkWidget *layout; - GtkWidget *close_button; - GtkWidget *clear_button; - GtkWidget *save_button; - int options; - guint block; + char filename[256]; + int i=0; + GString *string; string = g_string_new(""); @@ -3445,6 +3439,58 @@ return; } + fseek(fp, offset, SEEK_SET); + gtk_imhtml_clear(GTK_IMHTML(layout)); + while (gtk_events_pending()) + gtk_main_iteration(); + + while (fgets(buf, BUF_LONG, fp) && !strstr(buf, "---- New C")) { + i++; + if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) + /* take off the \n */ + buf[strlen(buf) - 1] = '\0'; + + if (i == 30) { + gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); + g_string_free(string, TRUE); + string = g_string_new(""); + while (gtk_events_pending()) + gtk_main_iteration(); + i = 0; + } else { + g_string_append(string, buf); + } + + } + gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); + gtk_imhtml_append_text(GTK_IMHTML(layout), "<BR>", options); + g_string_free(string, TRUE); + fclose(fp); +} + +void show_log(char *name) +{ + gchar filename[256]; + gchar buf[BUF_LONG]; + FILE *fp; + GtkWidget *window; + GtkWidget *box; + GtkWidget *hbox; + GtkWidget *sw; + GtkWidget *layout; + GtkWidget *close_button; + GtkWidget *clear_button; + GtkWidget *save_button; + GtkWidget *list; + GtkWidget *item; + GtkWidget *frame; + + int options; + guint block; + char convo_start[32]; + long offset = 0; + + options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; if (convo_options & OPT_CONVO_IGNORE_COLOUR) options ^= GTK_IMHTML_NO_COLOURS; @@ -3468,22 +3514,77 @@ gtk_widget_realize(window); aol_icon(window->window); + layout = gtk_imhtml_new(NULL, NULL); + box = gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(window), box); + hbox = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(box), hbox, TRUE, TRUE, 0); + + if (name) { + char *tmp = gaim_user_dir(); + g_snprintf(filename, 256, "%s/logs/%s.log", tmp, normalize(name)); + g_free(tmp); + if ((fp = fopen(filename, "r")) == NULL) { + g_snprintf(buf, BUF_LONG, "Unable to open log file %s", filename); + do_error_dialog(buf, "Error!"); + return; + } + + list = gtk_list_new(); + + frame = gtk_frame_new(_("Date")); + gtk_widget_show(frame); + + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_container_set_border_width(GTK_CONTAINER(sw), 5); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), list); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_widget_set_usize(sw, 190, 220); + gtk_container_add(GTK_CONTAINER(frame), sw); + gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); + + while (fgets(buf, BUF_LONG, fp)) { + if (strstr(buf, "---- New C")) { + int length; + char *temp = strchr(buf, '@'); + if (temp == NULL || strlen(temp) < 2) + continue; + temp++; + length = strcspn(temp, "-"); + if (length > 31) length = 31; + + offset = ftell(fp); + g_snprintf(convo_start, length, "%s", temp); + item = gtk_list_item_new_with_label(convo_start); + gtk_object_set_user_data(GTK_OBJECT(item), (gpointer)offset); + gtk_object_set_data(GTK_OBJECT(item), "options", (gpointer)options); + gtk_object_set_data(GTK_OBJECT(item), "name", (gpointer)name); + gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(log_show_convo), layout); + gtk_container_add(GTK_CONTAINER(list), item); + gtk_widget_show(item); + } + } + fclose(fp); + } + + frame = gtk_frame_new(_("Conversation")); + gtk_widget_show(frame); + sw = gtk_scrolled_window_new(NULL, NULL); - gtk_box_pack_start(GTK_BOX(box), sw, TRUE, TRUE, 0); + gtk_container_set_border_width(GTK_CONTAINER(sw), 5); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize(sw, 390, 220); + gtk_container_add(GTK_CONTAINER(frame), sw); + gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); - layout = gtk_imhtml_new(NULL, NULL); gtk_signal_connect(GTK_OBJECT(layout), "url_clicked", open_url_nw, NULL); gtk_container_add(GTK_CONTAINER(sw), layout); gaim_setup_imhtml(layout); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); close_button = picture_button(window, _("Close"), cancel_xpm); gtk_box_pack_end(GTK_BOX(hbox), close_button, FALSE, FALSE, 5); @@ -3498,36 +3599,26 @@ gtk_box_pack_end(GTK_BOX(hbox), save_button, FALSE, FALSE, 5); gtk_widget_set_sensitive(save_button, FALSE); - gtk_widget_show_all(window); - - while (fgets(buf, BUF_LONG, fp)) { - if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) - /* take off the \n */ - buf[strlen(buf) - 1] = '\0'; - if (!name ||(strlen(buf) >= 21 && strstr(buf, "---- New C"))) { - gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); - g_string_free(string, TRUE); - string = g_string_new(buf); - } else { - string = g_string_append(string, buf); - } - while (gtk_events_pending()) - gtk_main_iteration(); + gtk_widget_show_all(window); + + if (!name) { + gtk_object_set_user_data(GTK_OBJECT(layout), (gpointer)0); + gtk_object_set_data(GTK_OBJECT(layout), "options", (gpointer)options); + gtk_object_set_data(GTK_OBJECT(layout), "name", (gpointer)NULL); + log_show_convo(layout, layout); + } else { + gtk_list_select_item(GTK_LIST(list), 0); } - gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); - gtk_imhtml_append_text(GTK_IMHTML(layout), "<BR>", options); gtk_signal_disconnect(GTK_OBJECT(window), block); gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); gtk_signal_connect(GTK_OBJECT(close_button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); gtk_signal_connect(GTK_OBJECT(clear_button), "clicked", GTK_SIGNAL_FUNC(show_clear_log), name); gtk_signal_connect(GTK_OBJECT(save_button), "clicked", GTK_SIGNAL_FUNC(show_save_log), name); + gtk_widget_set_sensitive(close_button, TRUE); gtk_widget_set_sensitive(clear_button, TRUE); gtk_widget_set_sensitive(save_button, TRUE); - - fclose(fp); - g_string_free(string, TRUE); return; } |
From: Rob F. <rob...@us...> - 2001-10-22 20:53:11
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv4748 Modified Files: ChangeLog Log Message: Improved Log Viewer, thanks to Ben Miller. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.333 retrieving revision 1.334 diff -u -d -r1.333 -r1.334 --- ChangeLog 2001/10/21 19:38:12 1.333 +++ ChangeLog 2001/10/22 20:53:08 1.334 @@ -13,6 +13,7 @@ or idle. * Add Opera to the available browsers (thanks Brian Enigma) * The applet no longer crashes when you remove it while signed on + * Improved log viewer (thanks to Ben Miller) version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Eric W. <war...@us...> - 2001-10-22 00:58:16
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv24079 Modified Files: buddy.c Log Message: i fixed it for you. Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.255 retrieving revision 1.256 diff -u -d -r1.255 -r1.256 --- buddy.c 2001/10/21 00:15:55 1.255 +++ buddy.c 2001/10/22 00:58:13 1.256 @@ -115,7 +115,7 @@ static GSList *shows = NULL; /* Predefine some functions */ -static void new_bp_callback(GtkWidget *w, struct buddy_show *bs); +static void new_bp_callback(GtkWidget *w, struct buddy *bs); static struct group_show *find_group_show(char *group); static struct buddy_show *find_buddy_show(struct group_show *gs, char *name); static int group_number(char *group); @@ -622,7 +622,8 @@ button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); gtk_signal_connect(GTK_OBJECT(button), "activate", - GTK_SIGNAL_FUNC(new_bp_callback), b); + GTK_SIGNAL_FUNC(new_bp_callback), + cn ? find_buddy(cn->data, b->name) : NULL); gtk_menu_append(GTK_MENU(menu), button); gtk_widget_show(button); @@ -1507,27 +1508,12 @@ g_free(who); } -static void new_bp_callback(GtkWidget *w, struct buddy_show *bs) +static void new_bp_callback(GtkWidget *w, struct buddy *b) { - struct gaim_connection *c = NULL; - struct buddy *b = NULL; - - if (bs) { - /* I really only care about the first account. If they've got multiple - * accounts in here then, as eric would say, butt fuck them. */ - c = (struct gaim_connection *)bs->connlist->data; - - b = find_buddy(c, bs->name); - - if (!b) { - /* What the hell? */ - return; - } - - show_new_bp(bs->name, c, b->idle, b->uc & UC_UNAVAILABLE); - } else { + if (b) + show_new_bp(b->name, b->gc, b->idle, b->uc & UC_UNAVAILABLE); + else show_new_bp(NULL, NULL, 0, 0); - } } void do_bp_menu() |
From: Rob F. <rob...@us...> - 2001-10-21 19:49:23
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv19000 Modified Files: multi.c Log Message: I forgot to commit this file. This removes the warning when exiting. Index: multi.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/multi.c,v retrieving revision 1.95 retrieving revision 1.96 diff -u -d -r1.95 -r1.96 --- multi.c 2001/10/19 21:55:46 1.95 +++ multi.c 2001/10/21 19:49:20 1.96 @@ -1266,8 +1266,12 @@ #ifdef USE_APPLET set_user_state(offline); applet_buddy_show = FALSE; - applet_widget_unregister_callback(APPLET_WIDGET(applet), "signoff"); - remove_applet_away(); + + if (applet) { + /* These don't have any purpose if the applet is gone :-P */ + applet_widget_unregister_callback(APPLET_WIDGET(applet), "signoff"); + remove_applet_away(); + } #else show_login(); #endif /* USE_APPLET */ |
From: Rob F. <rob...@us...> - 2001-10-21 19:38:15
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv16810/src Modified Files: applet.c Log Message: Ho Hum Index: applet.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/applet.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- applet.c 2001/10/19 09:58:39 1.21 +++ applet.c 2001/10/21 19:38:13 1.22 @@ -60,6 +60,9 @@ double affine[6]; int r,g,b,i; + if (!applet) + return NULL; + cache = gdk_pixmap_new(applet->window, sizehint, sizehint, gtk_widget_get_visual(applet)->depth); gc = gdk_gc_new(cache); |
From: Rob F. <rob...@us...> - 2001-10-21 19:38:15
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv16810 Modified Files: ChangeLog Log Message: Ho Hum Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.332 retrieving revision 1.333 diff -u -d -r1.332 -r1.333 --- ChangeLog 2001/10/21 19:01:03 1.332 +++ ChangeLog 2001/10/21 19:38:12 1.333 @@ -12,6 +12,7 @@ selects "on away" or "on idle", if the user is away or idle. * Add Opera to the available browsers (thanks Brian Enigma) + * The applet no longer crashes when you remove it while signed on version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-21 19:01:08
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv9713/src Modified Files: prefs.c ui.h browser.c Log Message: Add Opera Browser Support (Thanks Brian Enigma) Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.186 retrieving revision 1.187 diff -u -d -r1.186 -r1.187 --- prefs.c 2001/10/19 08:39:48 1.186 +++ prefs.c 2001/10/21 19:01:03 1.187 @@ -279,6 +279,7 @@ gtk_widget_show(vbox); opt = browser_radio(_("KFM"), BROWSER_KFM, vbox, NULL); + opt = browser_radio(_("Opera"), BROWSER_OPERA, vbox, opt); opt = browser_radio(_("Netscape"), BROWSER_NETSCAPE, vbox, opt); new_window = Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- ui.h 2001/10/19 21:55:46 1.12 +++ ui.h 2001/10/21 19:01:03 1.13 @@ -42,6 +42,7 @@ #define BROWSER_MANUAL 2 /*#define BROWSER_INTERNAL 3*/ #define BROWSER_GNOME 4 +#define BROWSER_OPERA 5 #define FACE_ANGEL 0 #define FACE_BIGSMILE 1 Index: browser.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/browser.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- browser.c 2001/10/10 20:42:19 1.15 +++ browser.c 2001/10/21 19:01:03 1.16 @@ -589,6 +589,23 @@ } else { gtk_timeout_add(1000, (GtkFunction)clean_pid, NULL); } + } else if (web_browser == BROWSER_OPERA) { + pid_t pid; + + pid = fork(); + + if (pid == 0) { + char *args[4]; + args[0] = g_strdup("opera"); + args[1] = g_strdup("-newwindow"); + args[2] = url; + args[3] = NULL; + + execvp(args[0], args); + _exit(0); + } else { + gtk_timeout_add(1000, (GtkFunction)clean_pid, NULL); + } #ifdef USE_GNOME } else if (web_browser == BROWSER_GNOME) { gnome_url_show(url); |
From: Rob F. <rob...@us...> - 2001-10-21 19:01:07
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv9713 Modified Files: ChangeLog Log Message: Add Opera Browser Support (Thanks Brian Enigma) Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.331 retrieving revision 1.332 diff -u -d -r1.331 -r1.332 --- ChangeLog 2001/10/21 00:16:09 1.331 +++ ChangeLog 2001/10/21 19:01:03 1.332 @@ -11,6 +11,7 @@ * When creating a new buddy pounce, gaim now automagically selects "on away" or "on idle", if the user is away or idle. + * Add Opera to the available browsers (thanks Brian Enigma) version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-21 00:16:12
|
Update of /cvsroot/gaim/gaim In directory usw-pr-cvs1:/tmp/cvs-serv20885 Modified Files: ChangeLog Log Message: I forgot this file. Index: ChangeLog =================================================================== RCS file: /cvsroot/gaim/gaim/ChangeLog,v retrieving revision 1.330 retrieving revision 1.331 diff -u -d -r1.330 -r1.331 --- ChangeLog 2001/10/20 18:30:20 1.330 +++ ChangeLog 2001/10/21 00:16:09 1.331 @@ -8,6 +8,9 @@ * New buddy pounce option: Popup Notification * When adding a buddy, the groups list now updates when you switch accounts. + * When creating a new buddy pounce, gaim now automagically + selects "on away" or "on idle", if the user is away + or idle. version 0.46 (10/18/2001): * New applet icons (courtesy David Raeman) |
From: Rob F. <rob...@us...> - 2001-10-21 00:15:58
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv20823 Modified Files: buddy.c dialogs.c Log Message: Once upon a midnight dreary, robbie coded weak and weary... Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.254 retrieving revision 1.255 diff -u -d -r1.254 -r1.255 --- buddy.c 2001/10/19 21:57:09 1.254 +++ buddy.c 2001/10/21 00:15:55 1.255 @@ -91,9 +91,6 @@ void BuddyTickerLogonTimeout(gpointer data); void BuddyTickerLogoutTimeout(gpointer data); -/* Predefine some functions */ -static void new_bp_callback(GtkWidget *w, char *name); - struct buddy_show { GtkWidget *item; GtkWidget *pix; @@ -117,6 +114,8 @@ }; static GSList *shows = NULL; +/* Predefine some functions */ +static void new_bp_callback(GtkWidget *w, struct buddy_show *bs); static struct group_show *find_group_show(char *group); static struct buddy_show *find_buddy_show(struct group_show *gs, char *name); static int group_number(char *group); @@ -623,7 +622,7 @@ button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); gtk_signal_connect(GTK_OBJECT(button), "activate", - GTK_SIGNAL_FUNC(new_bp_callback), b->name); + GTK_SIGNAL_FUNC(new_bp_callback), b); gtk_menu_append(GTK_MENU(menu), button); gtk_widget_show(button); @@ -779,7 +778,7 @@ button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); gtk_signal_connect(GTK_OBJECT(button), "activate", - GTK_SIGNAL_FUNC(new_bp_callback), b->name); + GTK_SIGNAL_FUNC(new_bp_callback), b); gtk_menu_append(GTK_MENU(menu), button); gtk_widget_show(button); @@ -1508,9 +1507,27 @@ g_free(who); } -static void new_bp_callback(GtkWidget *w, char *name) +static void new_bp_callback(GtkWidget *w, struct buddy_show *bs) { - show_new_bp(name); + struct gaim_connection *c = NULL; + struct buddy *b = NULL; + + if (bs) { + /* I really only care about the first account. If they've got multiple + * accounts in here then, as eric would say, butt fuck them. */ + c = (struct gaim_connection *)bs->connlist->data; + + b = find_buddy(c, bs->name); + + if (!b) { + /* What the hell? */ + return; + } + + show_new_bp(bs->name, c, b->idle, b->uc & UC_UNAVAILABLE); + } else { + show_new_bp(NULL, NULL, 0, 0); + } } void do_bp_menu() Index: dialogs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v retrieving revision 1.265 retrieving revision 1.266 diff -u -d -r1.265 -r1.266 --- dialogs.c 2001/10/20 18:30:20 1.265 +++ dialogs.c 2001/10/21 00:15:55 1.266 @@ -1026,13 +1026,15 @@ b->user = u; } -static GtkWidget *pounce_user_menu(struct addbp *b) +static GtkWidget *pounce_user_menu(struct addbp *b, struct gaim_connection *gc) { GtkWidget *optmenu; GtkWidget *menu; GtkWidget *opt; GSList *u = aim_users; struct aim_user *a; + int count = 0; + int place = 0; optmenu = gtk_option_menu_new(); @@ -1051,13 +1053,19 @@ gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(pounce_choose), b); gtk_menu_append(GTK_MENU(menu), opt); gtk_widget_show(opt); + + if (a->gc == gc) { + gtk_menu_item_activate(GTK_MENU_ITEM(opt)); + place = count; + } + + count++; + u = u->next; } gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), - g_slist_index(aim_users, - ((struct gaim_connection *)connections->data)->user)); + gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), place); b->user = ((struct gaim_connection *)connections->data)->user; b->menu = optmenu; @@ -1066,7 +1074,7 @@ } -void show_new_bp(char *name) +void show_new_bp(char *name, struct gaim_connection *gc, int idle, int away) { GtkWidget *label; GtkWidget *bbox; @@ -1109,7 +1117,7 @@ gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_show(label); - optmenu = pounce_user_menu(b); + optmenu = pounce_user_menu(b, gc); gtk_table_attach(GTK_TABLE(table), optmenu, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_widget_show(optmenu); @@ -1144,10 +1152,14 @@ gtk_widget_show(b->p_signon); b->p_unaway = gtk_check_button_new_with_label(_("Pounce on return from away")); + if (away) + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unaway), TRUE); gtk_table_attach(GTK_TABLE(table), b->p_unaway, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_widget_show(b->p_unaway); b->p_unidle = gtk_check_button_new_with_label(_("Pounce on return from idle")); + if (idle) + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->p_unidle), TRUE); gtk_table_attach(GTK_TABLE(table), b->p_unidle, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show(b->p_unidle); |