plugins/ticker/ticker.c

changeset 8213
bd1b05f6c02e
parent 7100
cfa56fba1b19
child 8749
fb487e9e101a
equal deleted inserted replaced
8212:ba23de5af029 8213:bd1b05f6c02e
208 } 208 }
209 } 209 }
210 } 210 }
211 211
212 static void 212 static void
213 buddy_signon_cb(GaimBuddy *b)
214 {
215 if(buddy_ticker_find_buddy(b))
216 buddy_ticker_set_pixmap(b);
217 else
218 buddy_ticker_add_buddy(b);
219 }
220
221 static void
222 buddy_signoff_cb(GaimBuddy *b)
223 {
224 buddy_ticker_remove_buddy(b);
225 if(!tickerbuds)
226 gtk_widget_hide(tickerwindow);
227 }
228
229 static void
230 away_cb(GaimBuddy *b)
231 {
232 if(buddy_ticker_find_buddy(b))
233 buddy_ticker_set_pixmap(b);
234 else
235 buddy_ticker_add_buddy(b);
236 }
237
238 static void
213 signoff_cb(GaimConnection *gc) 239 signoff_cb(GaimConnection *gc)
214 { 240 {
215 TickerData *td; 241 TickerData *td;
216 if (!gaim_connections_get_all()) { 242 if (!gaim_connections_get_all()) {
217 while (tickerbuds) { 243 while (tickerbuds) {
228 GList *t = tickerbuds; 254 GList *t = tickerbuds;
229 while (t) { 255 while (t) {
230 td = t->data; 256 td = t->data;
231 t = t->next; 257 t = t->next;
232 if (td->buddy->account == gc->account) { 258 if (td->buddy->account == gc->account) {
233 tickerbuds = g_list_remove(tickerbuds, td); 259 buddy_signoff_cb(td->buddy);
234 if (td->timeout != 0)
235 g_source_remove(td->timeout);
236 g_free(td);
237 } 260 }
238 } 261 }
239 } 262 }
240 } 263 }
241 264
242 static void
243 buddy_signon_cb(GaimBuddy *b)
244 {
245 if(buddy_ticker_find_buddy(b))
246 buddy_ticker_set_pixmap(b);
247 else
248 buddy_ticker_add_buddy(b);
249 }
250
251 static void
252 buddy_signoff_cb(GaimBuddy *b)
253 {
254 buddy_ticker_remove_buddy(b);
255 if(!tickerbuds)
256 gtk_widget_hide(tickerwindow);
257 }
258
259 static void
260 away_cb(GaimBuddy *b)
261 {
262 if(buddy_ticker_find_buddy(b))
263 buddy_ticker_set_pixmap(b);
264 else
265 buddy_ticker_add_buddy(b);
266 }
267 265
268 /* 266 /*
269 * EXPORTED FUNCTIONS 267 * EXPORTED FUNCTIONS
270 */ 268 */
271 269

mercurial