Mercurial > pidgin.yaz
comparison src/server.c @ 8948:175cbf710a47
[gaim-migrate @ 9720]
Eradicate the "seconds before resending autoresponse" preference
(default to 600 seconds) and the "send autoresponse in active
conversations" preference (default to no)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 16 May 2004 06:39:51 +0000 |
parents | 9a25d7f66d9c |
children | 80b4c956d7ae |
comparison
equal
deleted
inserted
replaced
8947:fa6c2d893c51 | 8948:175cbf710a47 |
---|---|
38 #include "gaim.h" | 38 #include "gaim.h" |
39 #include "gtkimhtml.h" | 39 #include "gtkimhtml.h" |
40 #include "gtkutils.h" | 40 #include "gtkutils.h" |
41 #include "ui.h" | 41 #include "ui.h" |
42 | 42 |
43 #define SECS_BEFORE_RESENDING_AUTORESPONSE 600 | |
44 | |
43 void serv_login(GaimAccount *account) | 45 void serv_login(GaimAccount *account) |
44 { | 46 { |
45 GaimPlugin *p = gaim_find_prpl(gaim_account_get_protocol_id(account)); | 47 GaimPlugin *p = gaim_find_prpl(gaim_account_get_protocol_id(account)); |
46 GaimPluginProtocolInfo *prpl_info = NULL; | 48 GaimPluginProtocolInfo *prpl_info = NULL; |
47 | 49 |
199 while (tmp) { | 201 while (tmp) { |
200 cur = tmp; | 202 cur = tmp; |
201 tmp = tmp->next; | 203 tmp = tmp->next; |
202 lar = (struct last_auto_response *)cur->data; | 204 lar = (struct last_auto_response *)cur->data; |
203 | 205 |
204 if ((time(NULL) - lar->sent) > | 206 if ((time(NULL) - lar->sent) > SECS_BEFORE_RESENDING_AUTORESPONSE) { |
205 gaim_prefs_get_int("/core/away/auto_response/sec_before_resend")) { | |
206 | |
207 last_auto_responses = g_slist_remove(last_auto_responses, lar); | 207 last_auto_responses = g_slist_remove(last_auto_responses, lar); |
208 g_free(lar); | 208 g_free(lar); |
209 } | 209 } |
210 } | 210 } |
211 | 211 |
217 GSList *tmp; | 217 GSList *tmp; |
218 struct last_auto_response *lar; | 218 struct last_auto_response *lar; |
219 | 219 |
220 /* because we're modifying or creating a lar, schedule the | 220 /* because we're modifying or creating a lar, schedule the |
221 * function to expire them as the pref dictates */ | 221 * function to expire them as the pref dictates */ |
222 gaim_timeout_add((gaim_prefs_get_int("/core/away/auto_response/sec_before_resend") + 1) * 1000, | 222 gaim_timeout_add((SECS_BEFORE_RESENDING_AUTORESPONSE + 1) * 1000, expire_last_auto_responses, NULL); |
223 expire_last_auto_responses, NULL); | |
224 | 223 |
225 tmp = last_auto_responses; | 224 tmp = last_auto_responses; |
226 | 225 |
227 while (tmp) { | 226 while (tmp) { |
228 lar = (struct last_auto_response *)tmp->data; | 227 lar = (struct last_auto_response *)tmp->data; |
277 val = prpl_info->send_im(gc, name, message, imflags); | 276 val = prpl_info->send_im(gc, name, message, imflags); |
278 | 277 |
279 if (!(imflags & GAIM_CONV_IM_AUTO_RESP)) | 278 if (!(imflags & GAIM_CONV_IM_AUTO_RESP)) |
280 serv_touch_idle(gc); | 279 serv_touch_idle(gc); |
281 | 280 |
282 if (gc->away && | 281 if (gc->away && (gc->flags & GAIM_CONNECTION_AUTO_RESP) && |
283 (gc->flags & GAIM_CONNECTION_AUTO_RESP) && | 282 gaim_prefs_get_bool("/core/away/auto_response/enabled")) { |
284 gaim_prefs_get_bool("/core/away/auto_response/enabled") && | |
285 !gaim_prefs_get_bool("/core/away/auto_response/in_active_conv")) { | |
286 | 283 |
287 struct last_auto_response *lar; | 284 struct last_auto_response *lar; |
288 lar = get_last_auto_response(gc, name); | 285 lar = get_last_auto_response(gc, name); |
289 lar->sent = time(NULL); | 286 lar->sent = time(NULL); |
290 } | 287 } |
1016 * soon. Besides that, we need to keep track of this even if we've | 1013 * soon. Besides that, we need to keep track of this even if we've |
1017 * got a queue. So the rest of this block is just the auto-response, | 1014 * got a queue. So the rest of this block is just the auto-response, |
1018 * if necessary. | 1015 * if necessary. |
1019 */ | 1016 */ |
1020 lar = get_last_auto_response(gc, name); | 1017 lar = get_last_auto_response(gc, name); |
1021 if ((t - lar->sent) < | 1018 if ((t - lar->sent) < SECS_BEFORE_RESENDING_AUTORESPONSE) { |
1022 gaim_prefs_get_int("/core/away/auto_response/sec_before_resend")) { | |
1023 | |
1024 g_free(name); | 1019 g_free(name); |
1025 g_free(message); | 1020 g_free(message); |
1026 return; | 1021 return; |
1027 } | 1022 } |
1028 lar->sent = t; | 1023 lar->sent = t; |