Mercurial > pidgin
diff 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 |
line wrap: on
line diff
--- a/src/buddy.c Fri Jun 23 19:13:04 2000 +0000 +++ b/src/buddy.c Sat Jun 24 23:15:48 2000 +0000 @@ -84,6 +84,8 @@ GtkWidget *buddies; int permdeny; +void BuddyTickerLogonTimeout( gpointer data ); +void BuddyTickerLogoutTimeout( gpointer data ); /* Predefine some functions */ static void new_bp_callback(GtkWidget *w, char *name); @@ -908,7 +910,7 @@ gtk_signal_connect(GTK_OBJECT(b->item), "button_press_event", GTK_SIGNAL_FUNC(handle_click_buddy), b); - + return b; } @@ -1507,6 +1509,11 @@ if (display_options & OPT_DISP_SHOW_PIXMAPS) gtk_widget_show(b->pix); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)login_icon_xpm); + + BuddyTickerAddUser( b->name, pm, bm ); + if (display_options & OPT_DISP_SHOW_LOGON) { struct conversation *c = find_conversation(b->name); if (c) { @@ -1527,6 +1534,7 @@ gtk_widget_show(b->item); gtk_widget_show(b->label); b->log_timer = gtk_timeout_add(10000, (GtkFunction) log_timeout, b->name); + gtk_timeout_add(10000, (GtkFunction) BuddyTickerLogonTimeout, b->name); update_num_groups(); update_show_idlepix(); setup_buddy_chats(); @@ -1555,26 +1563,44 @@ pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)away_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)away_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } else if (b->uc & UC_AOL) { pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)aol_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)aol_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } else if (b->uc & UC_NORMAL) { pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)free_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)free_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } else if (b->uc & UC_ADMIN) { pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)admin_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)admin_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } else if (b->uc & UC_UNCONFIRMED) { pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)dt_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)dt_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } else { pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, (gchar **)no_icon_xpm); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)no_icon_xpm); + BuddyTickerSetPixmap(b->name, pm, bm); } if (display_options & OPT_DISP_SHOW_PIXMAPS) gtk_widget_show(b->pix); @@ -1603,6 +1629,9 @@ NULL, (gchar **)logout_icon_xpm); gtk_widget_hide(b->pix); gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); + pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, + NULL, (gchar **)logout_icon_xpm); + BuddyTickerSetPixmap( b->name, pm, bm ); if (display_options & OPT_DISP_SHOW_PIXMAPS) gtk_widget_show(b->pix); if (display_options & OPT_DISP_SHOW_LOGON) { @@ -1621,6 +1650,7 @@ } } b->log_timer = gtk_timeout_add(10000, (GtkFunction)log_timeout, b->name); + gtk_timeout_add(10000, (GtkFunction)BuddyTickerLogoutTimeout, b->name); update_num_groups(); update_show_idlepix(); }
