Mercurial > pidgin.yaz
annotate src/server.c @ 1401:bf041349b11e
[gaim-migrate @ 1411]
abliity to set accounts away independent of each other. also allows for all the other states (like in yahoo and icq). probably breaks MSN, so don't use it until rob fixes it.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Wed, 10 Jan 2001 22:15:24 +0000 |
| parents | 730a1a19b4cc |
| children | 96e93119268d |
| rev | line source |
|---|---|
| 1 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 * | |
| 6 * This program is free software; you can redistribute it and/or modify | |
| 7 * it under the terms of the GNU General Public License as published by | |
| 8 * the Free Software Foundation; either version 2 of the License, or | |
| 9 * (at your option) any later version. | |
| 10 * | |
| 11 * This program is distributed in the hope that it will be useful, | |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 * GNU General Public License for more details. | |
| 15 * | |
| 16 * You should have received a copy of the GNU General Public License | |
| 17 * along with this program; if not, write to the Free Software | |
| 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 * | |
| 20 */ | |
| 21 | |
|
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
22 #ifdef HAVE_CONFIG_H |
|
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
23 #include "../config.h" |
|
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
338
diff
changeset
|
24 #endif |
| 1 | 25 #include <time.h> |
| 26 #include <stdio.h> | |
|
1057
d50d3abb9eb7
[gaim-migrate @ 1067]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1056
diff
changeset
|
27 #include <stdlib.h> |
| 1 | 28 #include <string.h> |
| 29 #include <sys/types.h> | |
| 30 #include <sys/stat.h> | |
| 31 #include <sys/time.h> | |
| 32 #include <unistd.h> | |
| 33 #include <gtk/gtk.h> | |
| 1026 | 34 #ifdef USE_SCREENSAVER |
| 35 #include <X11/Xlib.h> | |
| 36 #include <X11/Xutil.h> | |
| 37 #include <X11/extensions/scrnsaver.h> | |
| 38 #endif /* USE_SCREENSAVER */ | |
|
276
9e6fc62490cd
[gaim-migrate @ 286]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
273
diff
changeset
|
39 extern int gaim_caps; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
40 #include "prpl.h" |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
41 #include "multi.h" |
| 1 | 42 #include "gaim.h" |
| 43 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
44 #include "pixmaps/ok.xpm" |
|
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
45 #include "pixmaps/cancel.xpm" |
|
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
46 |
|
980
82c5865f7cfe
[gaim-migrate @ 990]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
978
diff
changeset
|
47 void serv_login(struct aim_user *user) |
| 1 | 48 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
49 struct prpl *p = find_prpl(user->protocol); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
50 if (user->gc != NULL) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
51 return; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
52 if (p && p->login) { |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
53 debug_printf("Logging in using %s\n", (*p->name)()); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
54 (*p->login)(user); |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
55 } |
| 1 | 56 } |
| 57 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
58 void serv_close(struct gaim_connection *gc) |
| 1 | 59 { |
|
1063
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
60 GSList *bcs = gc->buddy_chats; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
61 struct conversation *b; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
62 while (bcs) { |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
63 b = (struct conversation *)bcs->data; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
64 gc->buddy_chats = g_slist_remove(gc->buddy_chats, b); |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
65 b->gc = NULL; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
66 bcs = gc->buddy_chats; |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
67 } |
|
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
68 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
69 if (gc->idle_timer > 0) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
70 gtk_timeout_remove(gc->idle_timer); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
71 gc->idle_timer = 0; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
72 |
|
1050
c4baa5509558
[gaim-migrate @ 1060]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1038
diff
changeset
|
73 if (gc->keepalive > 0) |
|
c4baa5509558
[gaim-migrate @ 1060]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1038
diff
changeset
|
74 gtk_timeout_remove(gc->keepalive); |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1145
diff
changeset
|
75 gc->keepalive = 0; |
|
1050
c4baa5509558
[gaim-migrate @ 1060]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1038
diff
changeset
|
76 |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
77 if (gc->prpl && gc->prpl->close) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
78 (*gc->prpl->close)(gc); |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
79 |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
80 account_offline(gc); |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
81 destroy_gaim_conn(gc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
82 build_edit_tree(); |
| 1 | 83 } |
| 84 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
85 void serv_touch_idle(struct gaim_connection *gc) |
| 1 | 86 { |
| 87 /* Are we idle? If so, not anymore */ | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
88 if (gc->is_idle > 0) { |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
89 gc->is_idle = 0; |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
90 serv_set_idle(gc, 0); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
91 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
92 time(&gc->lastsent); |
| 1 | 93 } |
| 94 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
95 void serv_finish_login(struct gaim_connection *gc) |
| 1 | 96 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
97 char *buf; |
| 1 | 98 |
|
1051
713b0e14e0a9
[gaim-migrate @ 1061]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1050
diff
changeset
|
99 if (strlen(gc->user->user_info)) { |
| 1292 | 100 //g_malloc(strlen(gc->user->user_info) * 4); |
| 101 //strncpy_withhtml(buf, gc->user->user_info, strlen(gc->user->user_info) * 4); | |
| 102 serv_set_info(gc, gc->user->user_info); | |
| 103 //g_free(buf); | |
| 1 | 104 } |
| 105 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
106 if (gc->idle_timer > 0) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
107 gtk_timeout_remove(gc->idle_timer); |
| 1 | 108 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
109 gc->idle_timer = gtk_timeout_add(20000, (GtkFunction)check_idle, gc); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
110 serv_touch_idle(gc); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
111 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
112 time(&gc->login_time); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
113 |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1145
diff
changeset
|
114 update_keepalive(gc, gc->options & OPT_USR_KEEPALV); |
| 1 | 115 } |
| 116 | |
| 117 | |
| 118 | |
|
980
82c5865f7cfe
[gaim-migrate @ 990]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
978
diff
changeset
|
119 void serv_send_im(struct gaim_connection *gc, char *name, char *message, int away) |
| 1 | 120 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
121 if (gc->prpl && gc->prpl->send_im) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
122 (*gc->prpl->send_im)(gc, name, message, away); |
|
94
9f6ce50ffb78
[gaim-migrate @ 104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
123 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
124 if (!away) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
125 serv_touch_idle(gc); |
| 1 | 126 } |
| 127 | |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
128 void serv_get_info(struct gaim_connection *g, char *name) |
| 1 | 129 { |
|
1006
0a4d0ed65e17
[gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
130 if (g && g->prpl && g->prpl->get_info) |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
131 (*g->prpl->get_info)(g, name); |
|
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
132 } |
|
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
133 |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
134 void serv_get_away_msg(struct gaim_connection *g, char *name) |
|
249
810c595258c8
[gaim-migrate @ 259]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
248
diff
changeset
|
135 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
136 if (g && g->prpl && g->prpl->get_away_msg) |
|
990
d2d6be9c85fe
[gaim-migrate @ 1000]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
986
diff
changeset
|
137 (*g->prpl->get_away_msg)(g, name); |
| 1 | 138 } |
| 139 | |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
140 void serv_get_dir(struct gaim_connection *g, char *name) |
| 1 | 141 { |
|
1006
0a4d0ed65e17
[gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
142 if (g && g->prpl && g->prpl->get_dir) |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
143 (*g->prpl->get_dir)(g, name); |
| 1 | 144 } |
| 145 | |
|
1102
d7944415b1cc
[gaim-migrate @ 1112]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1100
diff
changeset
|
146 void serv_set_dir(struct gaim_connection *g, char *first, char *middle, char *last, char *maiden, |
| 1 | 147 char *city, char *state, char *country, int web) |
| 148 { | |
|
1006
0a4d0ed65e17
[gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
149 if (g && g->prpl && g->prpl->set_dir) |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
150 (*g->prpl->set_dir)(g, first, middle, last, maiden, city, state, country, web); |
| 1 | 151 } |
| 152 | |
|
1102
d7944415b1cc
[gaim-migrate @ 1112]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1100
diff
changeset
|
153 void serv_dir_search(struct gaim_connection *g, char *first, char *middle, char *last, char *maiden, |
| 1 | 154 char *city, char *state, char *country, char *email) |
| 155 { | |
|
1006
0a4d0ed65e17
[gaim-migrate @ 1016]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
156 if (g && g->prpl && g->prpl->dir_search) |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
157 (*g->prpl->dir_search)(g, first, middle, last, maiden, city, state, country, email); |
| 1 | 158 } |
| 159 | |
| 160 | |
|
1401
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
161 void serv_set_away(struct gaim_connection *gc, char *state, char *message) |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
162 { |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
163 if (gc && gc->prpl && gc->prpl->set_away) |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
164 (*gc->prpl->set_away)(gc, state, message); |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
165 } |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
166 |
|
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
167 void serv_set_away_all(char *message) |
| 1 | 168 { |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
169 GSList *c = connections; |
|
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
170 struct gaim_connection *g; |
|
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
171 |
|
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
172 while (c) { |
|
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
173 g = (struct gaim_connection *)c->data; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
174 if (g->prpl && g->prpl->set_away) |
|
1401
bf041349b11e
[gaim-migrate @ 1411]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
175 (*g->prpl->set_away)(g, GAIM_AWAY_CUSTOM, message); |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
176 c = c->next; |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
177 } |
| 1 | 178 } |
| 179 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
180 void serv_set_info(struct gaim_connection *g, char *info) |
| 1 | 181 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
182 if (g->prpl && g->prpl->set_info) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
183 (*g->prpl->set_info)(g, info); |
|
237
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
200
diff
changeset
|
184 } |
|
6ced2f1c8b24
[gaim-migrate @ 247]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
200
diff
changeset
|
185 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
186 void serv_change_passwd(struct gaim_connection *g, char *orig, char *new) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
187 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
188 if (g->prpl && g->prpl->change_passwd) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
189 (*g->prpl->change_passwd)(g, orig, new); |
| 1 | 190 } |
| 191 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
192 void serv_add_buddy(struct gaim_connection *g, char *name) |
| 1 | 193 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
194 if (g->prpl && g->prpl->add_buddy) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
195 (*g->prpl->add_buddy)(g, name); |
| 1 | 196 } |
| 197 | |
|
1336
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
198 void serv_add_buddies(struct gaim_connection *g, GList *buddies) |
| 1 | 199 { |
|
1336
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
200 if (g->prpl) { |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
201 if (g->prpl->add_buddies) |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
202 (*g->prpl->add_buddies)(g, buddies); |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
203 else if (g->prpl->add_buddy) |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
204 while (buddies) { |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
205 (*g->prpl->add_buddy)(g, buddies->data); |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
206 buddies = buddies->next; |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
207 } |
|
f3303fc05572
[gaim-migrate @ 1346]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1303
diff
changeset
|
208 } |
| 1 | 209 } |
| 210 | |
| 211 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
212 void serv_remove_buddy(struct gaim_connection *g, char *name) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
213 { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
214 if (g->prpl && g->prpl->remove_buddy) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
215 (*g->prpl->remove_buddy)(g, name); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
216 } |
| 1 | 217 |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
218 void serv_add_permit(struct gaim_connection *g, char *name) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
219 { |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
220 if (g->prpl && g->prpl->add_permit) |
|
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
221 (*g->prpl->add_permit)(g, name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
222 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
223 |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
224 void serv_add_deny(struct gaim_connection *g, char *name) |
| 1 | 225 { |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
226 if (g->prpl && g->prpl->add_deny) |
|
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
227 (*g->prpl->add_deny)(g, name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
228 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
229 |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
230 void serv_rem_permit(struct gaim_connection *g, char *name) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
231 { |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
232 if (g->prpl && g->prpl->rem_permit) |
|
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
233 (*g->prpl->rem_permit)(g, name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
234 } |
| 1 | 235 |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
236 void serv_rem_deny(struct gaim_connection *g, char *name) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
237 { |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
238 if (g->prpl && g->prpl->rem_deny) |
|
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
239 (*g->prpl->rem_deny)(g, name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
240 } |
|
678
c72f58814e9f
[gaim-migrate @ 688]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
660
diff
changeset
|
241 |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
242 void serv_set_permit_deny(struct gaim_connection *g) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
243 { |
|
1145
cd96ca1aed02
[gaim-migrate @ 1155]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1140
diff
changeset
|
244 /* this is called when either you import a buddy list, and make lots of changes that way, |
|
cd96ca1aed02
[gaim-migrate @ 1155]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1140
diff
changeset
|
245 * or when the user toggles the permit/deny mode in the prefs. In either case you should |
|
cd96ca1aed02
[gaim-migrate @ 1155]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1140
diff
changeset
|
246 * probably be resetting and resending the permit/deny info when you get this. */ |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
247 if (g->prpl && g->prpl->set_permit_deny) |
|
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
248 (*g->prpl->set_permit_deny)(g); |
| 1 | 249 } |
| 250 | |
| 1026 | 251 |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
252 void serv_set_idle(struct gaim_connection *g, int time) |
| 1 | 253 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
254 if (g->prpl && g->prpl->set_idle) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
255 (*g->prpl->set_idle)(g, time); |
| 1 | 256 } |
| 257 | |
|
976
2586b2a3725e
[gaim-migrate @ 986]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
973
diff
changeset
|
258 void serv_warn(struct gaim_connection *g, char *name, int anon) |
| 1 | 259 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
260 if (g->prpl && g->prpl->warn) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
261 (*g->prpl->warn)(g, name, anon); |
| 1 | 262 } |
| 263 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
264 void serv_accept_chat(struct gaim_connection *g, int i) |
| 1 | 265 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
266 if (g->prpl && g->prpl->accept_chat) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
267 (*g->prpl->accept_chat)(g, i); |
| 1 | 268 } |
| 269 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
270 void serv_join_chat(struct gaim_connection *g, int exchange, char *name) |
| 1 | 271 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
272 if (g->prpl && g->prpl->join_chat) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
273 (*g->prpl->join_chat)(g, exchange, name); |
| 1 | 274 } |
| 275 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
276 void serv_chat_invite(struct gaim_connection *g, int id, char *message, char *name) |
| 1 | 277 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
278 if (g->prpl && g->prpl->chat_invite) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
279 (*g->prpl->chat_invite)(g, id, message, name); |
| 1 | 280 } |
| 281 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
282 void serv_chat_leave(struct gaim_connection *g, int id) |
| 1 | 283 { |
|
1015
c3579d03a0c1
[gaim-migrate @ 1025]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1013
diff
changeset
|
284 /* i think this is the only one this should be necessary for since this is the |
|
c3579d03a0c1
[gaim-migrate @ 1025]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1013
diff
changeset
|
285 * only thing that could possibly get called after the connection is closed */ |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
286 if (!g_slist_find(connections, g)) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
287 return; |
|
1015
c3579d03a0c1
[gaim-migrate @ 1025]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1013
diff
changeset
|
288 |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
289 if (g->prpl && g->prpl->chat_leave) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
290 (*g->prpl->chat_leave)(g, id); |
| 1 | 291 } |
| 292 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
293 void serv_chat_whisper(struct gaim_connection *g, int id, char *who, char *message) |
| 1 | 294 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
295 if (g->prpl && g->prpl->chat_whisper) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
296 (*g->prpl->chat_whisper)(g, id, who, message); |
| 1 | 297 } |
| 298 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
299 void serv_chat_send(struct gaim_connection *g, int id, char *message) |
| 1 | 300 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
301 if (g->prpl && g->prpl->chat_send) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
302 (*g->prpl->chat_send)(g, id, message); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
303 serv_touch_idle(g); |
| 1 | 304 } |
| 305 | |
| 306 | |
| 307 | |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
308 void serv_got_im(struct gaim_connection *gc, char *name, char *message, int away) |
| 1 | 309 { |
| 310 struct conversation *cnv; | |
| 764 | 311 int new_conv = 0; |
| 1 | 312 |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
313 char *buffy = g_strdup(message); |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
314 char *angel = g_strdup(name); |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
315 int plugin_return = plugin_event(event_im_recv, gc, &angel, &buffy, 0); |
| 1339 | 316 |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
317 if (!buffy || !angel || plugin_return) { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
318 if (buffy) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
319 g_free(buffy); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
320 if (angel) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
321 g_free(angel); |
|
94
9f6ce50ffb78
[gaim-migrate @ 104]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
79
diff
changeset
|
322 return; |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
323 } |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
324 g_snprintf(message, strlen(message) + 1, "%s", buffy); |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
325 g_free(buffy); |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
326 g_snprintf(name, strlen(name) + 1, "%s", angel); |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
327 g_free(angel); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
328 |
|
736
d05d746384a7
[gaim-migrate @ 746]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
710
diff
changeset
|
329 if ((general_options & OPT_GEN_TIK_HACK) && awaymessage && |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
330 !strcmp(message, ">>>Automated Message: Getting Away Message<<<")) { |
|
831
97f1ae636ed7
[gaim-migrate @ 841]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
809
diff
changeset
|
331 char *tmpmsg = stylize(awaymessage->message, MSG_LEN); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
332 serv_send_im(gc, name, tmpmsg, 1); |
|
831
97f1ae636ed7
[gaim-migrate @ 841]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
809
diff
changeset
|
333 g_free(tmpmsg); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
334 return; |
|
736
d05d746384a7
[gaim-migrate @ 746]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
710
diff
changeset
|
335 } |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
336 |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
337 cnv = find_conversation(name); |
|
1371
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
338 if (cnv) { |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
339 cnv->gc = gc; |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
340 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu), g_slist_index(connections, gc)); |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
341 update_buttons_by_protocol(cnv); |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
342 } |
| 616 | 343 |
| 344 if (general_options & OPT_GEN_SEND_LINKS) { | |
| 345 linkify_text(message); | |
| 346 } | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
347 |
| 764 | 348 if (away) |
| 349 away = WFLAG_AUTO; | |
| 1 | 350 |
| 351 if (awaymessage != NULL) { | |
| 352 if (!(general_options & OPT_GEN_DISCARD_WHEN_AWAY)) { | |
| 353 if (cnv == NULL) { | |
| 354 new_conv = 1; | |
| 355 cnv = new_conversation(name); | |
|
1371
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
356 cnv->gc = gc; |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
357 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu), |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
358 g_slist_index(connections, gc)); |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
359 update_buttons_by_protocol(cnv); |
| 1 | 360 } |
|
1371
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
361 } else { |
| 1339 | 362 return; |
| 363 } | |
| 1 | 364 if (cnv != NULL) { |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1212
diff
changeset
|
365 play_sound(RECEIVE); |
|
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
447
diff
changeset
|
366 write_to_conv(cnv, message, away | WFLAG_RECV, NULL); |
| 1 | 367 } |
| 368 | |
| 369 } else { | |
| 370 if (cnv == NULL) { | |
| 371 new_conv = 1; | |
| 372 cnv = new_conversation(name); | |
|
1371
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
373 cnv->gc = gc; |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
374 gtk_option_menu_set_history(GTK_OPTION_MENU(cnv->menu), |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
375 g_slist_index(connections, gc)); |
|
1136f7896eeb
[gaim-migrate @ 1381]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1340
diff
changeset
|
376 update_buttons_by_protocol(cnv); |
| 1 | 377 } |
| 378 if (new_conv && (sound_options & OPT_SOUND_FIRST_RCV)) { | |
| 379 play_sound(FIRST_RECEIVE); | |
| 380 } else { | |
| 381 if (cnv->makesound && (sound_options & OPT_SOUND_RECV)) | |
| 382 play_sound(RECEIVE); | |
| 383 } | |
|
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
447
diff
changeset
|
384 write_to_conv(cnv, message, away | WFLAG_RECV, NULL); |
| 1 | 385 } |
| 386 | |
| 387 | |
| 388 | |
| 389 | |
| 764 | 390 if (awaymessage != NULL) { |
| 391 time_t t; | |
|
765
bf31bf916f53
[gaim-migrate @ 775]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
764
diff
changeset
|
392 char *tmpmsg; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
393 struct buddy *b = find_buddy(gc, name); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
394 char *alias = b ? b->show : name; |
| 1 | 395 |
| 764 | 396 time(&t); |
| 1 | 397 |
| 398 | |
| 764 | 399 if ((cnv == NULL) || (t - cnv->sent_away) < 120) |
| 400 return; | |
| 401 | |
| 402 cnv->sent_away = t; | |
| 1 | 403 |
| 764 | 404 /* apply default fonts and colors */ |
|
765
bf31bf916f53
[gaim-migrate @ 775]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
764
diff
changeset
|
405 tmpmsg = stylize(awaymessage->message, MSG_LEN); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
406 |
|
980
82c5865f7cfe
[gaim-migrate @ 990]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
978
diff
changeset
|
407 serv_send_im(gc, name, away_subs(tmpmsg, alias), 1); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
408 |
| 764 | 409 if (cnv != NULL) |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
410 write_to_conv(cnv, away_subs(tmpmsg, alias), WFLAG_SEND | WFLAG_AUTO, NULL); |
|
765
bf31bf916f53
[gaim-migrate @ 775]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
764
diff
changeset
|
411 g_free(tmpmsg); |
| 764 | 412 } |
| 1 | 413 } |
| 414 | |
| 415 | |
| 416 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
417 void serv_got_update(struct gaim_connection *gc, char *name, int loggedin, int evil, time_t signon, |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
418 time_t idle, int type, gushort caps) |
| 1 | 419 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
420 struct buddy *b = find_buddy(gc, name); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
421 |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
422 if (!b) { |
|
1376
730a1a19b4cc
[gaim-migrate @ 1386]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1371
diff
changeset
|
423 debug_printf("Error, no such buddy %s\n", name); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
424 return; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
425 } |
| 1 | 426 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
427 /* This code will 'align' the name from the TOC */ |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
428 /* server with what's in our record. We want to */ |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
429 /* store things how THEY want it... */ |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
430 if (strcmp(name, b->name)) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
431 GList *cnv = conversations; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
432 struct conversation *cv; |
| 1 | 433 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
434 char *who = g_malloc(80); |
| 1 | 435 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
436 strcpy(who, normalize(name)); |
| 1 | 437 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
438 while (cnv) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
439 cv = (struct conversation *)cnv->data; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
440 if (!strcasecmp(who, normalize(cv->name))) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
441 g_snprintf(cv->name, sizeof(cv->name), "%s", name); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
442 if (find_log_info(name) || (general_options & OPT_GEN_LOG_ALL)) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
443 g_snprintf(who, 63, LOG_CONVERSATION_TITLE, name); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
444 else |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
445 g_snprintf(who, 63, CONVERSATION_TITLE, name); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
446 gtk_window_set_title(GTK_WINDOW(cv->window), who); |
| 79 | 447 /* was g_free(buf), but break gives us that |
| 448 * and freeing twice is not good --Sumner */ | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
449 break; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
450 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
451 cnv = cnv->next; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
452 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
453 g_free(who); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
454 g_snprintf(b->name, sizeof(b->name), "%s", name); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
455 /*gtk_label_set_text(GTK_LABEL(b->label), b->name); */ |
| 1 | 456 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
457 /* okay lets save the new config... */ |
| 1 | 458 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
459 } |
| 1 | 460 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
461 if (!b->idle && idle) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
462 plugin_event(event_buddy_idle, gc, b->name, 0, 0); |
| 1140 | 463 if (b->idle && !idle) { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
464 do_pounce(b->name, OPT_POUNCE_UNIDLE); |
| 1140 | 465 plugin_event(event_buddy_unidle, gc, b->name, 0, 0); |
| 466 } | |
|
1000
91b7377e7b45
[gaim-migrate @ 1010]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
990
diff
changeset
|
467 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
468 b->idle = idle; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
469 b->evil = evil; |
|
780
c714def9cebb
[gaim-migrate @ 790]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
771
diff
changeset
|
470 |
|
136
4e91b92f91a7
[gaim-migrate @ 146]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
115
diff
changeset
|
471 if ((b->uc & UC_UNAVAILABLE) && !(type & UC_UNAVAILABLE)) { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
472 do_pounce(b->name, OPT_POUNCE_UNAWAY); |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
473 plugin_event(event_buddy_back, gc, b->name, 0, 0); |
|
780
c714def9cebb
[gaim-migrate @ 790]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
771
diff
changeset
|
474 } else if (!(b->uc & UC_UNAVAILABLE) && (type & UC_UNAVAILABLE)) { |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
475 plugin_event(event_buddy_away, gc, b->name, 0, 0); |
|
136
4e91b92f91a7
[gaim-migrate @ 146]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
115
diff
changeset
|
476 } |
|
780
c714def9cebb
[gaim-migrate @ 790]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
771
diff
changeset
|
477 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
478 b->uc = type; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
479 if (caps) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
480 b->caps = caps; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
481 |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
482 b->signon = signon; |
| 1 | 483 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
484 if (loggedin) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
485 if (!b->present) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
486 b->present = 1; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
487 do_pounce(b->name, OPT_POUNCE_SIGNON); |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
488 plugin_event(event_buddy_signon, gc, b->name, 0, 0); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
489 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
490 } else { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
491 if (b->present) |
|
1038
daad2440a642
[gaim-migrate @ 1048]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1032
diff
changeset
|
492 plugin_event(event_buddy_signoff, gc, b->name, 0, 0); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
493 b->present = 0; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1026
diff
changeset
|
494 } |
| 1 | 495 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
496 set_buddy(gc, b); |
| 1 | 497 } |
| 498 | |
| 499 static | |
| 500 void close_warned(GtkWidget *w, GtkWidget *w2) | |
| 501 { | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
502 gtk_widget_destroy(w2); |
| 1 | 503 } |
| 504 | |
| 505 | |
| 506 | |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
507 void serv_got_eviled(struct gaim_connection *gc, char *name, int lev) |
| 1 | 508 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
509 char *buf2 = g_malloc(1024); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
510 GtkWidget *d, *label, *close; |
| 1 | 511 |
| 512 | |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
513 plugin_event(event_warned, gc, name, (void *)lev, 0); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
514 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
515 g_snprintf(buf2, 1023, "%s have just been warned by %s.\nYour new warning level is %d%%", |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
516 gc->username, ((name == NULL)? "an anonymous person" : name), lev); |
| 1 | 517 |
| 518 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
519 d = gtk_dialog_new(); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
520 gtk_widget_realize(d); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
521 aol_icon(d->window); |
| 1 | 522 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
523 label = gtk_label_new(buf2); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
524 gtk_widget_show(label); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
525 close = gtk_button_new_with_label("Close"); |
|
535
f03f041c1aa9
[gaim-migrate @ 545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
528
diff
changeset
|
526 if (display_options & OPT_DISP_COOL_LOOK) |
|
f03f041c1aa9
[gaim-migrate @ 545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
528
diff
changeset
|
527 gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
528 gtk_widget_show(close); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
529 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
530 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), close, FALSE, FALSE, 5); |
| 1 | 531 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
532 gtk_window_set_title(GTK_WINDOW(d), "Warned"); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
533 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(close_warned), d); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
534 gtk_widget_show(d); |
| 1 | 535 } |
| 536 | |
| 537 | |
| 538 | |
| 539 static void close_invite(GtkWidget *w, GtkWidget *w2) | |
| 540 { | |
| 541 gtk_widget_destroy(w2); | |
| 542 } | |
| 543 | |
| 544 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2) | |
| 545 { | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
546 struct gaim_connection *g = (struct gaim_connection *) |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
547 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox)); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
548 if (g->protocol == PROTO_TOC) { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
549 int i = (int)gtk_object_get_user_data(GTK_OBJECT(w2)); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
550 serv_accept_chat(g, i); |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
551 gtk_widget_destroy(w2); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
931
diff
changeset
|
552 } else if (g->protocol == PROTO_OSCAR) { |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
553 char *i = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); |
|
693
30a8e386849d
[gaim-migrate @ 703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
692
diff
changeset
|
554 int id = (int)gtk_object_get_user_data(GTK_OBJECT(w)); |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
555 serv_join_chat(g, id, i); |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
556 g_free(i); |
|
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
557 gtk_widget_destroy(w2); |
|
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
558 } |
| 1 | 559 } |
| 560 | |
| 561 | |
| 562 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
563 void serv_got_chat_invite(struct gaim_connection *g, char *name, int id, char *who, char *message) |
| 1 | 564 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
565 GtkWidget *d; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
566 GtkWidget *label; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
567 GtkWidget *yesbtn; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
568 GtkWidget *nobtn; |
| 1 | 569 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
570 char buf2[BUF_LONG]; |
| 1 | 571 |
| 572 | |
|
1000
91b7377e7b45
[gaim-migrate @ 1010]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
990
diff
changeset
|
573 plugin_event(event_chat_invited, g, who, name, message); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
574 |
|
414
f9dc74875833
[gaim-migrate @ 424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
411
diff
changeset
|
575 if (message) |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
576 g_snprintf(buf2, sizeof(buf2), "User '%s' invites %s to buddy chat room: '%s'\n%s", who, |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
577 g->username, name, message); |
|
414
f9dc74875833
[gaim-migrate @ 424]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
411
diff
changeset
|
578 else |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
579 g_snprintf(buf2, sizeof(buf2), "User '%s' invites %s to buddy chat room: '%s'\n", who, |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
580 g->username, name); |
| 1 | 581 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
582 d = gtk_dialog_new(); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
583 gtk_widget_realize(d); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
584 aol_icon(d->window); |
| 1 | 585 |
| 586 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
587 label = gtk_label_new(buf2); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
588 gtk_widget_show(label); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
589 yesbtn = picture_button(d, _("Yes"), ok_xpm); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
590 nobtn = picture_button(d, _("No"), cancel_xpm); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
591 gtk_widget_show(nobtn); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
592 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
593 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
594 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5); |
| 1 | 595 |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
596 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); |
|
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
597 if (g->protocol == PROTO_TOC) { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
598 gtk_object_set_user_data(GTK_OBJECT(d), (void *)id); |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
599 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); |
|
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
600 } else if (g->protocol == PROTO_OSCAR) { |
|
423
0d4e80bdb96b
[gaim-migrate @ 433]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
414
diff
changeset
|
601 gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name)); |
|
693
30a8e386849d
[gaim-migrate @ 703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
692
diff
changeset
|
602 gtk_object_set_user_data(GTK_OBJECT(yesbtn), (void *)id); |
|
30a8e386849d
[gaim-migrate @ 703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
692
diff
changeset
|
603 } |
| 1 | 604 |
| 605 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
606 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite"); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
607 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
608 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d); |
| 1 | 609 |
| 610 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
611 gtk_widget_show(d); |
| 1 | 612 } |
| 613 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
614 void serv_got_joined_chat(struct gaim_connection *gc, int id, char *name) |
| 1 | 615 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
616 struct conversation *b; |
| 1 | 617 |
|
1000
91b7377e7b45
[gaim-migrate @ 1010]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
990
diff
changeset
|
618 plugin_event(event_chat_join, gc, name, 0, 0); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
619 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
620 b = (struct conversation *)g_new0(struct conversation, 1); |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
621 gc->buddy_chats = g_slist_append(gc->buddy_chats, b); |
| 1 | 622 |
|
472
6a92cd7322cc
[gaim-migrate @ 482]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
447
diff
changeset
|
623 b->is_chat = TRUE; |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
624 b->ignored = NULL; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
625 b->in_room = NULL; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
626 b->id = id; |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
627 b->gc = gc; |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
628 g_snprintf(b->name, 80, "%s", name); |
| 888 | 629 |
| 630 if ((general_options & OPT_GEN_LOG_ALL) || find_log_info(b->name)) { | |
| 631 FILE *fd; | |
| 632 char *filename; | |
| 633 | |
| 634 filename = (char *)malloc(100); | |
|
1212
a487b35ac05a
[gaim-migrate @ 1222]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1191
diff
changeset
|
635 g_snprintf(filename, 100, "%s.chat", b->name); |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
636 |
| 888 | 637 fd = open_log_file(filename); |
| 638 if (!(general_options & OPT_GEN_STRIP_HTML)) | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
639 fprintf(fd, |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
640 "<HR><BR><H3 Align=Center> ---- New Conversation @ %s ----</H3><BR>\n", |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
641 full_date()); |
| 888 | 642 else |
| 643 fprintf(fd, "---- New Conversation @ %s ----\n", full_date()); | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
644 |
| 888 | 645 fclose(fd); |
| 646 free(filename); | |
| 647 } | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
648 |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
649 show_new_buddy_chat(b); |
| 1 | 650 } |
| 651 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
652 void serv_got_chat_left(struct gaim_connection *g, int id) |
| 1 | 653 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
654 GSList *bcs = g->buddy_chats; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
655 struct conversation *b = NULL; |
| 1 | 656 |
| 657 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
658 while (bcs) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
659 b = (struct conversation *)bcs->data; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
660 if (id == b->id) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
661 break; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
662 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
663 b = NULL; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
664 bcs = bcs->next; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
665 } |
| 1 | 666 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
667 if (!b) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
668 return; |
| 1 | 669 |
|
1000
91b7377e7b45
[gaim-migrate @ 1010]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
990
diff
changeset
|
670 plugin_event(event_chat_leave, g, b->name, 0, 0); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
671 |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
672 debug_printf("Leaving room %s.\n", b->name); |
| 1 | 673 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
674 g->buddy_chats = g_slist_remove(g->buddy_chats, b); |
| 1 | 675 |
|
1053
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
676 while (b->in_room) { |
|
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
677 char *tmp = b->in_room->data; |
|
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
678 b->in_room = g_list_remove(b->in_room, tmp); |
|
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
679 g_free(tmp); |
|
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
680 } |
|
864f4aae0b60
[gaim-migrate @ 1063]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1051
diff
changeset
|
681 |
|
1303
9c34f99af79e
[gaim-migrate @ 1313]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1292
diff
changeset
|
682 while (b->ignored) { |
|
9c34f99af79e
[gaim-migrate @ 1313]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1292
diff
changeset
|
683 g_free(b->ignored->data); |
|
9c34f99af79e
[gaim-migrate @ 1313]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1292
diff
changeset
|
684 b->ignored = g_list_remove(b->ignored, b->ignored->data); |
|
9c34f99af79e
[gaim-migrate @ 1313]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1292
diff
changeset
|
685 } |
|
9c34f99af79e
[gaim-migrate @ 1313]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1292
diff
changeset
|
686 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
687 g_free(b); |
| 1 | 688 } |
| 689 | |
|
964
2cd7b73e2c9a
[gaim-migrate @ 974]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
962
diff
changeset
|
690 void serv_got_chat_in(struct gaim_connection *g, int id, char *who, int whisper, char *message) |
| 1 | 691 { |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
692 int w; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
693 GSList *bcs = g->buddy_chats; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
694 struct conversation *b = NULL; |
| 1 | 695 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
696 while (bcs) { |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
697 b = (struct conversation *)bcs->data; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
698 if (id == b->id) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
699 break; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
700 bcs = bcs->next; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
701 b = NULL; |
| 1 | 702 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
703 } |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
704 if (!b) |
|
1100
f168625b63fe
[gaim-migrate @ 1110]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
705 return; |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
368
diff
changeset
|
706 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
707 if (plugin_event(event_chat_recv, g, b->name, who, message)) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
708 return; |
| 1 | 709 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
710 if (whisper) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
711 w = WFLAG_WHISPER; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
712 else |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
713 w = 0; |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
714 |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
715 chat_write(b, who, w, message); |
| 1 | 716 } |
| 717 | |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
718 void send_keepalive(gpointer d) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
719 { |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
720 struct gaim_connection *gc = (struct gaim_connection *)d; |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
721 if (gc->prpl && gc->prpl->keepalive) |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
722 (*gc->prpl->keepalive)(gc); |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
723 } |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
724 |
|
1252
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
725 void update_keepalive(struct gaim_connection *gc, gboolean on) |
|
46c09828e929
[gaim-migrate @ 1262]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1250
diff
changeset
|
726 { |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1145
diff
changeset
|
727 if (on && !gc->keepalive && blist) { |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
728 debug_printf("allowing NOP\n"); |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
729 gc->keepalive = gtk_timeout_add(60000, (GtkFunction)send_keepalive, gc); |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1145
diff
changeset
|
730 } else if (!on && gc->keepalive > 0) { |
|
1250
b5783215b245
[gaim-migrate @ 1260]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
731 debug_printf("removing NOP\n"); |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
732 gtk_timeout_remove(gc->keepalive); |
|
1153
3063e6743913
[gaim-migrate @ 1163]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1145
diff
changeset
|
733 gc->keepalive = 0; |
|
981
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
734 } |
|
7e231bc0018a
[gaim-migrate @ 991]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
980
diff
changeset
|
735 } |
