Mercurial > pidgin
annotate plugins/ticker/ticker.c @ 10688:7818a5e9e3a2
[gaim-migrate @ 12237]
Fixed a problem which would make gaim unable to use GTK installations that it should be able to use. The DllPath registry entry was never being read because the target buffer size was being incorrectly specified. Unless you had the Installer registry key specified and set to NSIS, it would point to the wrong directory for GTK dlls. The error messages from failed registry lookups are now better. I also removed some code that was intended to support alternate GTK installations (dropline?) that use the \lib directory instead of the \bin for the gtk+ dlls, it really isn't an issue anymore.
committer: Tailor Script <tailor@pidgin.im>
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Sat, 12 Mar 2005 19:35:37 +0000 |
parents | f8e395a054e2 |
children | 519dc2186438 |
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" |
9791 | 28 #include "gtkgaim.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" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
34 #include "signals.h" |
9943 | 35 #include "version.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
36 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
37 #include "gtkblist.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
38 #include "gtkplugin.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
39 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
40 #include "gtkticker.h" |
3391 | 41 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
42 #define TICKER_PLUGIN_ID "gtk-ticker" |
3867 | 43 |
3391 | 44 static GtkWidget *tickerwindow = NULL; |
45 static GtkWidget *ticker; | |
46 | |
47 typedef struct { | |
6695 | 48 GaimBuddy *buddy; |
3391 | 49 GtkWidget *ebox; |
50 GtkWidget *label; | |
5170 | 51 GtkWidget *icon; |
6122 | 52 guint timeout; |
3391 | 53 } TickerData; |
54 | |
5170 | 55 GList *tickerbuds = NULL; |
3391 | 56 |
5172 | 57 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
58 GdkEventAny *event, gpointer data) { | |
59 if(window) | |
60 gtk_widget_hide(window); | |
61 | |
62 return TRUE; /* don't actually destroy the window */ | |
3391 | 63 } |
64 | |
5170 | 65 static void buddy_ticker_create_window() { |
66 if(tickerwindow) { | |
67 gtk_widget_show(tickerwindow); | |
68 return; | |
69 } | |
3391 | 70 |
5170 | 71 tickerwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
5286 | 72 gtk_window_set_default_size(GTK_WINDOW(tickerwindow), 500, -1); |
5172 | 73 g_signal_connect(G_OBJECT(tickerwindow), "delete_event", |
5170 | 74 G_CALLBACK (buddy_ticker_destroy_window), NULL); |
75 gtk_window_set_title (GTK_WINDOW(tickerwindow), _("Buddy Ticker")); | |
4850 | 76 gtk_window_set_role (GTK_WINDOW(tickerwindow), "ticker"); |
3391 | 77 |
4850 | 78 ticker = gtk_ticker_new(); |
5170 | 79 gtk_ticker_set_spacing(GTK_TICKER(ticker), 20); |
80 gtk_container_add(GTK_CONTAINER(tickerwindow), ticker); | |
81 gtk_ticker_set_interval(GTK_TICKER(ticker), 500); | |
82 gtk_ticker_set_scootch(GTK_TICKER(ticker), 10); | |
83 gtk_ticker_start_scroll(GTK_TICKER(ticker)); | |
5286 | 84 gtk_widget_set_size_request(ticker, 1, -1); |
3391 | 85 |
5170 | 86 gtk_widget_show_all(tickerwindow); |
3391 | 87 } |
88 | |
5170 | 89 static gboolean buddy_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { |
6695 | 90 GaimBuddy *b = user_data; |
4850 | 91 |
5170 | 92 gaim_conversation_new(GAIM_CONV_IM, b->account, b->name); |
3391 | 93 return TRUE; |
94 } | |
95 | |
6695 | 96 static TickerData *buddy_ticker_find_buddy(GaimBuddy *b) { |
5170 | 97 GList *tb; |
98 for(tb = tickerbuds; tb; tb = tb->next) { | |
99 TickerData *td = tb->data; | |
100 if(td->buddy == b) | |
101 return td; | |
102 } | |
103 return NULL; | |
104 } | |
105 | |
6695 | 106 static void buddy_ticker_set_pixmap(GaimBuddy *b) { |
5170 | 107 TickerData *td = buddy_ticker_find_buddy(b); |
108 GdkPixbuf *pixbuf; | |
3391 | 109 |
5170 | 110 if(!td) |
3391 | 111 return; |
5170 | 112 |
113 if(!td->icon) | |
114 td->icon = gtk_image_new(); | |
3391 | 115 |
5234 | 116 pixbuf = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b, |
117 GAIM_STATUS_ICON_SMALL); | |
5170 | 118 gtk_image_set_from_pixbuf(GTK_IMAGE(td->icon), pixbuf); |
119 g_object_unref(G_OBJECT(pixbuf)); | |
120 } | |
121 | |
6122 | 122 static gboolean buddy_ticker_set_pixmap_cb(gpointer data) { |
123 TickerData *td = data; | |
124 | |
125 gaim_debug(GAIM_DEBUG_ERROR, "XXX", "we're updating the pixmap, you bitch\n"); | |
126 buddy_ticker_set_pixmap(td->buddy); | |
127 td->timeout = 0; | |
128 | |
129 return FALSE; | |
130 } | |
131 | |
6695 | 132 static void buddy_ticker_add_buddy(GaimBuddy *b) { |
5170 | 133 GtkWidget *hbox; |
134 TickerData *td; | |
135 | |
136 buddy_ticker_create_window(); | |
5172 | 137 |
3391 | 138 if (!ticker) |
139 return; | |
140 | |
6122 | 141 if (buddy_ticker_find_buddy(b)) |
3391 | 142 return; |
143 | |
5170 | 144 td = g_new0(TickerData, 1); |
145 td->buddy = b; | |
146 tickerbuds = g_list_append(tickerbuds, td); | |
3391 | 147 |
5170 | 148 td->ebox = gtk_event_box_new(); |
149 gtk_ticker_add(GTK_TICKER(ticker), td->ebox); | |
150 hbox = gtk_hbox_new(FALSE, 0); | |
151 gtk_container_add(GTK_CONTAINER(td->ebox), hbox); | |
152 buddy_ticker_set_pixmap(b); | |
153 gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 5); | |
3391 | 154 |
5170 | 155 g_signal_connect(G_OBJECT(td->ebox), "button-press-event", |
156 G_CALLBACK(buddy_click_cb), b); | |
3391 | 157 |
9620 | 158 td->label = gtk_label_new(gaim_buddy_get_alias(b)); |
5170 | 159 gtk_box_pack_start(GTK_BOX(hbox), td->label, FALSE, FALSE, 5); |
160 | |
161 gtk_widget_show_all(td->ebox); | |
162 gtk_widget_show(tickerwindow); | |
6122 | 163 |
164 /* | |
165 * Update the icon in a few seconds (after the open door icon has | |
166 * changed). This is somewhat ugly. | |
167 */ | |
168 td->timeout = g_timeout_add(11000, buddy_ticker_set_pixmap_cb, td); | |
3391 | 169 } |
170 | |
6695 | 171 static void buddy_ticker_remove_buddy(GaimBuddy *b) { |
5170 | 172 TickerData *td = buddy_ticker_find_buddy(b); |
3391 | 173 |
5170 | 174 if (!td) |
175 return; | |
3391 | 176 |
5172 | 177 /* pop up the ticker window again */ |
178 buddy_ticker_create_window(); | |
179 | |
5170 | 180 gtk_ticker_remove(GTK_TICKER(ticker), td->ebox); |
181 tickerbuds = g_list_remove(tickerbuds, td); | |
6122 | 182 if (td->timeout != 0) |
183 g_source_remove(td->timeout); | |
5170 | 184 g_free(td); |
3391 | 185 } |
186 | |
5170 | 187 static void buddy_ticker_show() |
3391 | 188 { |
7100
abdc55ffadba
[gaim-migrate @ 7665]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
189 GaimBuddyList *list = gaim_get_blist(); |
6695 | 190 GaimBlistNode *gnode, *cnode, *bnode; |
191 GaimBuddy *b; | |
3391 | 192 |
5170 | 193 if(!list) |
194 return; | |
3391 | 195 |
5170 | 196 for(gnode = list->root; gnode; gnode = gnode->next) { |
197 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
198 continue; | |
6695 | 199 for(cnode = gnode->child; cnode; cnode = cnode->next) { |
200 if(!GAIM_BLIST_NODE_IS_CONTACT(cnode)) | |
5170 | 201 continue; |
6695 | 202 for(bnode = cnode->child; bnode; bnode = bnode->next) { |
203 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
204 continue; | |
205 b = (GaimBuddy *)bnode; | |
206 if(GAIM_BUDDY_IS_ONLINE(b)) | |
207 buddy_ticker_add_buddy(b); | |
208 } | |
3391 | 209 } |
210 } | |
211 } | |
212 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
213 static void |
6695 | 214 buddy_signon_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
215 { |
5170 | 216 if(buddy_ticker_find_buddy(b)) |
217 buddy_ticker_set_pixmap(b); | |
218 else | |
219 buddy_ticker_add_buddy(b); | |
3391 | 220 } |
221 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
222 static void |
6695 | 223 buddy_signoff_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
224 { |
5170 | 225 buddy_ticker_remove_buddy(b); |
5185 | 226 if(!tickerbuds) |
227 gtk_widget_hide(tickerwindow); | |
3391 | 228 } |
229 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
230 static void |
6695 | 231 away_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
232 { |
5170 | 233 if(buddy_ticker_find_buddy(b)) |
234 buddy_ticker_set_pixmap(b); | |
235 else | |
236 buddy_ticker_add_buddy(b); | |
3391 | 237 } |
238 | |
8213 | 239 static void |
240 signoff_cb(GaimConnection *gc) | |
241 { | |
242 TickerData *td; | |
243 if (!gaim_connections_get_all()) { | |
244 while (tickerbuds) { | |
245 td = tickerbuds->data; | |
246 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); | |
247 if (td->timeout != 0) | |
248 g_source_remove(td->timeout); | |
249 g_free(td); | |
250 } | |
251 gtk_widget_destroy(tickerwindow); | |
252 tickerwindow = NULL; | |
253 ticker = NULL; | |
254 } else { | |
255 GList *t = tickerbuds; | |
256 while (t) { | |
257 td = t->data; | |
258 t = t->next; | |
259 if (td->buddy->account == gc->account) { | |
260 buddy_signoff_cb(td->buddy); | |
261 } | |
262 } | |
263 } | |
264 } | |
265 | |
266 | |
3630 | 267 /* |
268 * EXPORTED FUNCTIONS | |
269 */ | |
270 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
271 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
272 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
273 { |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
274 void *blist_handle = gaim_blist_get_handle(); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
275 |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
276 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
277 plugin, GAIM_CALLBACK(signoff_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
278 gaim_signal_connect(blist_handle, "buddy-signed-on", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
279 plugin, GAIM_CALLBACK(buddy_signon_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
280 gaim_signal_connect(blist_handle, "buddy-signed-off", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
281 plugin, GAIM_CALLBACK(buddy_signoff_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
282 gaim_signal_connect(blist_handle, "buddy-away", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
283 plugin, GAIM_CALLBACK(away_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
284 gaim_signal_connect(blist_handle, "buddy-back", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
285 plugin, GAIM_CALLBACK(away_cb), NULL); |
3391 | 286 |
5607 | 287 if (gaim_connections_get_all()) |
5170 | 288 buddy_ticker_show(); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
289 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
290 return TRUE; |
3391 | 291 } |
292 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
293 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
294 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
295 { |
6122 | 296 TickerData *td; |
297 | |
298 while (tickerbuds) { | |
299 td = tickerbuds->data; | |
5186 | 300 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
6122 | 301 if (td->timeout != 0) |
302 g_source_remove(td->timeout); | |
303 g_free(td); | |
5185 | 304 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
305 |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
306 if (tickerwindow != NULL) { |
5983
e0be64ced3d7
[gaim-migrate @ 6431]
Christian Hammond <chipx86@chipx86.com>
parents:
5920
diff
changeset
|
307 gtk_widget_destroy(tickerwindow); |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
308 tickerwindow = NULL; |
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
309 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
310 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
311 return TRUE; |
3391 | 312 } |
5170 | 313 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
314 static GaimGtkPluginUiInfo ui_info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
315 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
316 NULL /**< get_config_frame */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
317 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
318 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
319 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
320 { |
9943 | 321 GAIM_PLUGIN_MAGIC, |
322 GAIM_MAJOR_VERSION, | |
323 GAIM_MINOR_VERSION, | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
324 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
325 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
326 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
327 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
328 GAIM_PRIORITY_DEFAULT, /**< priority */ |
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 TICKER_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
331 N_("Buddy Ticker"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
332 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
333 /** summary */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
334 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
335 /** description */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
336 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
337 "Syd Logan", /**< author */ |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6122
diff
changeset
|
338 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
339 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
340 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
341 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
342 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
343 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
344 &ui_info, /**< ui_info */ |
8993 | 345 NULL, /**< extra_info */ |
346 NULL, | |
347 NULL | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
348 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
349 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
350 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
351 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
352 { |
3551 | 353 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
354 |
6063 | 355 GAIM_INIT_PLUGIN(ticker, init_plugin, info) |