comparison src/buddy.c @ 1039:67ed2ee5be9f

[gaim-migrate @ 1049] AOL is doing funny things.... committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 31 Oct 2000 19:34:57 +0000
parents 1c663beef29d
children ece2d1543b20
comparison
equal deleted inserted replaced
1038:daad2440a642 1039:67ed2ee5be9f
86 void BuddyTickerLogonTimeout( gpointer data ); 86 void BuddyTickerLogonTimeout( gpointer data );
87 void BuddyTickerLogoutTimeout( gpointer data ); 87 void BuddyTickerLogoutTimeout( gpointer data );
88 88
89 /* Predefine some functions */ 89 /* Predefine some functions */
90 static void new_bp_callback(GtkWidget *w, char *name); 90 static void new_bp_callback(GtkWidget *w, char *name);
91 static void log_callback(GtkWidget *w, char *name);
92 91
93 /* stuff for actual display of buddy list */ 92 /* stuff for actual display of buddy list */
94 struct group_show { 93 struct group_show {
95 GtkWidget *item; 94 GtkWidget *item;
96 GtkWidget *label; 95 GtkWidget *label;
96 GtkWidget *count;
97 GtkWidget *tree; 97 GtkWidget *tree;
98 GSList *members; 98 GSList *members;
99 char *name; 99 char *name;
100 }; 100 };
101 static GSList *shows = NULL; 101 static GSList *shows = NULL;
1083 } 1083 }
1084 1084
1085 static void new_bp_callback(GtkWidget *w, char *name) 1085 static void new_bp_callback(GtkWidget *w, char *name)
1086 { 1086 {
1087 show_new_bp(name); 1087 show_new_bp(name);
1088 }
1089
1090 static void log_callback(GtkWidget *w, char *name)
1091 {
1092 struct conversation *c = find_conversation(name);
1093
1094 if (find_log_info(name))
1095 {
1096 if (c) {
1097 set_state_lock(1);
1098 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->log_button), FALSE);
1099 set_state_lock(0);
1100 }
1101 rm_log(find_log_info(name));
1102 }
1103 else
1104 {
1105 if (c) {
1106 show_log_dialog(c);
1107 set_state_lock(1);
1108 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->log_button), TRUE);
1109 set_state_lock(0);
1110 }
1111 }
1112 } 1088 }
1113 1089
1114 void do_bp_menu() 1090 void do_bp_menu()
1115 { 1091 {
1116 GtkWidget *menuitem, *mess, *messmenu; 1092 GtkWidget *menuitem, *mess, *messmenu;
1431 return FALSE; 1407 return FALSE;
1432 } 1408 }
1433 1409
1434 void set_buddy(struct gaim_connection *gc, struct buddy *b) 1410 void set_buddy(struct gaim_connection *gc, struct buddy *b)
1435 { 1411 {
1436 time_t t;
1437 struct group *g = find_group_by_buddy(gc, b->name); 1412 struct group *g = find_group_by_buddy(gc, b->name);
1438 struct group_show *gs; 1413 struct group_show *gs;
1439 struct buddy_show *bs; 1414 struct buddy_show *bs;
1440 GdkPixmap *pm; 1415 GdkPixmap *pm;
1441 GdkBitmap *bm; 1416 GdkBitmap *bm;
1445 gs = new_group_show(g->name); 1420 gs = new_group_show(g->name);
1446 if ((bs = find_buddy_show(gs, b->name)) == NULL) 1421 if ((bs = find_buddy_show(gs, b->name)) == NULL)
1447 bs = new_buddy_show(gs, b); 1422 bs = new_buddy_show(gs, b);
1448 if (b->present == 1) { 1423 if (b->present == 1) {
1449 play_sound(BUDDY_ARRIVE); 1424 play_sound(BUDDY_ARRIVE);
1425 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1426 NULL, (char **)login_icon_xpm);
1427 gtk_widget_hide(bs->pix);
1428 gtk_pixmap_set(GTK_PIXMAP(bs->pix), pm, bm);
1429 gtk_widget_show(bs->pix);
1430 if (ticker_prefs & OPT_DISP_SHOW_BUDDYTICKER)
1431 BuddyTickerSetPixmap(b->name, pm, bm);
1432 gdk_pixmap_unref(pm);
1433 gdk_bitmap_unref(bm);
1450 b->present = 2; 1434 b->present = 2;
1451 if (bs->log_timer > 0) 1435 if (bs->log_timer > 0)
1452 gtk_timeout_remove(bs->log_timer); 1436 gtk_timeout_remove(bs->log_timer);
1453 if (!g_slist_find(bs->connlist, gc)) 1437 if (!g_slist_find(bs->connlist, gc))
1454 bs->connlist = g_slist_append(bs->connlist, gc); 1438 bs->connlist = g_slist_append(bs->connlist, gc);