| 48 GtkWidget *icon; |
48 GtkWidget *icon; |
| 49 } TickerData; |
49 } TickerData; |
| 50 |
50 |
| 51 GList *tickerbuds = NULL; |
51 GList *tickerbuds = NULL; |
| 52 |
52 |
| 53 /* for win32 compatability */ |
|
| 54 G_MODULE_IMPORT GSList *connections; |
|
| 55 |
|
| 56 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
53 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
| 57 GdkEventAny *event, gpointer data) { |
54 GdkEventAny *event, gpointer data) { |
| 58 if(window) |
55 if(window) |
| 59 gtk_widget_hide(window); |
56 gtk_widget_hide(window); |
| 60 |
57 |
| 194 else |
191 else |
| 195 buddy_ticker_add_buddy(b); |
192 buddy_ticker_add_buddy(b); |
| 196 } |
193 } |
| 197 |
194 |
| 198 void signoff_cb(GaimConnection *gc) { |
195 void signoff_cb(GaimConnection *gc) { |
| 199 if (!connections) { |
196 if (!gaim_connections_get_all()) { |
| 200 while(tickerbuds) { |
197 while(tickerbuds) { |
| 201 g_free(tickerbuds->data); |
198 g_free(tickerbuds->data); |
| 202 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
199 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
| 203 } |
200 } |
| 204 gtk_widget_destroy(tickerwindow); |
201 gtk_widget_destroy(tickerwindow); |
| 244 gaim_signal_connect(plugin, event_signoff, signoff_cb, NULL); |
241 gaim_signal_connect(plugin, event_signoff, signoff_cb, NULL); |
| 245 gaim_signal_connect(plugin, event_buddy_signoff, buddy_signoff_cb, NULL); |
242 gaim_signal_connect(plugin, event_buddy_signoff, buddy_signoff_cb, NULL); |
| 246 gaim_signal_connect(plugin, event_buddy_away, away_cb, NULL); |
243 gaim_signal_connect(plugin, event_buddy_away, away_cb, NULL); |
| 247 gaim_signal_connect(plugin, event_buddy_back, away_cb, NULL); |
244 gaim_signal_connect(plugin, event_buddy_back, away_cb, NULL); |
| 248 |
245 |
| 249 if (connections) |
246 if (gaim_connections_get_all()) |
| 250 buddy_ticker_show(); |
247 buddy_ticker_show(); |
| 251 |
248 |
| 252 return TRUE; |
249 return TRUE; |
| 253 } |
250 } |
| 254 |
251 |