Mercurial > pidgin.yaz
annotate plugins/autorecon.c @ 10563:3e2cd3fe8897
[gaim-migrate @ 11944]
Fix a problem Justin Wood noticed and supplied sf patch 920581 to fix
My fix is slightly difference.
The problem was that, if an iChat user had an available message up,
then they changed their buddy icon, Gaim would stop showing the
available message for the person.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 01 Feb 2005 05:19:27 +0000 |
parents | 3e4ecbdf8d0a |
children | 77ef3f2f0df8 |
rev | line source |
---|---|
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
1 #include "internal.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
2 |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
3 #include "connection.h" |
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
4 #include "debug.h" |
8774 | 5 #include "pluginpref.h" |
5872
059d95c67cda
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5607
diff
changeset
|
6 #include "prpl.h" |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
7 #include "signals.h" |
9943 | 8 #include "version.h" |
4202
59751fe608c5
[gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents:
4113
diff
changeset
|
9 |
8774 | 10 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
11 #define AUTORECON_PLUGIN_ID "core-autorecon" |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
12 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
13 #define INITIAL 8000 |
4590 | 14 #define MAXTIME 2048000 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
15 |
6113 | 16 typedef struct { |
17 int delay; | |
18 guint timeout; | |
19 } GaimAutoRecon; | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
20 |
6113 | 21 static GHashTable *hash = NULL; |
8774 | 22 |
10020 | 23 static GSList *accountReconnecting = NULL; |
24 | |
8774 | 25 #define AUTORECON_OPT "/plugins/core/autorecon" |
10020 | 26 #define OPT_HIDE_CONNECTED AUTORECON_OPT "/hide_connected_error" |
27 #define OPT_HIDE_CONNECTING AUTORECON_OPT "/hide_connecting_error" | |
28 #define OPT_RESTORE_STATE AUTORECON_OPT "/restore_state" | |
29 #define OPT_HIDE_RECONNECTING_DIALOG AUTORECON_OPT "/hide_reconnecting_dialog" | |
8774 | 30 |
31 /* storage of original (old_ops) and modified (new_ops) ui ops to allow us to | |
32 intercept calls to report_disconnect */ | |
33 static GaimConnectionUiOps *old_ops = NULL; | |
34 static GaimConnectionUiOps *new_ops = NULL; | |
35 | |
10020 | 36 static void connect_progress(GaimConnection *gc, const char *text, |
37 size_t step, size_t step_count) { | |
38 if(old_ops == NULL || old_ops->connect_progress == NULL) { | |
39 /* there's nothing to call through to, so don't bother | |
40 checking prefs */ | |
41 return; | |
42 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
43 g_slist_find(accountReconnecting, gc->account)) { | |
44 /* this is a reconnecting, and we're hiding those */ | |
45 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
46 "hide connecting dialog while reconnecting\n"); | |
47 return; | |
48 } | |
49 | |
50 old_ops->connect_progress(gc, text, step, step_count); | |
51 } | |
52 | |
53 static void connected(GaimConnection *gc) { | |
54 if(old_ops == NULL || old_ops->connected == NULL) { | |
55 /* there's nothing to call through to, so don't bother | |
56 checking prefs */ | |
57 return; | |
58 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
59 g_slist_find(accountReconnecting, gc->account)) { | |
60 /* this is a reconnecting, and we're hiding those */ | |
61 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
62 "hide connecting dialog while reconnecting\n"); | |
63 return; | |
64 } | |
65 | |
66 old_ops->connected(gc); | |
67 } | |
68 | |
69 static void disconnected(GaimConnection *gc) { | |
70 if(old_ops == NULL || old_ops->disconnected == NULL) { | |
71 /* there's nothing to call through to, so don't bother | |
72 checking prefs */ | |
73 return; | |
74 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
75 g_slist_find(accountReconnecting, gc->account)) { | |
76 /* this is a reconnecting, and we're hiding those */ | |
77 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
78 "hide connecting dialog while reconnecting\n"); | |
79 return; | |
80 } | |
81 | |
82 old_ops->disconnected(gc); | |
83 } | |
84 | |
85 static void notice(GaimConnection *gc, const char *text) { | |
86 if(old_ops == NULL || old_ops->notice == NULL) { | |
87 /* there's nothing to call through to, so don't bother | |
88 checking prefs */ | |
89 return; | |
90 } else if(gaim_prefs_get_bool(OPT_HIDE_RECONNECTING_DIALOG) && accountReconnecting && | |
91 g_slist_find(accountReconnecting, gc->account)) { | |
92 /* this is a reconnecting, and we're hiding those */ | |
93 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
94 "hide connecting dialog while reconnecting\n"); | |
95 } | |
96 | |
97 old_ops->notice(gc, text); | |
98 } | |
8774 | 99 |
100 static void report_disconnect(GaimConnection *gc, const char *text) { | |
101 | |
102 if(old_ops == NULL || old_ops->report_disconnect == NULL) { | |
103 /* there's nothing to call through to, so don't bother | |
104 checking prefs */ | |
105 return; | |
106 | |
107 } else if(gc->state == GAIM_CONNECTED | |
108 && gaim_prefs_get_bool(OPT_HIDE_CONNECTED)) { | |
109 /* this is a connected error, and we're hiding those */ | |
110 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
10345 | 111 "hid disconnect error message (%s)\n", text); |
8774 | 112 return; |
113 | |
114 } else if(gc->state == GAIM_CONNECTING | |
115 && gaim_prefs_get_bool(OPT_HIDE_CONNECTING)) { | |
116 /* this is a connecting error, and we're hiding those */ | |
117 gaim_debug(GAIM_DEBUG_INFO, "autorecon", | |
10345 | 118 "hid error message while connecting (%s)\n", text); |
8774 | 119 return; |
120 } | |
121 | |
122 /* if we haven't returned by now, then let's pass to the real | |
123 function */ | |
124 old_ops->report_disconnect(gc, text); | |
125 } | |
126 | |
127 | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
128 static gboolean do_signon(gpointer data) { |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
129 GaimAccount *account = data; |
6113 | 130 GaimAutoRecon *info; |
131 | |
5227
6d1707dc8c3d
[gaim-migrate @ 5597]
Christian Hammond <chipx86@chipx86.com>
parents:
5205
diff
changeset
|
132 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "do_signon called\n"); |
6113 | 133 g_return_val_if_fail(account != NULL, FALSE); |
134 info = g_hash_table_lookup(hash, account); | |
4494
b5a50a6a13b0
[gaim-migrate @ 4769]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
4491
diff
changeset
|
135 |
5607 | 136 if (g_list_index(gaim_accounts_get_all(), account) < 0) |
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1404
diff
changeset
|
137 return FALSE; |
6113 | 138 |
7372 | 139 if(info) |
140 info->timeout = 0; | |
141 | |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
142 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "calling gaim_account_connect\n"); |
10401 | 143 /* XXX: make this remember the status from disconnect */ |
144 gaim_account_connect(account, gaim_account_get_status(account, "online")); | |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
145 gaim_debug(GAIM_DEBUG_INFO, "autorecon", "done calling gaim_account_connect\n"); |
6113 | 146 |
1817
b367beee6448
[gaim-migrate @ 1827]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1404
diff
changeset
|
147 return FALSE; |
1378
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
148 } |
aedeb1218a0a
[gaim-migrate @ 1388]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1165
diff
changeset
|
149 |
8774 | 150 |
5587
1c55b1540e18
[gaim-migrate @ 5991]
Christian Hammond <chipx86@chipx86.com>
parents:
5227
diff
changeset
|
151 static void reconnect(GaimConnection *gc, void *m) { |
6113 | 152 GaimAccount *account; |
153 GaimAutoRecon *info; | |
10020 | 154 GSList* listAccount; |
6113 | 155 |
156 g_return_if_fail(gc != NULL); | |
157 account = gaim_connection_get_account(gc); | |
158 info = g_hash_table_lookup(hash, account); | |
10020 | 159 if (accountReconnecting) |
160 listAccount = g_slist_find(accountReconnecting, account); | |
161 else | |
162 listAccount = NULL; | |
6113 | 163 |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
164 if (!gc->wants_to_die) { |
6113 | 165 if (info == NULL) { |
166 info = g_new0(GaimAutoRecon, 1); | |
167 g_hash_table_insert(hash, account, info); | |
168 info->delay = INITIAL; | |
8249 | 169 } else { |
6113 | 170 info->delay = MIN(2 * info->delay, MAXTIME); |
8250 | 171 if (info->timeout != 0) |
172 g_source_remove(info->timeout); | |
8249 | 173 } |
6113 | 174 info->timeout = g_timeout_add(info->delay, do_signon, account); |
10020 | 175 |
176 if (!listAccount) | |
177 accountReconnecting = g_slist_prepend(accountReconnecting, account); | |
6113 | 178 } else if (info != NULL) { |
179 g_hash_table_remove(hash, account); | |
10020 | 180 |
181 if (listAccount) | |
182 accountReconnecting = g_slist_delete_link(accountReconnecting, listAccount); | |
2216
66783ad29e55
[gaim-migrate @ 2226]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1818
diff
changeset
|
183 } |
9546 | 184 } |
8774 | 185 |
6113 | 186 static void |
10020 | 187 reconnected(GaimConnection *gc, void *m) { |
188 GaimAccount *account; | |
189 | |
190 g_return_if_fail(gc != NULL && accountReconnecting != NULL); | |
191 account = gaim_connection_get_account(gc); | |
192 | |
193 accountReconnecting = g_slist_remove(accountReconnecting, account); | |
194 } | |
195 | |
196 static void | |
6113 | 197 free_auto_recon(gpointer data) |
198 { | |
199 GaimAutoRecon *info = data; | |
200 | |
201 if (info->timeout != 0) | |
202 g_source_remove(info->timeout); | |
203 | |
204 g_free(info); | |
205 } | |
206 | |
8774 | 207 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
208 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
209 plugin_load(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
210 { |
8774 | 211 |
212 /* this was the suggested way to override a single function of the | |
213 real ui ops. However, there's a mild concern of having more than one | |
214 bit of code making a new ui op call-through copy. If plugins A and B | |
215 both override the ui ops (in that order), B thinks that the | |
216 overridden ui ops A created was the original. If A unloads first, | |
217 and swaps out and frees its overridden version, then B is calling | |
218 through to a free'd ui op. There needs to be a way to "stack up" | |
219 overridden ui ops or something... I have a good idea of how to write | |
220 such a creature if someone wants it done. - siege 2004-04-20 */ | |
221 | |
222 /* get old ops, make a copy with a minor change */ | |
223 old_ops = gaim_connections_get_ui_ops(); | |
224 new_ops = (GaimConnectionUiOps *) g_memdup(old_ops, | |
225 sizeof(GaimConnectionUiOps)); | |
10020 | 226 new_ops->connect_progress = connect_progress; |
227 new_ops->connected = connected; | |
228 new_ops->disconnected = disconnected; | |
229 new_ops->notice = notice; | |
8774 | 230 new_ops->report_disconnect = report_disconnect; |
231 gaim_connections_set_ui_ops(new_ops); | |
232 | |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
233 hash = g_hash_table_new_full(g_int_hash, g_int_equal, NULL, |
8774 | 234 free_auto_recon); |
10020 | 235 |
236 accountReconnecting = NULL; | |
3630 | 237 |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
238 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", |
8774 | 239 plugin, GAIM_CALLBACK(reconnect), NULL); |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
240 |
10020 | 241 gaim_signal_connect(gaim_connections_get_handle(), "signed-on", |
242 plugin, GAIM_CALLBACK(reconnected), NULL); | |
243 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
244 return TRUE; |
3802 | 245 } |
246 | |
8774 | 247 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
248 static gboolean |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
249 plugin_unload(GaimPlugin *plugin) |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
250 { |
8243 | 251 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-off", |
252 plugin, GAIM_CALLBACK(reconnect)); | |
9546 | 253 |
10020 | 254 gaim_signal_disconnect(gaim_connections_get_handle(), "signed-on", |
255 plugin, GAIM_CALLBACK(reconnected)); | |
256 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
257 g_hash_table_destroy(hash); |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
258 hash = NULL; |
10020 | 259 |
260 if (accountReconnecting) { | |
261 g_slist_free(accountReconnecting); | |
262 accountReconnecting = NULL; | |
263 } | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
264 |
8774 | 265 gaim_connections_set_ui_ops(old_ops); |
266 g_free(new_ops); | |
267 old_ops = new_ops = NULL; | |
268 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
269 return TRUE; |
3630 | 270 } |
271 | |
8774 | 272 |
273 static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin *plugin) { | |
274 GaimPluginPrefFrame *frame = gaim_plugin_pref_frame_new(); | |
275 GaimPluginPref *pref; | |
276 | |
277 pref = gaim_plugin_pref_new_with_label(_("Error Message Suppression")); | |
9549 | 278 gaim_plugin_pref_frame_add(frame, pref); |
8774 | 279 |
280 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTED, | |
281 _("Hide Disconnect Errors")); | |
282 gaim_plugin_pref_frame_add(frame, pref); | |
283 | |
284 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_CONNECTING, | |
285 _("Hide Login Errors")); | |
286 gaim_plugin_pref_frame_add(frame, pref); | |
287 | |
10020 | 288 pref = gaim_plugin_pref_new_with_name_and_label(OPT_HIDE_RECONNECTING_DIALOG, |
289 _("Hide Reconnecting Dialog")); | |
290 gaim_plugin_pref_frame_add(frame, pref); | |
291 | |
8774 | 292 return frame; |
293 } | |
294 | |
295 | |
296 static GaimPluginUiInfo pref_info = { | |
297 get_plugin_pref_frame | |
298 }; | |
299 | |
300 | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
301 static GaimPluginInfo info = |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
302 { |
9943 | 303 GAIM_PLUGIN_MAGIC, |
304 GAIM_MAJOR_VERSION, | |
305 GAIM_MINOR_VERSION, | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
306 GAIM_PLUGIN_STANDARD, /**< type */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
307 NULL, /**< ui_requirement */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
308 0, /**< flags */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
309 NULL, /**< dependencies */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
310 GAIM_PRIORITY_DEFAULT, /**< priority */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
311 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
312 AUTORECON_PLUGIN_ID, /**< id */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
313 N_("Auto-Reconnect"), /**< name */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
314 VERSION, /**< version */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
315 /** summary */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
316 N_("When you are kicked offline, this reconnects you."), |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
317 /** description */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
318 N_("When you are kicked offline, this reconnects you."), |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
319 "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ |
6485
70d5122bc3ff
[gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents:
6371
diff
changeset
|
320 GAIM_WEBSITE, /**< homepage */ |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
321 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
322 plugin_load, /**< load */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
323 plugin_unload, /**< unload */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
324 NULL, /**< destroy */ |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
325 |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
326 NULL, /**< ui_info */ |
8774 | 327 NULL, /**< extra_info */ |
8993 | 328 &pref_info, /**< prefs_info */ |
329 NULL | |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
330 }; |
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
331 |
8774 | 332 |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
333 static void |
5920
7d385de2f9cd
[gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents:
5873
diff
changeset
|
334 init_plugin(GaimPlugin *plugin) |
5205
fefad67de2c7
[gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents:
4590
diff
changeset
|
335 { |
8774 | 336 gaim_prefs_add_none(AUTORECON_OPT); |
337 gaim_prefs_add_bool(OPT_HIDE_CONNECTED, FALSE); | |
338 gaim_prefs_add_bool(OPT_HIDE_CONNECTING, FALSE); | |
10020 | 339 gaim_prefs_add_bool(OPT_HIDE_RECONNECTING_DIALOG, FALSE); |
9971 | 340 gaim_prefs_remove(OPT_RESTORE_STATE); |
3630 | 341 } |
342 | |
6063 | 343 GAIM_INIT_PLUGIN(autorecon, init_plugin, info) |
8774 | 344 |