| 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 { |