From: Sean E. <sea...@us...> - 2002-05-29 00:24:44
|
Update of /cvsroot/gaim/gaim/src In directory usw-pr-cvs1:/tmp/cvs-serv23499/src Modified Files: buddy.c prefs.c ticker.c ui.h Log Message: Aliases in buddy ticker, inspired by Jeff Stuart. Index: buddy.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/buddy.c,v retrieving revision 1.314 retrieving revision 1.315 diff -u -d -r1.314 -r1.315 --- buddy.c 25 May 2002 18:58:24 -0000 1.314 +++ buddy.c 29 May 2002 00:24:41 -0000 1.315 @@ -300,6 +300,8 @@ } update_num_group(gs); } else { + if (misc_options & OPT_MISC_BUDDY_TICKER) + BuddyTickerSetAlias(b->name, b->show); gtk_label_set_text(GTK_LABEL(bs->label), b->show); update_idle_time(bs); } @@ -2313,7 +2315,7 @@ gtk_pixmap_set(GTK_PIXMAP(bs->pix), pm, bm); gtk_widget_show(bs->pix); if (misc_options & OPT_MISC_BUDDY_TICKER) { - BuddyTickerAddUser(b->name, pm, bm); + BuddyTickerAddUser(b->name, b->show, pm, bm); gtk_timeout_add(10000, (GtkFunction)BuddyTickerLogonTimeout, b->name); } gdk_pixmap_unref(pm); Index: prefs.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/prefs.c,v retrieving revision 1.223 retrieving revision 1.224 diff -u -d -r1.223 -r1.224 --- prefs.c 4 May 2002 04:20:42 -0000 1.223 +++ prefs.c 29 May 2002 00:24:41 -0000 1.224 @@ -965,7 +965,7 @@ gtk_widget_set_sensitive(opt, FALSE); gaim_button(_("Raise windows on events"), &im_options, OPT_IM_POPUP, vbox2); gaim_button(_("Show logins in window"), &im_options, OPT_IM_LOGON, vbox2); - gaim_button(_("Show aliases in tabs/titles"), &im_options, OPT_IM_ALIAS_TAB, vbox2); + gaim_button(_("Show aliases in tabs/titles/ticker"), &im_options, OPT_IM_ALIAS_TAB, vbox2); gaim_button(_("Hide window on send"), &im_options, OPT_IM_POPDOWN, vbox2); frame = gtk_frame_new(_("Window Sizes")); @@ -2750,8 +2750,10 @@ if (option == OPT_IM_HIDE_ICONS) set_hide_icons(); - if (option == OPT_IM_ALIAS_TAB) + if (option == OPT_IM_ALIAS_TAB) { set_convo_titles(); + BuddyTickerSetNames(); + } if (option == OPT_IM_NO_ANIMATION) set_anim(); Index: ticker.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/ticker.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ticker.c 2 Nov 2001 01:41:37 -0000 1.18 +++ ticker.c 29 May 2002 00:24:41 -0000 1.19 @@ -34,6 +34,7 @@ typedef struct { char buddy[ 128 ]; + char alias[ 388 ]; GtkWidget *hbox; GtkWidget *ebox; GtkWidget *label; @@ -46,7 +47,7 @@ void BuddyTickerDestroyWindow( GtkWidget *window ); void BuddyTickerCreateWindow( void ); -void BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm ); +void BuddyTickerAddUser( char *name, char *alias, GdkPixmap *pm, GdkBitmap *bm ); void BuddyTickerRemoveUser( char *name ); void BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm ); void BuddyTickerClearList( void ); @@ -66,7 +67,7 @@ userclose = TRUE; } -static char *msg = "Welcome to Gaim " VERSION ", brought to you by Rob Flynn (maintainer), Eric Warmenhoven, Mark Spencer, Jeramey Crawford, Jim Duchek, and Syd Logan"; +static char *msg = "Welcome to Gaim " VERSION ", brought to you by Rob Flynn (maintainer), Eric Warmenhoven, Mark Spencer, Jeramey Crawford, Jim Duchek, Syd Logan, and Sean Egan"; void BuddyTickerCreateWindow() @@ -109,7 +110,7 @@ } void -BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm ) +BuddyTickerAddUser( char *name, char *alias, GdkPixmap *pm, GdkBitmap *bm ) { TickerData *p; GList *q; @@ -128,6 +129,7 @@ p->label = (GtkWidget *) NULL; p->pix = (GtkWidget *) NULL; strcpy( p->buddy, name ); + strcpy( p->alias, alias); tickerbuds = g_list_append( tickerbuds, p ); p->hbox = gtk_hbox_new( FALSE, 0 ); @@ -147,7 +149,10 @@ gtk_box_pack_start_defaults( GTK_BOX( p->hbox ), p->ebox ); gtk_widget_show( p->ebox ); - p->label = gtk_label_new( name ); + if (im_options & OPT_IM_ALIAS_TAB) + p->label = gtk_label_new( alias ); + else + p->label = gtk_label_new( name ); gtk_container_add( GTK_CONTAINER(p->ebox), p->label ); gtk_widget_show( p->label ); @@ -198,6 +203,26 @@ gtk_widget_show( data->pix ); } +void +BuddyTickerSetAlias( char *name, char *alias) { + GList *p; + TickerData *data; + + if ( userclose == TRUE ) + return; + p = (GList *) BuddyTickerFindUser( name ); + if ( p ) + data = (TickerData *) p->data; + else + return; + if (alias) { + g_snprintf(data->alias, sizeof(data->alias), alias); + + if (im_options & OPT_IM_ALIAS_TAB) + gtk_label_set_text(GTK_LABEL(data->label), alias); + } +} + GList * BuddyTickerFindUser( char *name ) { @@ -212,6 +237,20 @@ return (GList *) NULL; } +void +BuddyTickerSetNames() +{ + GList *p = tickerbuds; + while ( p ) { + TickerData *q = (TickerData *) p->data; + if (im_options & OPT_IM_ALIAS_TAB) + gtk_label_set_text(GTK_LABEL(q->label), q->alias); + else + gtk_label_set_text(GTK_LABEL(q->label), q->buddy); + p = p->next; + } +} + int BuddyTickerMessageRemove( gpointer data ) { @@ -297,7 +336,7 @@ if (xpm == NULL) xpm = (char **)no_icon_xpm; pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm); - BuddyTickerAddUser( b->name, pm, bm ); + BuddyTickerAddUser( b->name, b->show, pm, bm ); } } } Index: ui.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/ui.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- ui.h 28 May 2002 08:00:27 -0000 1.38 +++ ui.h 29 May 2002 00:24:41 -0000 1.39 @@ -492,8 +492,10 @@ /* Fucntions in ticker.c */ void SetTickerPrefs(); void BuddyTickerSignOff(); -void BuddyTickerAddUser(char *, GdkPixmap *, GdkBitmap *); +void BuddyTickerAddUser(char *, char *, GdkPixmap *, GdkBitmap *); void BuddyTickerSetPixmap(char *, GdkPixmap *, GdkBitmap *); +void BuddyTickerSetAlias(char *, char *); +void BuddyTickerSetNames(); void BuddyTickerSignoff(); #endif /* _UI_H_ */ |