comparison src/ticker.c @ 436:7d5f91c1ff20

[gaim-migrate @ 446] Add preference for showing/hiding the ticker. committer: Tailor Script <tailor@pidgin.im>
author Syd Logan <slogan>
date Sun, 25 Jun 2000 02:42:11 +0000
parents 634b93c7a473
children 881f5d538f15
comparison
equal deleted inserted replaced
435:feff1ae9d8da 436:7d5f91c1ff20
46 void BuddyTickerClearList( void ); 46 void BuddyTickerClearList( void );
47 void BuddyTickerSignOff( void ); 47 void BuddyTickerSignOff( void );
48 GList * BuddyTickerFindUser( char *name ); 48 GList * BuddyTickerFindUser( char *name );
49 int BuddyTickerMessageRemove( gpointer data ); 49 int BuddyTickerMessageRemove( gpointer data );
50 50
51 // this pref is startup only, so make a shadow here of settings at startup
52 // code uses this variable, not display_prefs
53
54 extern int display_options;
55 int ticker_prefs;
56
57 void
58 SetTickerPrefs( void )
59 {
60 ticker_prefs = display_options;
61 }
62
51 void 63 void
52 BuddyTickerDestroyWindow( GtkWidget *window ) 64 BuddyTickerDestroyWindow( GtkWidget *window )
53 { 65 {
54 BuddyTickerClearList(); 66 BuddyTickerClearList();
55 gtk_ticker_stop_scroll( GTK_TICKER( ticker ) ); 67 gtk_ticker_stop_scroll( GTK_TICKER( ticker ) );
93 TickerData *p; 105 TickerData *p;
94 GList *q; 106 GList *q;
95 107
96 if ( userclose == TRUE ) 108 if ( userclose == TRUE )
97 return; 109 return;
110
111 BuddyTickerCreateWindow();
112
98 q = (GList *) BuddyTickerFindUser( name ); 113 q = (GList *) BuddyTickerFindUser( name );
99 if ( q != (GList *) NULL ) 114 if ( q != (GList *) NULL )
100 return; 115 return;
101 116
102 BuddyTickerCreateWindow();
103 p = (TickerData *) malloc( sizeof( TickerData ) ); 117 p = (TickerData *) malloc( sizeof( TickerData ) );
104 p->hbox = (GtkWidget *) NULL; 118 p->hbox = (GtkWidget *) NULL;
105 p->label = (GtkWidget *) NULL; 119 p->label = (GtkWidget *) NULL;
106 p->pix = (GtkWidget *) NULL; 120 p->pix = (GtkWidget *) NULL;
107 strcpy( p->buddy, name ); 121 strcpy( p->buddy, name );
142 TickerData *data; 156 TickerData *data;
143 157
144 if ( userclose == TRUE ) 158 if ( userclose == TRUE )
145 return; 159 return;
146 p = (GList *) BuddyTickerFindUser( name ); 160 p = (GList *) BuddyTickerFindUser( name );
147 data = (TickerData *) p->data; 161 if ( p )
162 data = (TickerData *) p->data;
163 else
164 return;
148 if ( data->pix == (GtkWidget *) NULL ) { 165 if ( data->pix == (GtkWidget *) NULL ) {
149 data->pix = gtk_pixmap_new( pm, bm ); 166 data->pix = gtk_pixmap_new( pm, bm );
150 gtk_box_pack_start_defaults( GTK_BOX( data->hbox ), data->pix ); 167 gtk_box_pack_start_defaults( GTK_BOX( data->hbox ), data->pix );
151 } else { 168 } else {
152 gtk_widget_hide( data->pix ); 169 gtk_widget_hide( data->pix );
202 GList *p = tickerbuds; 219 GList *p = tickerbuds;
203 TickerData *q; 220 TickerData *q;
204 221
205 while ( p ) { 222 while ( p ) {
206 q = (TickerData *) p->data; 223 q = (TickerData *) p->data;
207 BuddyTickerRemoveUser( q->buddy ); 224 if ( q )
225 BuddyTickerRemoveUser( q->buddy );
208 p = tickerbuds; 226 p = tickerbuds;
209 } 227 }
210 userclose = FALSE; 228 userclose = FALSE;
211 gtk_widget_hide( tickerwindow ); 229 gtk_widget_hide( tickerwindow );
212 } 230 }
213 231
214 void 232 void
215 BuddyTickerClearList( void ) 233 BuddyTickerClearList( void )
216 { 234 {
217 GList *p = tickerbuds; 235 GList *p = tickerbuds;
218 TickerData *q; 236
219 237 while ( p )
220 while ( p ) {
221 q = (TickerData *) p->data;
222 p = g_list_remove( p, p->data ); 238 p = g_list_remove( p, p->data );
223 }
224 tickerbuds = (GList *) NULL; 239 tickerbuds = (GList *) NULL;
225 } 240 }
226 241
227 242