comparison src/buddy.c @ 430:0cd2ba801eb4

[gaim-migrate @ 440] First pass at a buddy ticker. committer: Tailor Script <tailor@pidgin.im>
author Syd Logan <slogan>
date Sat, 24 Jun 2000 23:15:48 +0000
parents 0d4e80bdb96b
children 5741dca6cc8a
comparison
equal deleted inserted replaced
429:ccf7fc40263f 430:0cd2ba801eb4
82 GtkWidget *blist = NULL; 82 GtkWidget *blist = NULL;
83 GtkWidget *bpmenu; 83 GtkWidget *bpmenu;
84 GtkWidget *buddies; 84 GtkWidget *buddies;
85 int permdeny; 85 int permdeny;
86 86
87 void BuddyTickerLogonTimeout( gpointer data );
88 void BuddyTickerLogoutTimeout( gpointer data );
87 89
88 /* Predefine some functions */ 90 /* Predefine some functions */
89 static void new_bp_callback(GtkWidget *w, char *name); 91 static void new_bp_callback(GtkWidget *w, char *name);
90 static void log_callback(GtkWidget *w, char *name); 92 static void log_callback(GtkWidget *w, char *name);
91 93
906 908
907 gtk_object_set_user_data(GTK_OBJECT(b->item), b); 909 gtk_object_set_user_data(GTK_OBJECT(b->item), b);
908 910
909 gtk_signal_connect(GTK_OBJECT(b->item), "button_press_event", 911 gtk_signal_connect(GTK_OBJECT(b->item), "button_press_event",
910 GTK_SIGNAL_FUNC(handle_click_buddy), b); 912 GTK_SIGNAL_FUNC(handle_click_buddy), b);
911 913
912 return b; 914 return b;
913 } 915 }
914 916
915 917
916 struct group *add_group(char *group) 918 struct group *add_group(char *group)
1505 gtk_widget_hide(b->pix); 1507 gtk_widget_hide(b->pix);
1506 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1508 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1507 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1509 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1508 gtk_widget_show(b->pix); 1510 gtk_widget_show(b->pix);
1509 1511
1512 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1513 NULL, (gchar **)login_icon_xpm);
1514
1515 BuddyTickerAddUser( b->name, pm, bm );
1516
1510 if (display_options & OPT_DISP_SHOW_LOGON) { 1517 if (display_options & OPT_DISP_SHOW_LOGON) {
1511 struct conversation *c = find_conversation(b->name); 1518 struct conversation *c = find_conversation(b->name);
1512 if (c) { 1519 if (c) {
1513 char tmp[1024]; 1520 char tmp[1024];
1514 1521
1525 1532
1526 1533
1527 gtk_widget_show(b->item); 1534 gtk_widget_show(b->item);
1528 gtk_widget_show(b->label); 1535 gtk_widget_show(b->label);
1529 b->log_timer = gtk_timeout_add(10000, (GtkFunction) log_timeout, b->name); 1536 b->log_timer = gtk_timeout_add(10000, (GtkFunction) log_timeout, b->name);
1537 gtk_timeout_add(10000, (GtkFunction) BuddyTickerLogonTimeout, b->name);
1530 update_num_groups(); 1538 update_num_groups();
1531 update_show_idlepix(); 1539 update_show_idlepix();
1532 setup_buddy_chats(); 1540 setup_buddy_chats();
1533 return; 1541 return;
1534 } 1542 }
1553 } 1561 }
1554 #endif 1562 #endif
1555 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1563 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1556 NULL, (gchar **)away_icon_xpm); 1564 NULL, (gchar **)away_icon_xpm);
1557 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1565 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1566 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1567 NULL, (gchar **)away_icon_xpm);
1568 BuddyTickerSetPixmap(b->name, pm, bm);
1558 } else if (b->uc & UC_AOL) { 1569 } else if (b->uc & UC_AOL) {
1559 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1570 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1560 NULL, (gchar **)aol_icon_xpm); 1571 NULL, (gchar **)aol_icon_xpm);
1561 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1572 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1573 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1574 NULL, (gchar **)aol_icon_xpm);
1575 BuddyTickerSetPixmap(b->name, pm, bm);
1562 } else if (b->uc & UC_NORMAL) { 1576 } else if (b->uc & UC_NORMAL) {
1563 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1577 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1564 NULL, (gchar **)free_icon_xpm); 1578 NULL, (gchar **)free_icon_xpm);
1565 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1579 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1580 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1581 NULL, (gchar **)free_icon_xpm);
1582 BuddyTickerSetPixmap(b->name, pm, bm);
1566 } else if (b->uc & UC_ADMIN) { 1583 } else if (b->uc & UC_ADMIN) {
1567 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1584 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1568 NULL, (gchar **)admin_icon_xpm); 1585 NULL, (gchar **)admin_icon_xpm);
1569 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1586 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1587 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1588 NULL, (gchar **)admin_icon_xpm);
1589 BuddyTickerSetPixmap(b->name, pm, bm);
1570 } else if (b->uc & UC_UNCONFIRMED) { 1590 } else if (b->uc & UC_UNCONFIRMED) {
1571 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1591 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1572 NULL, (gchar **)dt_icon_xpm); 1592 NULL, (gchar **)dt_icon_xpm);
1573 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1593 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1594 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1595 NULL, (gchar **)dt_icon_xpm);
1596 BuddyTickerSetPixmap(b->name, pm, bm);
1574 } else { 1597 } else {
1575 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1598 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1576 NULL, (gchar **)no_icon_xpm); 1599 NULL, (gchar **)no_icon_xpm);
1577 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1600 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1601 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1602 NULL, (gchar **)no_icon_xpm);
1603 BuddyTickerSetPixmap(b->name, pm, bm);
1578 } 1604 }
1579 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1605 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1580 gtk_widget_show(b->pix); 1606 gtk_widget_show(b->pix);
1581 } 1607 }
1582 1608
1601 play_sound(BUDDY_LEAVE); 1627 play_sound(BUDDY_LEAVE);
1602 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, 1628 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1603 NULL, (gchar **)logout_icon_xpm); 1629 NULL, (gchar **)logout_icon_xpm);
1604 gtk_widget_hide(b->pix); 1630 gtk_widget_hide(b->pix);
1605 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); 1631 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm);
1632 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm,
1633 NULL, (gchar **)logout_icon_xpm);
1634 BuddyTickerSetPixmap( b->name, pm, bm );
1606 if (display_options & OPT_DISP_SHOW_PIXMAPS) 1635 if (display_options & OPT_DISP_SHOW_PIXMAPS)
1607 gtk_widget_show(b->pix); 1636 gtk_widget_show(b->pix);
1608 if (display_options & OPT_DISP_SHOW_LOGON) { 1637 if (display_options & OPT_DISP_SHOW_LOGON) {
1609 struct conversation *c = find_conversation(b->name); 1638 struct conversation *c = find_conversation(b->name);
1610 if (c) { 1639 if (c) {
1619 write_to_conv(c, tmp, WFLAG_SYSTEM); 1648 write_to_conv(c, tmp, WFLAG_SYSTEM);
1620 1649
1621 } 1650 }
1622 } 1651 }
1623 b->log_timer = gtk_timeout_add(10000, (GtkFunction)log_timeout, b->name); 1652 b->log_timer = gtk_timeout_add(10000, (GtkFunction)log_timeout, b->name);
1653 gtk_timeout_add(10000, (GtkFunction)BuddyTickerLogoutTimeout, b->name);
1624 update_num_groups(); 1654 update_num_groups();
1625 update_show_idlepix(); 1655 update_show_idlepix();
1626 } 1656 }
1627 } 1657 }
1628 setup_buddy_chats(); 1658 setup_buddy_chats();