comparison src/buddy.c @ 2564:552a56d334ec

[gaim-migrate @ 2577] Once upon a midnight dreary, robbie coded weak and weary... committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Sun, 21 Oct 2001 00:15:55 +0000
parents 0417ecaff0e5
children a714b8223228
comparison
equal deleted inserted replaced
2563:29d09f9ce85f 2564:552a56d334ec
89 GtkWidget *buddies; 89 GtkWidget *buddies;
90 90
91 void BuddyTickerLogonTimeout(gpointer data); 91 void BuddyTickerLogonTimeout(gpointer data);
92 void BuddyTickerLogoutTimeout(gpointer data); 92 void BuddyTickerLogoutTimeout(gpointer data);
93 93
94 /* Predefine some functions */
95 static void new_bp_callback(GtkWidget *w, char *name);
96
97 struct buddy_show { 94 struct buddy_show {
98 GtkWidget *item; 95 GtkWidget *item;
99 GtkWidget *pix; 96 GtkWidget *pix;
100 GtkWidget *label; 97 GtkWidget *label;
101 GtkWidget *warn; 98 GtkWidget *warn;
115 GSList *members; 112 GSList *members;
116 char *name; 113 char *name;
117 }; 114 };
118 static GSList *shows = NULL; 115 static GSList *shows = NULL;
119 116
117 /* Predefine some functions */
118 static void new_bp_callback(GtkWidget *w, struct buddy_show *bs);
120 static struct group_show *find_group_show(char *group); 119 static struct group_show *find_group_show(char *group);
121 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name); 120 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name);
122 static int group_number(char *group); 121 static int group_number(char *group);
123 static int buddy_number(char *group, char *buddy); 122 static int buddy_number(char *group, char *buddy);
124 static struct group_show *new_group_show(char *group); 123 static struct group_show *new_group_show(char *group);
621 gtk_menu_append(GTK_MENU(menu), button); 620 gtk_menu_append(GTK_MENU(menu), button);
622 gtk_widget_show(button); 621 gtk_widget_show(button);
623 622
624 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); 623 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce"));
625 gtk_signal_connect(GTK_OBJECT(button), "activate", 624 gtk_signal_connect(GTK_OBJECT(button), "activate",
626 GTK_SIGNAL_FUNC(new_bp_callback), b->name); 625 GTK_SIGNAL_FUNC(new_bp_callback), b);
627 gtk_menu_append(GTK_MENU(menu), button); 626 gtk_menu_append(GTK_MENU(menu), button);
628 gtk_widget_show(button); 627 gtk_widget_show(button);
629 628
630 button = gtk_menu_item_new_with_label(_("View Log")); 629 button = gtk_menu_item_new_with_label(_("View Log"));
631 gtk_signal_connect(GTK_OBJECT(button), "activate", 630 gtk_signal_connect(GTK_OBJECT(button), "activate",
777 gtk_menu_append(GTK_MENU(menu), button); 776 gtk_menu_append(GTK_MENU(menu), button);
778 gtk_widget_show(button); 777 gtk_widget_show(button);
779 778
780 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); 779 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce"));
781 gtk_signal_connect(GTK_OBJECT(button), "activate", 780 gtk_signal_connect(GTK_OBJECT(button), "activate",
782 GTK_SIGNAL_FUNC(new_bp_callback), b->name); 781 GTK_SIGNAL_FUNC(new_bp_callback), b);
783 gtk_menu_append(GTK_MENU(menu), button); 782 gtk_menu_append(GTK_MENU(menu), button);
784 gtk_widget_show(button); 783 gtk_widget_show(button);
785 784
786 button = gtk_menu_item_new_with_label(_("View Log")); 785 button = gtk_menu_item_new_with_label(_("View Log"));
787 gtk_signal_connect(GTK_OBJECT(button), "activate", 786 gtk_signal_connect(GTK_OBJECT(button), "activate",
1506 } 1505 }
1507 } 1506 }
1508 g_free(who); 1507 g_free(who);
1509 } 1508 }
1510 1509
1511 static void new_bp_callback(GtkWidget *w, char *name) 1510 static void new_bp_callback(GtkWidget *w, struct buddy_show *bs)
1512 { 1511 {
1513 show_new_bp(name); 1512 struct gaim_connection *c = NULL;
1513 struct buddy *b = NULL;
1514
1515 if (bs) {
1516 /* I really only care about the first account. If they've got multiple
1517 * accounts in here then, as eric would say, butt fuck them. */
1518 c = (struct gaim_connection *)bs->connlist->data;
1519
1520 b = find_buddy(c, bs->name);
1521
1522 if (!b) {
1523 /* What the hell? */
1524 return;
1525 }
1526
1527 show_new_bp(bs->name, c, b->idle, b->uc & UC_UNAVAILABLE);
1528 } else {
1529 show_new_bp(NULL, NULL, 0, 0);
1530 }
1514 } 1531 }
1515 1532
1516 void do_bp_menu() 1533 void do_bp_menu()
1517 { 1534 {
1518 GtkWidget *menuitem, *mess, *messmenu; 1535 GtkWidget *menuitem, *mess, *messmenu;