Mercurial > pidgin.yaz
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 |