src/ticker.c

changeset 3278
f420132265d9
parent 2662
9201ea07c91e
--- a/src/ticker.c	Tue May 28 08:40:48 2002 +0000
+++ b/src/ticker.c	Wed May 29 00:24:41 2002 +0000
@@ -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 );
 				}
 			}
 		}

mercurial