Mercurial > pidgin
annotate plugins/ticker/ticker.c @ 6371:8f94cce8faa5
[gaim-migrate @ 6876]
I think I touched almost every file. Here's what happened.
I started off fixing up the Makefile.am and configure.ac files to help with
the core/UI split some. Then I got annoyed with the
build_{allow,deny}_list() functions that everything used, and decided to
core/UI split privacy. While doing that, I decided to redesign the dialog.
So now, a lot has changed, but not really so much. Just that most files
got affected.
Oh yeah, and the UI stuff was taken out of internal.h and moved to
gtkinternal.h. If you use this, please be aware of this change.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 05 Aug 2003 10:55:04 +0000 |
parents | 914f2d5da21c |
children | 70d5122bc3ff |
rev | line source |
---|---|
6122 | 1 /* |
2 * Gaim Ticker Plugin | |
3 * The line below doesn't apply at all, does it? It should be Syd, Sean, and | |
4 * maybe Nathan, I believe. | |
3391 | 5 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald |
6 * | |
7 * This library is free software; you can redistribute it and/or | |
8 * modify it under the terms of the GNU Library General Public | |
9 * License as published by the Free Software Foundation; either | |
10 * version 2 of the License, or (at your option) any later version. | |
11 * | |
12 * This library is distributed in the hope that it will be useful, | |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 * Library General Public License for more details. | |
16 * | |
17 * You should have received a copy of the GNU Library General Public | |
18 * License along with this library; if not, write to the | |
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 * Boston, MA 02111-1307, USA. | |
21 */ | |
22 | |
23 /* | |
24 * ticker.c -- Syd Logan, Summer 2000 | |
25 * pluginized- Sean Egan, Summer 2002 | |
26 */ | |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
27 #include "internal.h" |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6122
diff
changeset
|
28 #include "gtkinternal.h" |
3391 | 29 |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
30 #include "blist.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
31 #include "conversation.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
32 #include "debug.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
33 #include "prpl.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
34 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
35 #include "gtkblist.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
36 #include "gtkplugin.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
37 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
38 #include "gtkticker.h" |
3391 | 39 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
40 #define TICKER_PLUGIN_ID "gtk-ticker" |
3867 | 41 |
3391 | 42 static GtkWidget *tickerwindow = NULL; |
43 static GtkWidget *ticker; | |
44 | |
45 typedef struct { | |
5170 | 46 struct buddy *buddy; |
3391 | 47 GtkWidget *ebox; |
48 GtkWidget *label; | |
5170 | 49 GtkWidget *icon; |
6122 | 50 guint timeout; |
3391 | 51 } TickerData; |
52 | |
5170 | 53 GList *tickerbuds = NULL; |
3391 | 54 |
5172 | 55 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
56 GdkEventAny *event, gpointer data) { | |
57 if(window) | |
58 gtk_widget_hide(window); | |
59 | |
60 return TRUE; /* don't actually destroy the window */ | |
3391 | 61 } |
62 | |
5170 | 63 static void buddy_ticker_create_window() { |
64 if(tickerwindow) { | |
65 gtk_widget_show(tickerwindow); | |
66 return; | |
67 } | |
3391 | 68 |
5170 | 69 tickerwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
5286 | 70 gtk_window_set_default_size(GTK_WINDOW(tickerwindow), 500, -1); |
5172 | 71 g_signal_connect(G_OBJECT(tickerwindow), "delete_event", |
5170 | 72 G_CALLBACK (buddy_ticker_destroy_window), NULL); |
73 gtk_window_set_title (GTK_WINDOW(tickerwindow), _("Buddy Ticker")); | |
4850 | 74 gtk_window_set_role (GTK_WINDOW(tickerwindow), "ticker"); |
3391 | 75 |
4850 | 76 ticker = gtk_ticker_new(); |
5170 | 77 gtk_ticker_set_spacing(GTK_TICKER(ticker), 20); |
78 gtk_container_add(GTK_CONTAINER(tickerwindow), ticker); | |
79 gtk_ticker_set_interval(GTK_TICKER(ticker), 500); | |
80 gtk_ticker_set_scootch(GTK_TICKER(ticker), 10); | |
81 gtk_ticker_start_scroll(GTK_TICKER(ticker)); | |
5286 | 82 gtk_widget_set_size_request(ticker, 1, -1); |
3391 | 83 |
5170 | 84 gtk_widget_show_all(tickerwindow); |
3391 | 85 } |
86 | |
5170 | 87 static gboolean buddy_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { |
88 struct buddy *b = user_data; | |
4850 | 89 |
5170 | 90 gaim_conversation_new(GAIM_CONV_IM, b->account, b->name); |
3391 | 91 return TRUE; |
92 } | |
93 | |
5170 | 94 static TickerData *buddy_ticker_find_buddy(struct buddy *b) { |
95 GList *tb; | |
96 for(tb = tickerbuds; tb; tb = tb->next) { | |
97 TickerData *td = tb->data; | |
98 if(td->buddy == b) | |
99 return td; | |
100 } | |
101 return NULL; | |
102 } | |
103 | |
104 static void buddy_ticker_set_pixmap(struct buddy *b) { | |
105 TickerData *td = buddy_ticker_find_buddy(b); | |
106 GdkPixbuf *pixbuf; | |
3391 | 107 |
5170 | 108 if(!td) |
3391 | 109 return; |
5170 | 110 |
111 if(!td->icon) | |
112 td->icon = gtk_image_new(); | |
3391 | 113 |
5234 | 114 pixbuf = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b, |
115 GAIM_STATUS_ICON_SMALL); | |
5170 | 116 gtk_image_set_from_pixbuf(GTK_IMAGE(td->icon), pixbuf); |
117 g_object_unref(G_OBJECT(pixbuf)); | |
118 } | |
119 | |
6122 | 120 static gboolean buddy_ticker_set_pixmap_cb(gpointer data) { |
121 TickerData *td = data; | |
122 | |
123 gaim_debug(GAIM_DEBUG_ERROR, "XXX", "we're updating the pixmap, you bitch\n"); | |
124 buddy_ticker_set_pixmap(td->buddy); | |
125 td->timeout = 0; | |
126 | |
127 return FALSE; | |
128 } | |
129 | |
5170 | 130 static void buddy_ticker_add_buddy(struct buddy *b) { |
131 GtkWidget *hbox; | |
132 TickerData *td; | |
133 | |
134 buddy_ticker_create_window(); | |
5172 | 135 |
3391 | 136 if (!ticker) |
137 return; | |
138 | |
6122 | 139 if (buddy_ticker_find_buddy(b)) |
3391 | 140 return; |
141 | |
5170 | 142 td = g_new0(TickerData, 1); |
143 td->buddy = b; | |
144 tickerbuds = g_list_append(tickerbuds, td); | |
3391 | 145 |
5170 | 146 td->ebox = gtk_event_box_new(); |
147 gtk_ticker_add(GTK_TICKER(ticker), td->ebox); | |
148 hbox = gtk_hbox_new(FALSE, 0); | |
149 gtk_container_add(GTK_CONTAINER(td->ebox), hbox); | |
150 buddy_ticker_set_pixmap(b); | |
151 gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 5); | |
3391 | 152 |
5170 | 153 g_signal_connect(G_OBJECT(td->ebox), "button-press-event", |
154 G_CALLBACK(buddy_click_cb), b); | |
3391 | 155 |
5170 | 156 td->label = gtk_label_new(gaim_get_buddy_alias(b)); |
157 gtk_box_pack_start(GTK_BOX(hbox), td->label, FALSE, FALSE, 5); | |
158 | |
159 gtk_widget_show_all(td->ebox); | |
160 gtk_widget_show(tickerwindow); | |
6122 | 161 |
162 /* | |
163 * Update the icon in a few seconds (after the open door icon has | |
164 * changed). This is somewhat ugly. | |
165 */ | |
166 td->timeout = g_timeout_add(11000, buddy_ticker_set_pixmap_cb, td); | |
3391 | 167 } |
168 | |
5170 | 169 static void buddy_ticker_remove_buddy(struct buddy *b) { |
170 TickerData *td = buddy_ticker_find_buddy(b); | |
3391 | 171 |
5170 | 172 if (!td) |
173 return; | |
3391 | 174 |
5172 | 175 /* pop up the ticker window again */ |
176 buddy_ticker_create_window(); | |
177 | |
5170 | 178 gtk_ticker_remove(GTK_TICKER(ticker), td->ebox); |
179 tickerbuds = g_list_remove(tickerbuds, td); | |
6122 | 180 if (td->timeout != 0) |
181 g_source_remove(td->timeout); | |
5170 | 182 g_free(td); |
3391 | 183 } |
184 | |
5170 | 185 static void buddy_ticker_show() |
3391 | 186 { |
5170 | 187 struct gaim_buddy_list *list = gaim_get_blist(); |
188 GaimBlistNode *gnode, *bnode; | |
189 struct buddy *b; | |
3391 | 190 |
5170 | 191 if(!list) |
192 return; | |
3391 | 193 |
5170 | 194 for(gnode = list->root; gnode; gnode = gnode->next) { |
195 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
196 continue; | |
197 for(bnode = gnode->child; bnode; bnode = bnode->next) { | |
198 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
199 continue; | |
200 b = (struct buddy *)bnode; | |
201 if(GAIM_BUDDY_IS_ONLINE(b)) | |
202 buddy_ticker_add_buddy(b); | |
3391 | 203 } |
204 } | |
205 } | |
206 | |
6122 | 207 void signoff_cb(GaimConnection *gc) { |
208 TickerData *td; | |
209 if (!gaim_connections_get_all()) { | |
210 while (tickerbuds) { | |
211 td = tickerbuds->data; | |
212 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); | |
213 if (td->timeout != 0) | |
214 g_source_remove(td->timeout); | |
215 g_free(td); | |
216 } | |
217 gtk_widget_destroy(tickerwindow); | |
218 tickerwindow = NULL; | |
219 ticker = NULL; | |
220 } else { | |
221 GList *t = tickerbuds; | |
222 while (t) { | |
223 td = t->data; | |
224 t = t->next; | |
225 if (td->buddy->account == gc->account) { | |
226 tickerbuds = g_list_remove(tickerbuds, td); | |
227 if (td->timeout != 0) | |
228 g_source_remove(td->timeout); | |
229 g_free(td); | |
230 } | |
231 } | |
232 } | |
233 } | |
234 | |
235 void buddy_signon_cb(GaimConnection *gc, char *who) { | |
4850 | 236 struct buddy *b = gaim_find_buddy(gc->account, who); |
5170 | 237 if(buddy_ticker_find_buddy(b)) |
238 buddy_ticker_set_pixmap(b); | |
239 else | |
240 buddy_ticker_add_buddy(b); | |
3391 | 241 } |
242 | |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
243 void buddy_signoff_cb(GaimConnection *gc, char *who) { |
5170 | 244 struct buddy *b = gaim_find_buddy(gc->account, who); |
245 buddy_ticker_remove_buddy(b); | |
5185 | 246 if(!tickerbuds) |
247 gtk_widget_hide(tickerwindow); | |
3391 | 248 } |
249 | |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5286
diff
changeset
|
250 void away_cb(GaimConnection *gc, char *who) { |
4850 | 251 struct buddy *b = gaim_find_buddy(gc->account, who); |
5170 | 252 if(buddy_ticker_find_buddy(b)) |
253 buddy_ticker_set_pixmap(b); | |
254 else | |
255 buddy_ticker_add_buddy(b); | |
3391 | 256 } |
257 | |
3630 | 258 /* |
259 * EXPORTED FUNCTIONS | |
260 */ | |
261 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
262 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
263 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
264 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
265 gaim_signal_connect(plugin, event_signoff, signoff_cb, NULL); |
6122 | 266 gaim_signal_connect(plugin, event_buddy_signon, buddy_signon_cb, NULL); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
267 gaim_signal_connect(plugin, event_buddy_signoff, buddy_signoff_cb, NULL); |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
268 gaim_signal_connect(plugin, event_buddy_away, away_cb, NULL); |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
269 gaim_signal_connect(plugin, event_buddy_back, away_cb, NULL); |
3391 | 270 |
5607 | 271 if (gaim_connections_get_all()) |
5170 | 272 buddy_ticker_show(); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
273 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
274 return TRUE; |
3391 | 275 } |
276 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
277 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
278 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
279 { |
6122 | 280 TickerData *td; |
281 | |
282 while (tickerbuds) { | |
283 td = tickerbuds->data; | |
5186 | 284 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
6122 | 285 if (td->timeout != 0) |
286 g_source_remove(td->timeout); | |
287 g_free(td); | |
5185 | 288 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
289 |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
290 if (tickerwindow != NULL) { |
5983
e0be64ced3d7
[gaim-migrate @ 6431]
Christian Hammond <chipx86@chipx86.com>
parents:
5920
diff
changeset
|
291 gtk_widget_destroy(tickerwindow); |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
292 tickerwindow = NULL; |
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
293 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
294 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
295 return TRUE; |
3391 | 296 } |
5170 | 297 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
298 static GaimGtkPluginUiInfo ui_info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
299 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
300 NULL /**< get_config_frame */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
301 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
302 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
303 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
304 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
305 2, /**< api_version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
306 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
307 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
308 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
309 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
310 GAIM_PRIORITY_DEFAULT, /**< priority */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
311 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
312 TICKER_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
313 N_("Buddy Ticker"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
314 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
315 /** summary */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
316 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
317 /** description */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
318 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
319 "Syd Logan", /**< author */ |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6122
diff
changeset
|
320 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
321 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
322 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
323 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
324 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
325 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
326 &ui_info, /**< ui_info */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
327 NULL /**< extra_info */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
328 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
329 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
330 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
331 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
332 { |
3551 | 333 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
334 |
6063 | 335 GAIM_INIT_PLUGIN(ticker, init_plugin, info) |