comparison src/ticker.c @ 433:f82e84386fdf

[gaim-migrate @ 443] Something for our egos. committer: Tailor Script <tailor@pidgin.im>
author Syd Logan <slogan>
date Sun, 25 Jun 2000 00:57:30 +0000
parents 5741dca6cc8a
children 634b93c7a473
comparison
equal deleted inserted replaced
432:5741dca6cc8a 433:f82e84386fdf
34 GtkWidget *pix; 34 GtkWidget *pix;
35 } TickerData; 35 } TickerData;
36 36
37 static GList *tickerbuds = (GList *) NULL; 37 static GList *tickerbuds = (GList *) NULL;
38 static gboolean userclose = FALSE; 38 static gboolean userclose = FALSE;
39 static GtkWidget *msgw;
39 40
40 void BuddyTickerDestroyWindow( GtkWidget *window ); 41 void BuddyTickerDestroyWindow( GtkWidget *window );
41 void BuddyTickerCreateWindow( void ); 42 void BuddyTickerCreateWindow( void );
42 void BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm ); 43 void BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm );
43 void BuddyTickerRemoveUser( char *name ); 44 void BuddyTickerRemoveUser( char *name );
44 void BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm ); 45 void BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm );
45 void BuddyTickerClearList( void ); 46 void BuddyTickerClearList( void );
46 void BuddyTickerSignOff( void ); 47 void BuddyTickerSignOff( void );
47 GList * BuddyTickerFindUser( char *name ); 48 GList * BuddyTickerFindUser( char *name );
49 int BuddyTickerMessageRemove( gpointer data );
48 50
49 void 51 void
50 BuddyTickerDestroyWindow( GtkWidget *window ) 52 BuddyTickerDestroyWindow( GtkWidget *window )
51 { 53 {
52 BuddyTickerClearList(); 54 BuddyTickerClearList();
54 gtk_widget_destroy( window ); 56 gtk_widget_destroy( window );
55 ticker = tickerwindow = (GtkWidget *) NULL; 57 ticker = tickerwindow = (GtkWidget *) NULL;
56 userclose = TRUE; 58 userclose = TRUE;
57 } 59 }
58 60
61 static char *msg = "Welcome to GAIM 0.9.20, brought to you by Rob Flynn (maintainer), Eric Warmenhoven, Mark Spencer, Jeramey Crawford, Jim Duchek, and Syd Logan";
62
59 void 63 void
60 BuddyTickerCreateWindow() 64 BuddyTickerCreateWindow()
61 { 65 {
62 if ( tickerwindow != (GtkWidget *) NULL ) 66 if ( tickerwindow != (GtkWidget *) NULL )
63 return; 67 return;
64 tickerwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL); 68 tickerwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
65 gtk_signal_connect (GTK_OBJECT(tickerwindow), "destroy", 69 gtk_signal_connect (GTK_OBJECT(tickerwindow), "destroy",
66 GTK_SIGNAL_FUNC (BuddyTickerDestroyWindow), "WM destroy"); 70 GTK_SIGNAL_FUNC (BuddyTickerDestroyWindow), "WM destroy");
67 gtk_window_set_title (GTK_WINDOW(tickerwindow), "Buddy Ticker"); 71 gtk_window_set_title (GTK_WINDOW(tickerwindow), "GAIM - Buddy Ticker");
68 72
69 ticker = gtk_ticker_new(); 73 ticker = gtk_ticker_new();
74 gtk_ticker_set_spacing( GTK_TICKER( ticker ), 20 );
75 gtk_widget_set_usize( ticker, 500, -1 );
70 gtk_container_add( GTK_CONTAINER( tickerwindow ), ticker ); 76 gtk_container_add( GTK_CONTAINER( tickerwindow ), ticker );
71 gtk_ticker_set_spacing( GTK_TICKER( ticker ), 20 );
72 gtk_widget_set_usize( ticker, 200, -1 );
73 gtk_widget_show (ticker);
74
75 gtk_ticker_set_interval( GTK_TICKER( ticker ), 500 ); 77 gtk_ticker_set_interval( GTK_TICKER( ticker ), 500 );
76 gtk_ticker_set_scootch( GTK_TICKER( ticker ), 10 ); 78 gtk_ticker_set_scootch( GTK_TICKER( ticker ), 10 );
79 msgw = gtk_label_new( msg );
80 gtk_ticker_add( GTK_TICKER( ticker ), msgw );
77 gtk_ticker_start_scroll( GTK_TICKER( ticker ) ); 81 gtk_ticker_start_scroll( GTK_TICKER( ticker ) );
82
83 gtk_timeout_add( 60000, BuddyTickerMessageRemove, (gpointer) NULL );
84
85 gtk_widget_show_all (ticker);
86
78 } 87 }
79 88
80 void 89 void
81 BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm ) 90 BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm )
82 { 91 {
159 } 168 }
160 return (GList *) NULL; 169 return (GList *) NULL;
161 } 170 }
162 171
163 int 172 int
173 BuddyTickerMessageRemove( gpointer data )
174 {
175 if ( userclose == TRUE )
176 return;
177 gtk_ticker_remove( GTK_TICKER( ticker ), msgw );
178 return FALSE;
179 }
180
181 int
164 BuddyTickerLogonTimeout( gpointer data ) 182 BuddyTickerLogonTimeout( gpointer data )
165 { 183 {
166 // XXX
167
168 return FALSE; 184 return FALSE;
169 } 185 }
170 186
171 int 187 int
172 BuddyTickerLogoutTimeout( gpointer data ) 188 BuddyTickerLogoutTimeout( gpointer data )