Mercurial > pidgin
annotate plugins/ticker/ticker.c @ 9620:c001be3c330e
[gaim-migrate @ 10464]
Changes to those get_alias functions in blist.c from
Christopher (siege) O'Brien:
Renames gaim_get_buddy_alias to gaim_buddy_get_alias
Renames gaim_get_buddy_alias_only to
_gaim_buddy_get_alias_only
Adds function gaim_buddy_get_contact_alias, which looks
up a buddy's appropriate display name by order of:
buddy alias; contact alias; server alias; buddy name.
Note that the buddy alias is still the top-priority.
Changed conversation.c to use _get_contact_alias rather
than _get_alias
The end result of this is that aliasing the contact
will result in conversations with any of that contact's
buddies using the contact alias. This allows people
like myself to no longer have to alias each buddy to
the same alias in order to achieve the same effect.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 31 Jul 2004 21:29:40 +0000 |
parents | 294ae6548d4e |
children | 4a15962c344a |
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" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
34 #include "signals.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
35 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
36 #include "gtkblist.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
37 #include "gtkplugin.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
38 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
39 #include "gtkticker.h" |
3391 | 40 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
41 #define TICKER_PLUGIN_ID "gtk-ticker" |
3867 | 42 |
3391 | 43 static GtkWidget *tickerwindow = NULL; |
44 static GtkWidget *ticker; | |
45 | |
46 typedef struct { | |
6695 | 47 GaimBuddy *buddy; |
3391 | 48 GtkWidget *ebox; |
49 GtkWidget *label; | |
5170 | 50 GtkWidget *icon; |
6122 | 51 guint timeout; |
3391 | 52 } TickerData; |
53 | |
5170 | 54 GList *tickerbuds = NULL; |
3391 | 55 |
5172 | 56 static gboolean buddy_ticker_destroy_window(GtkWidget *window, |
57 GdkEventAny *event, gpointer data) { | |
58 if(window) | |
59 gtk_widget_hide(window); | |
60 | |
61 return TRUE; /* don't actually destroy the window */ | |
3391 | 62 } |
63 | |
5170 | 64 static void buddy_ticker_create_window() { |
65 if(tickerwindow) { | |
66 gtk_widget_show(tickerwindow); | |
67 return; | |
68 } | |
3391 | 69 |
5170 | 70 tickerwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
5286 | 71 gtk_window_set_default_size(GTK_WINDOW(tickerwindow), 500, -1); |
5172 | 72 g_signal_connect(G_OBJECT(tickerwindow), "delete_event", |
5170 | 73 G_CALLBACK (buddy_ticker_destroy_window), NULL); |
74 gtk_window_set_title (GTK_WINDOW(tickerwindow), _("Buddy Ticker")); | |
4850 | 75 gtk_window_set_role (GTK_WINDOW(tickerwindow), "ticker"); |
3391 | 76 |
4850 | 77 ticker = gtk_ticker_new(); |
5170 | 78 gtk_ticker_set_spacing(GTK_TICKER(ticker), 20); |
79 gtk_container_add(GTK_CONTAINER(tickerwindow), ticker); | |
80 gtk_ticker_set_interval(GTK_TICKER(ticker), 500); | |
81 gtk_ticker_set_scootch(GTK_TICKER(ticker), 10); | |
82 gtk_ticker_start_scroll(GTK_TICKER(ticker)); | |
5286 | 83 gtk_widget_set_size_request(ticker, 1, -1); |
3391 | 84 |
5170 | 85 gtk_widget_show_all(tickerwindow); |
3391 | 86 } |
87 | |
5170 | 88 static gboolean buddy_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) { |
6695 | 89 GaimBuddy *b = user_data; |
4850 | 90 |
5170 | 91 gaim_conversation_new(GAIM_CONV_IM, b->account, b->name); |
3391 | 92 return TRUE; |
93 } | |
94 | |
6695 | 95 static TickerData *buddy_ticker_find_buddy(GaimBuddy *b) { |
5170 | 96 GList *tb; |
97 for(tb = tickerbuds; tb; tb = tb->next) { | |
98 TickerData *td = tb->data; | |
99 if(td->buddy == b) | |
100 return td; | |
101 } | |
102 return NULL; | |
103 } | |
104 | |
6695 | 105 static void buddy_ticker_set_pixmap(GaimBuddy *b) { |
5170 | 106 TickerData *td = buddy_ticker_find_buddy(b); |
107 GdkPixbuf *pixbuf; | |
3391 | 108 |
5170 | 109 if(!td) |
3391 | 110 return; |
5170 | 111 |
112 if(!td->icon) | |
113 td->icon = gtk_image_new(); | |
3391 | 114 |
5234 | 115 pixbuf = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b, |
116 GAIM_STATUS_ICON_SMALL); | |
5170 | 117 gtk_image_set_from_pixbuf(GTK_IMAGE(td->icon), pixbuf); |
118 g_object_unref(G_OBJECT(pixbuf)); | |
119 } | |
120 | |
6122 | 121 static gboolean buddy_ticker_set_pixmap_cb(gpointer data) { |
122 TickerData *td = data; | |
123 | |
124 gaim_debug(GAIM_DEBUG_ERROR, "XXX", "we're updating the pixmap, you bitch\n"); | |
125 buddy_ticker_set_pixmap(td->buddy); | |
126 td->timeout = 0; | |
127 | |
128 return FALSE; | |
129 } | |
130 | |
6695 | 131 static void buddy_ticker_add_buddy(GaimBuddy *b) { |
5170 | 132 GtkWidget *hbox; |
133 TickerData *td; | |
134 | |
135 buddy_ticker_create_window(); | |
5172 | 136 |
3391 | 137 if (!ticker) |
138 return; | |
139 | |
6122 | 140 if (buddy_ticker_find_buddy(b)) |
3391 | 141 return; |
142 | |
5170 | 143 td = g_new0(TickerData, 1); |
144 td->buddy = b; | |
145 tickerbuds = g_list_append(tickerbuds, td); | |
3391 | 146 |
5170 | 147 td->ebox = gtk_event_box_new(); |
148 gtk_ticker_add(GTK_TICKER(ticker), td->ebox); | |
149 hbox = gtk_hbox_new(FALSE, 0); | |
150 gtk_container_add(GTK_CONTAINER(td->ebox), hbox); | |
151 buddy_ticker_set_pixmap(b); | |
152 gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 5); | |
3391 | 153 |
5170 | 154 g_signal_connect(G_OBJECT(td->ebox), "button-press-event", |
155 G_CALLBACK(buddy_click_cb), b); | |
3391 | 156 |
9620 | 157 td->label = gtk_label_new(gaim_buddy_get_alias(b)); |
5170 | 158 gtk_box_pack_start(GTK_BOX(hbox), td->label, FALSE, FALSE, 5); |
159 | |
160 gtk_widget_show_all(td->ebox); | |
161 gtk_widget_show(tickerwindow); | |
6122 | 162 |
163 /* | |
164 * Update the icon in a few seconds (after the open door icon has | |
165 * changed). This is somewhat ugly. | |
166 */ | |
167 td->timeout = g_timeout_add(11000, buddy_ticker_set_pixmap_cb, td); | |
3391 | 168 } |
169 | |
6695 | 170 static void buddy_ticker_remove_buddy(GaimBuddy *b) { |
5170 | 171 TickerData *td = buddy_ticker_find_buddy(b); |
3391 | 172 |
5170 | 173 if (!td) |
174 return; | |
3391 | 175 |
5172 | 176 /* pop up the ticker window again */ |
177 buddy_ticker_create_window(); | |
178 | |
5170 | 179 gtk_ticker_remove(GTK_TICKER(ticker), td->ebox); |
180 tickerbuds = g_list_remove(tickerbuds, td); | |
6122 | 181 if (td->timeout != 0) |
182 g_source_remove(td->timeout); | |
5170 | 183 g_free(td); |
3391 | 184 } |
185 | |
5170 | 186 static void buddy_ticker_show() |
3391 | 187 { |
7100
abdc55ffadba
[gaim-migrate @ 7665]
Christian Hammond <chipx86@chipx86.com>
parents:
6695
diff
changeset
|
188 GaimBuddyList *list = gaim_get_blist(); |
6695 | 189 GaimBlistNode *gnode, *cnode, *bnode; |
190 GaimBuddy *b; | |
3391 | 191 |
5170 | 192 if(!list) |
193 return; | |
3391 | 194 |
5170 | 195 for(gnode = list->root; gnode; gnode = gnode->next) { |
196 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | |
197 continue; | |
6695 | 198 for(cnode = gnode->child; cnode; cnode = cnode->next) { |
199 if(!GAIM_BLIST_NODE_IS_CONTACT(cnode)) | |
5170 | 200 continue; |
6695 | 201 for(bnode = cnode->child; bnode; bnode = bnode->next) { |
202 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) | |
203 continue; | |
204 b = (GaimBuddy *)bnode; | |
205 if(GAIM_BUDDY_IS_ONLINE(b)) | |
206 buddy_ticker_add_buddy(b); | |
207 } | |
3391 | 208 } |
209 } | |
210 } | |
211 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
212 static void |
6695 | 213 buddy_signon_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
214 { |
5170 | 215 if(buddy_ticker_find_buddy(b)) |
216 buddy_ticker_set_pixmap(b); | |
217 else | |
218 buddy_ticker_add_buddy(b); | |
3391 | 219 } |
220 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
221 static void |
6695 | 222 buddy_signoff_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
223 { |
5170 | 224 buddy_ticker_remove_buddy(b); |
5185 | 225 if(!tickerbuds) |
226 gtk_widget_hide(tickerwindow); | |
3391 | 227 } |
228 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
229 static void |
6695 | 230 away_cb(GaimBuddy *b) |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
231 { |
5170 | 232 if(buddy_ticker_find_buddy(b)) |
233 buddy_ticker_set_pixmap(b); | |
234 else | |
235 buddy_ticker_add_buddy(b); | |
3391 | 236 } |
237 | |
8213 | 238 static void |
239 signoff_cb(GaimConnection *gc) | |
240 { | |
241 TickerData *td; | |
242 if (!gaim_connections_get_all()) { | |
243 while (tickerbuds) { | |
244 td = tickerbuds->data; | |
245 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); | |
246 if (td->timeout != 0) | |
247 g_source_remove(td->timeout); | |
248 g_free(td); | |
249 } | |
250 gtk_widget_destroy(tickerwindow); | |
251 tickerwindow = NULL; | |
252 ticker = NULL; | |
253 } else { | |
254 GList *t = tickerbuds; | |
255 while (t) { | |
256 td = t->data; | |
257 t = t->next; | |
258 if (td->buddy->account == gc->account) { | |
259 buddy_signoff_cb(td->buddy); | |
260 } | |
261 } | |
262 } | |
263 } | |
264 | |
265 | |
3630 | 266 /* |
267 * EXPORTED FUNCTIONS | |
268 */ | |
269 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
270 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
271 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
272 { |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
273 void *blist_handle = gaim_blist_get_handle(); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
274 |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
275 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
276 plugin, GAIM_CALLBACK(signoff_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
277 gaim_signal_connect(blist_handle, "buddy-signed-on", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
278 plugin, GAIM_CALLBACK(buddy_signon_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
279 gaim_signal_connect(blist_handle, "buddy-signed-off", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
280 plugin, GAIM_CALLBACK(buddy_signoff_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
281 gaim_signal_connect(blist_handle, "buddy-away", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
282 plugin, GAIM_CALLBACK(away_cb), NULL); |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
283 gaim_signal_connect(blist_handle, "buddy-back", |
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
284 plugin, GAIM_CALLBACK(away_cb), NULL); |
3391 | 285 |
5607 | 286 if (gaim_connections_get_all()) |
5170 | 287 buddy_ticker_show(); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
288 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
289 return TRUE; |
3391 | 290 } |
291 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
292 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
293 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
294 { |
6122 | 295 TickerData *td; |
296 | |
297 while (tickerbuds) { | |
298 td = tickerbuds->data; | |
5186 | 299 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds); |
6122 | 300 if (td->timeout != 0) |
301 g_source_remove(td->timeout); | |
302 g_free(td); | |
5185 | 303 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
304 |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
305 if (tickerwindow != NULL) { |
5983
e0be64ced3d7
[gaim-migrate @ 6431]
Christian Hammond <chipx86@chipx86.com>
parents:
5920
diff
changeset
|
306 gtk_widget_destroy(tickerwindow); |
5984
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
307 tickerwindow = NULL; |
c55b32640690
[gaim-migrate @ 6432]
Christian Hammond <chipx86@chipx86.com>
parents:
5983
diff
changeset
|
308 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
309 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
310 return TRUE; |
3391 | 311 } |
5170 | 312 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
313 static GaimGtkPluginUiInfo ui_info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
314 { |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
315 NULL /**< get_config_frame */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
316 }; |
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 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
319 { |
8749
d7b8eb1f0a18
[gaim-migrate @ 9504]
Christian Hammond <chipx86@chipx86.com>
parents:
8213
diff
changeset
|
320 GAIM_PLUGIN_API_VERSION, /**< api_version */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
321 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
322 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
323 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
324 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
325 GAIM_PRIORITY_DEFAULT, /**< priority */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
326 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
327 TICKER_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
328 N_("Buddy Ticker"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
329 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
330 /** summary */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
331 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
332 /** description */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
333 N_("A horizontal scrolling version of the buddy list."), |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
334 "Syd Logan", /**< author */ |
6371
8f94cce8faa5
[gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents:
6122
diff
changeset
|
335 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
336 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
337 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
338 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
339 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
340 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
341 &ui_info, /**< ui_info */ |
8993 | 342 NULL, /**< extra_info */ |
343 NULL, | |
344 NULL | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
345 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
346 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
347 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
348 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
349 { |
3551 | 350 } |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
5186
diff
changeset
|
351 |
6063 | 352 GAIM_INIT_PLUGIN(ticker, init_plugin, info) |