annotate plugins/ticker/ticker.c @ 5943:a4f2aba0848d

[gaim-migrate @ 6384] This should fix corruption in the blist, accounts, and pounces when some protocol plugins cannot load. Some parts of gaim now use the new unique Plugin or Protocol Plugin IDs, while some still use the old protocol numbers. Accounts kind of used both, and when prpls were missing, it had trouble finding accounts. It would find the names, even without mapping the protocol numbers to IDs, and any duplicate accounts would get nuked. That would then affect pounce saving. Anyhow, long story short (well, it's already long, too late for that), this should fix all that mess. And introduce new mess, but hopefully temporary mess. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Mon, 23 Jun 2003 02:00:15 +0000
parents 7d385de2f9cd
children e0be64ced3d7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /* GTK - The GIMP Toolkit
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 * modify it under the terms of the GNU Library General Public
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 *
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * Library General Public License for more details.
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 *
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * You should have received a copy of the GNU Library General Public
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * License along with this library; if not, write to the
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * Boston, MA 02111-1307, USA.
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 */
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 /*
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 * ticker.c -- Syd Logan, Summer 2000
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
22 * pluginized- Sean Egan, Summer 2002
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 */
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
24 #include "internal.h"
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
26 #include "blist.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
27 #include "conversation.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
28 #include "debug.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
29 #include "prpl.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
30
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
31 #include "gtkblist.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
32 #include "gtkplugin.h"
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
33
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5607
diff changeset
34 #include "gtkticker.h"
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
36 #define TICKER_PLUGIN_ID "gtk-ticker"
3867
43e396e94095 [gaim-migrate @ 4019]
Rob Flynn <gaim@robflynn.com>
parents: 3700
diff changeset
37
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 static GtkWidget *tickerwindow = NULL;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 static GtkWidget *ticker;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 typedef struct {
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
42 struct buddy *buddy;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 GtkWidget *ebox;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 GtkWidget *label;
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
45 GtkWidget *icon;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 } TickerData;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
48 GList *tickerbuds = NULL;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49
5172
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
50 static gboolean buddy_ticker_destroy_window(GtkWidget *window,
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
51 GdkEventAny *event, gpointer data) {
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
52 if(window)
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
53 gtk_widget_hide(window);
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
54
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
55 return TRUE; /* don't actually destroy the window */
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
58 static void buddy_ticker_create_window() {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
59 if(tickerwindow) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
60 gtk_widget_show(tickerwindow);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
61 return;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
62 }
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
64 tickerwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
5286
f82c251c8300 [gaim-migrate @ 5658]
Luke Schierer <lschiere@pidgin.im>
parents: 5234
diff changeset
65 gtk_window_set_default_size(GTK_WINDOW(tickerwindow), 500, -1);
5172
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
66 g_signal_connect(G_OBJECT(tickerwindow), "delete_event",
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
67 G_CALLBACK (buddy_ticker_destroy_window), NULL);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
68 gtk_window_set_title (GTK_WINDOW(tickerwindow), _("Buddy Ticker"));
4850
b5508e864987 [gaim-migrate @ 5175]
Mark Doliner <mark@kingant.net>
parents: 4770
diff changeset
69 gtk_window_set_role (GTK_WINDOW(tickerwindow), "ticker");
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70
4850
b5508e864987 [gaim-migrate @ 5175]
Mark Doliner <mark@kingant.net>
parents: 4770
diff changeset
71 ticker = gtk_ticker_new();
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
72 gtk_ticker_set_spacing(GTK_TICKER(ticker), 20);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
73 gtk_container_add(GTK_CONTAINER(tickerwindow), ticker);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
74 gtk_ticker_set_interval(GTK_TICKER(ticker), 500);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
75 gtk_ticker_set_scootch(GTK_TICKER(ticker), 10);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
76 gtk_ticker_start_scroll(GTK_TICKER(ticker));
5286
f82c251c8300 [gaim-migrate @ 5658]
Luke Schierer <lschiere@pidgin.im>
parents: 5234
diff changeset
77 gtk_widget_set_size_request(ticker, 1, -1);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
79 gtk_widget_show_all(tickerwindow);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
82 static gboolean buddy_click_cb(GtkWidget *widget, GdkEventButton *event, gpointer user_data) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
83 struct buddy *b = user_data;
4850
b5508e864987 [gaim-migrate @ 5175]
Mark Doliner <mark@kingant.net>
parents: 4770
diff changeset
84
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
85 gaim_conversation_new(GAIM_CONV_IM, b->account, b->name);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
86 return TRUE;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
88
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
89 static TickerData *buddy_ticker_find_buddy(struct buddy *b) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
90 GList *tb;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
91 for(tb = tickerbuds; tb; tb = tb->next) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
92 TickerData *td = tb->data;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
93 if(td->buddy == b)
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
94 return td;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
95 }
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
96 return NULL;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
97 }
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
98
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
99 static void buddy_ticker_set_pixmap(struct buddy *b) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
100 TickerData *td = buddy_ticker_find_buddy(b);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
101 GdkPixbuf *pixbuf;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
102
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
103 if(!td)
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 return;
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
105
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
106 if(!td->icon)
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
107 td->icon = gtk_image_new();
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108
5234
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5205
diff changeset
109 pixbuf = gaim_gtk_blist_get_status_icon((GaimBlistNode*)b,
890b29f00b68 [gaim-migrate @ 5604]
Nathan Walp <nwalp@pidgin.im>
parents: 5205
diff changeset
110 GAIM_STATUS_ICON_SMALL);
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
111 gtk_image_set_from_pixbuf(GTK_IMAGE(td->icon), pixbuf);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
112 g_object_unref(G_OBJECT(pixbuf));
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
113 }
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
114
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
115 static void buddy_ticker_add_buddy(struct buddy *b) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
116 GtkWidget *hbox;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
117 TickerData *td;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
118
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
119 buddy_ticker_create_window();
5172
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
120
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
121 if (!ticker)
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122 return;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
124 if(buddy_ticker_find_buddy(b))
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
125 return;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
127 td = g_new0(TickerData, 1);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
128 td->buddy = b;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
129 tickerbuds = g_list_append(tickerbuds, td);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
131 td->ebox = gtk_event_box_new();
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
132 gtk_ticker_add(GTK_TICKER(ticker), td->ebox);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
133 hbox = gtk_hbox_new(FALSE, 0);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
134 gtk_container_add(GTK_CONTAINER(td->ebox), hbox);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
135 buddy_ticker_set_pixmap(b);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
136 gtk_box_pack_start(GTK_BOX(hbox), td->icon, FALSE, FALSE, 5);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
138 g_signal_connect(G_OBJECT(td->ebox), "button-press-event",
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
139 G_CALLBACK(buddy_click_cb), b);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
141 td->label = gtk_label_new(gaim_get_buddy_alias(b));
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
142 gtk_box_pack_start(GTK_BOX(hbox), td->label, FALSE, FALSE, 5);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
143
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
144 gtk_widget_show_all(td->ebox);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
145 gtk_widget_show(tickerwindow);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
148 static void buddy_ticker_remove_buddy(struct buddy *b) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
149 TickerData *td = buddy_ticker_find_buddy(b);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
151 if (!td)
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
152 return;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
153
5172
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
154 /* pop up the ticker window again */
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
155 buddy_ticker_create_window();
2d84fe476406 [gaim-migrate @ 5536]
Nathan Walp <nwalp@pidgin.im>
parents: 5170
diff changeset
156
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
157 gtk_ticker_remove(GTK_TICKER(ticker), td->ebox);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
158 tickerbuds = g_list_remove(tickerbuds, td);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
159 g_free(td);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
160 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
162 static void buddy_ticker_show()
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163 {
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
164 struct gaim_buddy_list *list = gaim_get_blist();
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
165 GaimBlistNode *gnode, *bnode;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
166 struct buddy *b;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
168 if(!list)
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
169 return;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
170
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
171 for(gnode = list->root; gnode; gnode = gnode->next) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
172 if(!GAIM_BLIST_NODE_IS_GROUP(gnode))
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
173 continue;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
174 for(bnode = gnode->child; bnode; bnode = bnode->next) {
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
175 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode))
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
176 continue;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
177 b = (struct buddy *)bnode;
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
178 if(GAIM_BUDDY_IS_ONLINE(b))
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
179 buddy_ticker_add_buddy(b);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
181 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183
5587
1c55b1540e18 [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5286
diff changeset
184 void signon_cb(GaimConnection *gc, char *who) {
4850
b5508e864987 [gaim-migrate @ 5175]
Mark Doliner <mark@kingant.net>
parents: 4770
diff changeset
185 struct buddy *b = gaim_find_buddy(gc->account, who);
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
186 if(buddy_ticker_find_buddy(b))
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
187 buddy_ticker_set_pixmap(b);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
188 else
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
189 buddy_ticker_add_buddy(b);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191
5587
1c55b1540e18 [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5286
diff changeset
192 void signoff_cb(GaimConnection *gc) {
5607
eeba9205dd0f [gaim-migrate @ 6011]
Nathan Walp <nwalp@pidgin.im>
parents: 5587
diff changeset
193 if (!gaim_connections_get_all()) {
5185
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
194 while(tickerbuds) {
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
195 g_free(tickerbuds->data);
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
196 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds);
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
197 }
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
198 gtk_widget_destroy(tickerwindow);
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
199 tickerwindow = NULL;
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
200 ticker = NULL;
5185
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
201 } else {
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
202 GList *t = tickerbuds;
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
203 while(t) {
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
204 TickerData *td = t->data;
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
205 t = t->next;
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
206 if(td->buddy->account == gc->account) {
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
207 g_free(td);
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
208 tickerbuds = g_list_remove(tickerbuds, td);
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
209 }
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
210 }
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213
5587
1c55b1540e18 [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5286
diff changeset
214 void buddy_signoff_cb(GaimConnection *gc, char *who) {
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
215 struct buddy *b = gaim_find_buddy(gc->account, who);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
216
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
217 buddy_ticker_remove_buddy(b);
5185
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
218 if(!tickerbuds)
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
219 gtk_widget_hide(tickerwindow);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
220 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
221
5587
1c55b1540e18 [gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents: 5286
diff changeset
222 void away_cb(GaimConnection *gc, char *who) {
4850
b5508e864987 [gaim-migrate @ 5175]
Mark Doliner <mark@kingant.net>
parents: 4770
diff changeset
223 struct buddy *b = gaim_find_buddy(gc->account, who);
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
224 if(buddy_ticker_find_buddy(b))
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
225 buddy_ticker_set_pixmap(b);
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
226 else
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
227 buddy_ticker_add_buddy(b);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229
3630
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3551
diff changeset
230 /*
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3551
diff changeset
231 * EXPORTED FUNCTIONS
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3551
diff changeset
232 */
9682c0e022c6 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents: 3551
diff changeset
233
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
234 static gboolean
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
235 plugin_load(GaimPlugin *plugin)
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
236 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
237 gaim_signal_connect(plugin, event_buddy_signon, signon_cb, NULL);
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
238 gaim_signal_connect(plugin, event_signoff, signoff_cb, NULL);
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
239 gaim_signal_connect(plugin, event_buddy_signoff, buddy_signoff_cb, NULL);
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
240 gaim_signal_connect(plugin, event_buddy_away, away_cb, NULL);
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
241 gaim_signal_connect(plugin, event_buddy_back, away_cb, NULL);
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
242
5607
eeba9205dd0f [gaim-migrate @ 6011]
Nathan Walp <nwalp@pidgin.im>
parents: 5587
diff changeset
243 if (gaim_connections_get_all())
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
244 buddy_ticker_show();
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
245
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
246 return TRUE;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
247 }
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
249 static gboolean
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
250 plugin_unload(GaimPlugin *plugin)
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
251 {
5185
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
252 while(tickerbuds) {
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
253 g_free(tickerbuds->data);
5186
a107115a13ae [gaim-migrate @ 5550]
Nathan Walp <nwalp@pidgin.im>
parents: 5185
diff changeset
254 tickerbuds = g_list_delete_link(tickerbuds, tickerbuds);
5185
dec87634bcb1 [gaim-migrate @ 5549]
Nathan Walp <nwalp@pidgin.im>
parents: 5181
diff changeset
255 }
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
256
5181
82b3d72d2128 [gaim-migrate @ 5545]
Nathan Walp <nwalp@pidgin.im>
parents: 5172
diff changeset
257 gtk_widget_destroy(tickerwindow);
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
258
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
259 return TRUE;
3391
412d1035d666 [gaim-migrate @ 3410]
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
260 }
5170
13ffa9ae4282 [gaim-migrate @ 5534]
Nathan Walp <nwalp@pidgin.im>
parents: 5068
diff changeset
261
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
262 static GaimGtkPluginUiInfo ui_info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
263 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
264 NULL /**< get_config_frame */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
265 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
266
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
267 static GaimPluginInfo info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
268 {
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
269 2, /**< api_version */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
270 GAIM_PLUGIN_STANDARD, /**< type */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
271 GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
272 0, /**< flags */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
273 NULL, /**< dependencies */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
274 GAIM_PRIORITY_DEFAULT, /**< priority */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
275
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
276 TICKER_PLUGIN_ID, /**< id */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
277 N_("Buddy Ticker"), /**< name */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
278 VERSION, /**< version */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
279 /** summary */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
280 N_("A horizontal scrolling version of the buddy list."),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
281 /** description */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
282 N_("A horizontal scrolling version of the buddy list."),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
283 "Syd Logan", /**< author */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
284 WEBSITE, /**< homepage */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
285
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
286 plugin_load, /**< load */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
287 plugin_unload, /**< unload */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
288 NULL, /**< destroy */
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 &ui_info, /**< ui_info */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
291 NULL /**< extra_info */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
292 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
293
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
294 static void
5920
7d385de2f9cd [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
295 init_plugin(GaimPlugin *plugin)
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
296 {
3551
cd938f18f3f8 [gaim-migrate @ 3626]
Sean Egan <seanegan@gmail.com>
parents: 3475
diff changeset
297 }
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5186
diff changeset
298
5920
7d385de2f9cd [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5873
diff changeset
299 GAIM_INIT_PLUGIN(ticker, init_plugin, info);