Tue, 22 Aug 2000 00:37:01 +0000
[gaim-migrate @ 746]
Eric the Lumberjack continues to hack away at the tree. When people ask
what kinds of trees Eric hacks, he simply replied "CVS trees. They're
mostly used for computer stuff". Then the ignorants go away, thinking
they have been enlightened into the world of computers, which unknowingly
they have been.
| 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
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
344
diff
changeset
|
22 | #ifdef HAVE_CONFIG_H |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
344
diff
changeset
|
23 | #include "../config.h" |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
344
diff
changeset
|
24 | #endif |
| 1 | 25 | #include <string.h> |
| 26 | #include <sys/time.h> | |
| 27 | #include <unistd.h> | |
| 28 | #include <stdio.h> | |
| 29 | #include <stdlib.h> | |
| 30 | #include <gtk/gtk.h> | |
| 31 | #include "gtkhtml.h" | |
|
300
a6c19f404e08
[gaim-migrate @ 310]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
226
diff
changeset
|
32 | #include <gdk/gdkkeysyms.h> |
| 1 | 33 | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
34 | #include "convo.h" |
|
344
6dacf96cc000
[gaim-migrate @ 354]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
35 | |
|
604
a20b54408619
[gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
535
diff
changeset
|
36 | #include "pixmaps/join.xpm" |
|
a20b54408619
[gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
535
diff
changeset
|
37 | #include "pixmaps/cancel.xpm" |
|
a20b54408619
[gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
535
diff
changeset
|
38 | |
|
a20b54408619
[gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
535
diff
changeset
|
39 | |
| 1 | 40 | static GtkWidget *joinchat; |
| 41 | static GtkWidget *entry; | |
| 42 | static GtkWidget *invite; | |
| 43 | static GtkWidget *inviteentry; | |
| 44 | static GtkWidget *invitemess; | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
45 | static int community; |
|
344
6dacf96cc000
[gaim-migrate @ 354]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
46 | extern int state_lock; |
| 1 | 47 | |
| 48 | static void destroy_join_chat() | |
| 49 | { | |
| 50 | if (joinchat) | |
| 51 | gtk_widget_destroy(joinchat); | |
| 52 | joinchat=NULL; | |
| 53 | } | |
| 54 | ||
| 55 | static void destroy_invite() | |
| 56 | { | |
| 57 | if (invite) | |
| 58 | gtk_widget_destroy(invite); | |
| 59 | invite=NULL; | |
| 60 | } | |
| 61 | ||
| 62 | ||
|
694
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
63 | struct conversation *find_chat(char *name) |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
64 | { |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
65 | char cuser[64]; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
66 | struct conversation *c = NULL; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
67 | GList *cnv = buddy_chats; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
68 | |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
69 | strcpy(cuser, normalize(name)); |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
70 | |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
71 | while (cnv) { |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
72 | c = (struct conversation *)cnv->data; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
73 | if (!strcasecmp(cuser, normalize(c->name))) { |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
74 | return c; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
75 | } |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
76 | cnv = cnv->next; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
77 | } |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
78 | return NULL; |
|
1577e85770be
[gaim-migrate @ 704]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
692
diff
changeset
|
79 | } |
| 1 | 80 | |
| 81 | ||
| 82 | static void do_join_chat() | |
| 83 | { | |
| 84 | char *group; | |
| 85 | ||
| 86 | group = gtk_entry_get_text(GTK_ENTRY(entry)); | |
| 87 | ||
| 88 | if (joinchat) { | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
89 | serv_join_chat(community + 4, group); |
| 1 | 90 | gtk_widget_destroy(joinchat); |
| 91 | } | |
| 92 | joinchat=NULL; | |
| 93 | } | |
| 94 | ||
| 95 | ||
| 96 | ||
| 97 | void join_chat() | |
| 98 | { | |
| 99 | GtkWidget *cancel; | |
| 100 | GtkWidget *join; | |
| 101 | GtkWidget *label; | |
| 102 | GtkWidget *bbox; | |
| 103 | GtkWidget *vbox; | |
| 104 | GtkWidget *topbox; | |
| 457 | 105 | GtkWidget *frame; |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
106 | GtkWidget *opt; |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
107 | GtkWidget *hbox; |
| 456 | 108 | |
| 1 | 109 | if (!joinchat) { |
| 457 | 110 | joinchat = gtk_window_new(GTK_WINDOW_DIALOG); |
| 485 | 111 | gtk_widget_set_usize(joinchat, 300, 100); |
| 457 | 112 | gtk_window_set_policy(GTK_WINDOW(joinchat), FALSE, FALSE, TRUE); |
| 456 | 113 | gtk_widget_show(joinchat); |
| 1 | 114 | bbox = gtk_hbox_new(TRUE, 10); |
| 115 | topbox = gtk_hbox_new(FALSE, 5); | |
| 116 | vbox = gtk_vbox_new(FALSE, 5); | |
| 117 | entry = gtk_entry_new(); | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
118 | hbox = gtk_hbox_new(TRUE, 10); |
| 1 | 119 | |
| 457 | 120 | frame = gtk_frame_new(_("Buddy Chat")); |
| 456 | 121 | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
122 | join = picture_button(joinchat, _("Join"), join_xpm); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
123 | cancel = picture_button(joinchat, _("Cancel"), cancel_xpm); |
| 456 | 124 | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
125 | gtk_box_pack_start(GTK_BOX(bbox), join, FALSE, FALSE, 5); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
126 | gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
| 456 | 127 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
128 | label = gtk_label_new(_("Join what group:")); |
| 1 | 129 | gtk_widget_show(label); |
| 130 | gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 131 | gtk_box_pack_start(GTK_BOX(topbox), entry, FALSE, FALSE, 5); | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
132 | |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
133 | opt = gtk_radio_button_new_with_label(NULL, |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
134 | _("AIM Private Chats")); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
135 | gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
136 | community = 0; |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
137 | gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
138 | gtk_signal_connect(GTK_OBJECT(opt), "clicked", set_option, &community); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
139 | gtk_widget_show(opt); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
140 | |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
141 | opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(opt)), |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
142 | _("AOL Community Chats")); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
143 | gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 0); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
144 | gtk_widget_show(opt); |
|
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
145 | |
| 1 | 146 | /* And the boxes in the box */ |
| 147 | gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
148 | gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 5); |
| 457 | 149 | gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
| 1 | 150 | |
| 151 | /* Handle closes right */ | |
| 152 | gtk_signal_connect(GTK_OBJECT(joinchat), "delete_event", | |
| 153 | GTK_SIGNAL_FUNC(destroy_join_chat), joinchat); | |
| 154 | ||
| 155 | gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | |
| 156 | GTK_SIGNAL_FUNC(destroy_join_chat), joinchat); | |
| 157 | gtk_signal_connect(GTK_OBJECT(join), "clicked", | |
| 158 | GTK_SIGNAL_FUNC(do_join_chat), joinchat); | |
| 159 | gtk_signal_connect(GTK_OBJECT(entry), "activate", | |
| 160 | GTK_SIGNAL_FUNC(do_join_chat), joinchat); | |
| 161 | /* Finish up */ | |
| 162 | gtk_widget_show(join); | |
| 163 | gtk_widget_show(cancel); | |
| 164 | gtk_widget_show(entry); | |
| 165 | gtk_widget_show(topbox); | |
|
692
38c3f73d6230
[gaim-migrate @ 702]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
666
diff
changeset
|
166 | gtk_widget_show(hbox); |
| 1 | 167 | gtk_widget_show(bbox); |
| 168 | gtk_widget_show(vbox); | |
| 457 | 169 | gtk_widget_show(frame); |
| 170 | gtk_container_add(GTK_CONTAINER(frame), vbox); | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
171 | gtk_window_set_title(GTK_WINDOW(joinchat), _("Join Chat")); |
| 1 | 172 | gtk_window_set_focus(GTK_WINDOW(joinchat), entry); |
| 457 | 173 | gtk_container_add(GTK_CONTAINER(joinchat), frame); |
| 174 | gtk_container_set_border_width(GTK_CONTAINER(joinchat), 5); | |
| 1 | 175 | gtk_widget_realize(joinchat); |
| 176 | aol_icon(joinchat->window); | |
| 177 | ||
| 178 | } | |
| 179 | gtk_widget_show(joinchat); | |
| 180 | } | |
| 181 | ||
| 182 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
183 | static void do_invite(GtkWidget *w, struct conversation *b) |
| 1 | 184 | { |
| 185 | char *buddy; | |
| 186 | char *mess; | |
| 187 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
188 | if (!b->is_chat) { |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
189 | debug_print("do_invite: expecting chat, got IM\n"); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
190 | return; |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
191 | } |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
192 | |
| 1 | 193 | buddy = gtk_entry_get_text(GTK_ENTRY(inviteentry)); |
| 194 | mess = gtk_entry_get_text(GTK_ENTRY(invitemess)); | |
| 195 | ||
| 196 | if (invite) { | |
| 197 | serv_chat_invite(b->id, mess, buddy); | |
| 198 | gtk_widget_destroy(invite); | |
| 199 | } | |
| 200 | invite=NULL; | |
| 201 | } | |
| 202 | ||
| 203 | ||
| 204 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
205 | void invite_callback(GtkWidget *w, struct conversation *b) |
| 1 | 206 | { |
| 207 | GtkWidget *cancel; | |
| 208 | GtkWidget *invite_btn; | |
| 209 | GtkWidget *label; | |
| 210 | GtkWidget *bbox; | |
| 211 | GtkWidget *vbox; | |
| 212 | GtkWidget *topbox; | |
| 213 | if (!invite) { | |
| 214 | invite = gtk_window_new(GTK_WINDOW_DIALOG); | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
215 | cancel = gtk_button_new_with_label(_("Cancel")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
216 | invite_btn = gtk_button_new_with_label(_("Invite")); |
| 1 | 217 | bbox = gtk_hbox_new(TRUE, 10); |
| 218 | topbox = gtk_hbox_new(FALSE, 5); | |
| 219 | vbox = gtk_vbox_new(FALSE, 5); | |
| 220 | inviteentry = gtk_entry_new(); | |
| 221 | invitemess = gtk_entry_new(); | |
| 222 | ||
|
535
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
223 | if (display_options & OPT_DISP_COOL_LOOK) |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
224 | { |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
225 | gtk_button_set_relief(GTK_BUTTON(cancel), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
226 | gtk_button_set_relief(GTK_BUTTON(invite_btn), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
227 | } |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
228 | |
| 1 | 229 | /* Put the buttons in the box */ |
| 230 | gtk_box_pack_start(GTK_BOX(bbox), invite_btn, TRUE, TRUE, 10); | |
| 231 | gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 10); | |
| 232 | ||
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
233 | label = gtk_label_new(_("Invite who?")); |
| 1 | 234 | gtk_widget_show(label); |
| 235 | gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 236 | gtk_box_pack_start(GTK_BOX(topbox), inviteentry, FALSE, FALSE, 5); | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
237 | label = gtk_label_new(_("With message:")); |
| 1 | 238 | gtk_widget_show(label); |
| 239 | gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 240 | gtk_box_pack_start(GTK_BOX(topbox), invitemess, FALSE, FALSE, 5); | |
| 241 | ||
| 242 | /* And the boxes in the box */ | |
| 243 | gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | |
| 244 | gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | |
| 245 | ||
| 246 | /* Handle closes right */ | |
| 247 | gtk_signal_connect(GTK_OBJECT(invite), "delete_event", | |
| 248 | GTK_SIGNAL_FUNC(destroy_invite), invite); | |
| 249 | ||
| 250 | gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | |
| 251 | GTK_SIGNAL_FUNC(destroy_invite), b); | |
| 252 | gtk_signal_connect(GTK_OBJECT(invite_btn), "clicked", | |
| 253 | GTK_SIGNAL_FUNC(do_invite), b); | |
| 254 | gtk_signal_connect(GTK_OBJECT(inviteentry), "activate", | |
| 255 | GTK_SIGNAL_FUNC(do_invite), b); | |
| 256 | /* Finish up */ | |
| 257 | gtk_widget_show(invite_btn); | |
| 258 | gtk_widget_show(cancel); | |
| 259 | gtk_widget_show(inviteentry); | |
| 260 | gtk_widget_show(invitemess); | |
| 261 | gtk_widget_show(topbox); | |
| 262 | gtk_widget_show(bbox); | |
| 263 | gtk_widget_show(vbox); | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
264 | gtk_window_set_title(GTK_WINDOW(invite), _("Invite to Buddy Chat")); |
| 1 | 265 | gtk_window_set_focus(GTK_WINDOW(invite), inviteentry); |
| 266 | gtk_container_add(GTK_CONTAINER(invite), vbox); | |
| 267 | gtk_widget_realize(invite); | |
| 268 | aol_icon(invite->window); | |
| 269 | ||
| 270 | } | |
| 271 | gtk_widget_show(invite); | |
| 272 | } | |
| 273 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
274 | gboolean meify(char *message) { |
|
415
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
275 | /* read /me-ify : if the message (post-HTML) starts with /me, remove |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
276 | * the "/me " part of it (including that space) and return TRUE */ |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
277 | char *c = message; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
278 | int inside_HTML = 0; /* i really don't like descriptive names */ |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
279 | if (!c) return FALSE; /* um... this would be very bad if this happens */ |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
280 | while (*c) { |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
281 | if (inside_HTML) { |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
282 | if (*c == '>') inside_HTML = 0; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
283 | } else { |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
284 | if (*c == '<') inside_HTML = 1; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
285 | else break; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
286 | } |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
287 | c++; /* i really don't like c++ either */ |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
288 | } |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
289 | /* k, so now we've gotten past all the HTML crap. */ |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
290 | if (!*c) return FALSE; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
291 | if (!strncmp(c, "/me ", 4)) { |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
292 | sprintf(c, "%s", c+4); |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
293 | return TRUE; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
294 | } else |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
295 | return FALSE; |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
296 | } |
|
3ee978f88b41
[gaim-migrate @ 425]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
411
diff
changeset
|
297 | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
298 | void chat_write(struct conversation *b, char *who, int flag, char *message) |
| 1 | 299 | { |
| 300 | GList *ignore = b->ignored; | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
301 | char *str; |
| 1 | 302 | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
303 | if (!b->is_chat) { |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
304 | debug_print("chat_write: expecting chat, got IM\n"); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
305 | return; |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
306 | } |
| 1 | 307 | |
| 308 | while(ignore) { | |
| 309 | if (!strcasecmp(who, ignore->data)) | |
| 310 | return; | |
| 311 | ignore = ignore->next; | |
| 312 | } | |
|
371
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
313 | |
| 1 | 314 | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
315 | if (!(flag & WFLAG_WHISPER)) { |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
316 | str = g_strdup(normalize(who)); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
317 | if (!strcasecmp(str, normalize(current_user->username))) { |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
318 | sprintf(debug_buff, "%s %s\n", normalize(who), normalize(current_user->username)); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
319 | debug_print(debug_buff); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
320 | if (b->makesound && (sound_options & OPT_SOUND_CHAT_SAY)) |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
321 | play_sound(SEND); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
322 | flag |= WFLAG_SEND; |
|
371
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
323 | } else { |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
324 | if (b->makesound && (sound_options & OPT_SOUND_CHAT_SAY)) |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
325 | play_sound(RECEIVE); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
326 | flag |= WFLAG_RECV; |
|
371
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
327 | } |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
328 | g_free(str); |
| 1 | 329 | } |
| 330 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
331 | write_to_conv(b, message, flag, who); |
| 1 | 332 | } |
| 333 | ||
| 334 | ||
|
368
07791993f5c3
[gaim-migrate @ 378]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
363
diff
changeset
|
335 | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
336 | void whisper_callback(GtkWidget *widget, struct conversation *b) |
| 1 | 337 | { |
| 79 | 338 | char buf[BUF_LEN*4]; |
| 1 | 339 | char buf2[BUF_LONG]; |
| 340 | GList *selected; | |
| 341 | char *who; | |
| 342 | ||
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
300
diff
changeset
|
343 | strncpy(buf, gtk_editable_get_chars(GTK_EDITABLE(b->entry), 0, -1), sizeof(buf)/2); |
| 1 | 344 | if (!strlen(buf)) |
| 345 | return; | |
| 346 | ||
| 347 | selected = GTK_LIST(b->list)->selection; | |
| 348 | ||
| 349 | if (!selected) | |
| 350 | return; | |
| 351 | ||
| 352 | ||
| 353 | who = GTK_LABEL(gtk_container_children(GTK_CONTAINER(selected->data))->data)->label; | |
| 354 | ||
| 355 | if (!who) | |
| 356 | return; | |
| 357 | ||
|
338
21c93bc7ae83
[gaim-migrate @ 348]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
300
diff
changeset
|
358 | gtk_editable_delete_text(GTK_EDITABLE(b->entry), 0, -1); |
| 1 | 359 | |
| 360 | escape_text(buf); | |
| 361 | serv_chat_whisper(b->id, who, buf); | |
| 362 | ||
| 363 | g_snprintf(buf2, sizeof(buf2), "%s->%s", current_user->username, who); | |
| 364 | ||
| 365 | chat_write(b, buf2, WFLAG_WHISPER, buf); | |
| 366 | ||
| 367 | gtk_widget_grab_focus(GTK_WIDGET(b->entry)); | |
| 368 | ||
| 369 | ||
| 370 | } | |
| 371 | ||
| 372 | ||
| 373 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
374 | void update_chat_list(struct conversation *b) |
| 1 | 375 | { |
| 376 | GtkWidget *list_item; | |
| 377 | char name[80]; | |
| 378 | char *tmp; | |
| 379 | GList *names = b->in_room; | |
| 380 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
381 | if (!b->is_chat) { |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
382 | debug_print("update_chat_list: expecting chat, got IM\n"); |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
383 | return; |
|
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
384 | } |
| 1 | 385 | |
| 386 | gtk_list_clear_items(GTK_LIST(b->list), 0, -1); | |
| 387 | ||
| 388 | ||
| 389 | while(names) { | |
| 390 | tmp = (char *)names->data; | |
| 391 | if (g_list_index(b->ignored, names->data) != -1) | |
| 392 | g_snprintf(name, sizeof(name), "X %s", tmp); | |
| 393 | else | |
| 394 | g_snprintf(name, sizeof(name), "%s", tmp); | |
| 395 | ||
| 396 | list_item = gtk_list_item_new_with_label(name); | |
| 397 | gtk_widget_show(list_item); | |
| 398 | gtk_object_set_user_data(GTK_OBJECT(list_item), tmp); | |
| 399 | ||
| 400 | gtk_list_append_items(GTK_LIST(b->list), g_list_append(NULL, list_item)); | |
| 401 | ||
| 402 | names = names->next; | |
| 403 | } | |
| 404 | ||
| 405 | } | |
| 406 | ||
| 407 | ||
| 408 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
409 | void add_chat_buddy(struct conversation *b, char *buddy) |
| 1 | 410 | { |
| 411 | char *name = g_strdup(buddy); | |
|
612
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
412 | char tmp[BUF_LONG]; |
| 1 | 413 | |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
414 | #ifdef GAIM_PLUGINS |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
415 | GList *c = callbacks; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
416 | struct gaim_callback *g; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
417 | void (*function)(char *, char *, void *); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
418 | while (c) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
419 | g = (struct gaim_callback *)c->data; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
420 | if (g->event == event_chat_buddy_join && g->function != NULL) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
421 | function = g->function; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
422 | (*function)(b->name, name, g->data); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
423 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
424 | c = c->next; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
425 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
426 | #endif |
| 1 | 427 | b->in_room = g_list_append(b->in_room, name); |
| 428 | ||
| 429 | update_chat_list(b); | |
| 430 | ||
|
371
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
431 | if (b->makesound && (sound_options & OPT_SOUND_CHAT_JOIN)) |
|
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
432 | play_sound(BUDDY_ARRIVE); |
|
612
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
433 | |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
434 | if (display_options & OPT_DISP_CHAT_LOGON) { |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
435 | g_snprintf(tmp, sizeof(tmp), _("<B>%s entered the room.</B>"), name); |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
436 | write_to_conv(b, tmp, WFLAG_SYSTEM, NULL); |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
437 | } |
| 1 | 438 | } |
| 439 | ||
| 440 | ||
| 441 | ||
| 442 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
443 | void remove_chat_buddy(struct conversation *b, char *buddy) |
| 1 | 444 | { |
| 445 | GList *names = b->in_room; | |
|
612
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
446 | char tmp[BUF_LONG]; |
| 1 | 447 | |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
448 | #ifdef GAIM_PLUGINS |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
449 | GList *c = callbacks; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
450 | struct gaim_callback *g; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
451 | void (*function)(char *, char *, void *); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
452 | while (c) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
453 | g = (struct gaim_callback *)c->data; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
454 | if (g->event == event_chat_buddy_leave && g->function != NULL) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
455 | function = g->function; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
456 | (*function)(b->name, buddy, g->data); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
457 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
458 | c = c->next; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
459 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
460 | #endif |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
375
diff
changeset
|
461 | |
| 1 | 462 | while(names) { |
| 463 | if (!strcasecmp((char *)names->data, buddy)) { | |
| 464 | b->in_room = g_list_remove(b->in_room, names->data); | |
| 465 | update_chat_list(b); | |
| 466 | break; | |
| 467 | } | |
| 468 | names = names->next; | |
| 469 | } | |
|
371
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
470 | |
|
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
471 | if (b->makesound && (sound_options & OPT_SOUND_CHAT_JOIN)) |
|
12d85f4efaaa
[gaim-migrate @ 381]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
368
diff
changeset
|
472 | play_sound(BUDDY_LEAVE); |
|
612
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
473 | |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
474 | if (display_options & OPT_DISP_CHAT_LOGON) { |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
475 | g_snprintf(tmp, sizeof(tmp), _("<B>%s left the room.</B>"), buddy); |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
476 | write_to_conv(b, tmp, WFLAG_SYSTEM, NULL); |
|
5c05c50238e8
[gaim-migrate @ 622]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
604
diff
changeset
|
477 | } |
| 1 | 478 | } |
| 479 | ||
| 480 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
481 | void im_callback(GtkWidget *w, struct conversation *b) |
| 1 | 482 | { |
| 483 | char *name; | |
| 484 | GList *i; | |
| 485 | struct conversation *c; | |
| 486 | ||
| 487 | i = GTK_LIST(b->list)->selection; | |
| 488 | if (i) | |
| 489 | name = (char *)gtk_object_get_user_data(GTK_OBJECT(i->data)); | |
| 490 | else | |
| 491 | return; | |
| 492 | ||
| 493 | c = find_conversation(name); | |
| 494 | ||
| 495 | if (c != NULL) { | |
| 496 | gdk_window_raise(c->window->window); | |
| 497 | } else { | |
| 498 | c = new_conversation(name); | |
| 499 | } | |
| 500 | ||
| 501 | ||
| 502 | } | |
| 503 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
504 | void ignore_callback(GtkWidget *w, struct conversation *b) |
| 1 | 505 | { |
| 506 | char *name; | |
| 507 | GList *i; | |
| 508 | ||
| 509 | i = GTK_LIST(b->list)->selection; | |
| 510 | if (i) | |
| 511 | name = (char *)gtk_object_get_user_data(GTK_OBJECT(i->data)); | |
| 512 | else | |
| 513 | return; | |
| 514 | ||
| 515 | if (g_list_index(b->ignored, (gpointer)name) == -1) | |
| 516 | b->ignored = g_list_append(b->ignored, name); | |
| 517 | else | |
| 518 | b->ignored = g_list_remove(b->ignored, name); | |
| 519 | ||
| 520 | update_chat_list(b); | |
| 521 | } | |
| 522 | ||
| 523 | ||
| 524 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
525 | void show_new_buddy_chat(struct conversation *b) |
| 1 | 526 | { |
| 527 | GtkWidget *win; | |
| 528 | GtkWidget *text; | |
| 529 | GtkWidget *send; | |
| 530 | GtkWidget *list; | |
| 531 | GtkWidget *invite_btn; | |
| 532 | GtkWidget *whisper; | |
| 533 | GtkWidget *close; | |
| 534 | GtkWidget *chatentry; | |
| 535 | GtkWidget *lbox; | |
| 536 | GtkWidget *bbox; | |
| 537 | GtkWidget *bbox2; | |
| 538 | GtkWidget *im, *ignore, *info; | |
| 539 | GtkWidget *sw; | |
| 540 | GtkWidget *sw2; | |
| 541 | GtkWidget *vbox; | |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
542 | GtkWidget *vpaned; |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
543 | GtkWidget *hpaned; |
|
344
6dacf96cc000
[gaim-migrate @ 354]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
544 | GtkWidget *toolbar; |
| 1 | 545 | |
| 546 | win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
| 547 | b->window = win; | |
| 548 | ||
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
549 | vpaned = gtk_vpaned_new(); |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
550 | hpaned = gtk_hpaned_new(); |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
551 | |
| 26 | 552 | gtk_window_set_policy(GTK_WINDOW(win), TRUE, TRUE, TRUE); |
| 553 | ||
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
554 | close = gtk_button_new_with_label(_("Close")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
555 | invite_btn = gtk_button_new_with_label(_("Invite")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
556 | whisper = gtk_button_new_with_label(_("Whisper")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
557 | send = gtk_button_new_with_label(_("Send")); |
| 1 | 558 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
559 | im = gtk_button_new_with_label(_("IM")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
560 | ignore = gtk_button_new_with_label(_("Ignore")); |
|
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
561 | info = gtk_button_new_with_label(_("Info")); |
| 1 | 562 | |
|
535
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
563 | if (display_options & OPT_DISP_COOL_LOOK) |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
564 | { |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
565 | gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
566 | gtk_button_set_relief(GTK_BUTTON(invite_btn), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
567 | gtk_button_set_relief(GTK_BUTTON(whisper), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
568 | gtk_button_set_relief(GTK_BUTTON(send), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
569 | gtk_button_set_relief(GTK_BUTTON(im), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
570 | gtk_button_set_relief(GTK_BUTTON(ignore), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
571 | gtk_button_set_relief(GTK_BUTTON(info), GTK_RELIEF_NONE); |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
572 | } |
|
468607aeb8b4
[gaim-migrate @ 545]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
485
diff
changeset
|
573 | |
| 1 | 574 | text = gtk_html_new(NULL, NULL); |
| 575 | ||
| 576 | b->text = text; | |
| 577 | ||
| 578 | list = gtk_list_new(); | |
| 579 | b->list = list; | |
| 580 | ||
| 581 | bbox = gtk_hbox_new(TRUE, 0); | |
| 582 | bbox2 = gtk_hbox_new(TRUE, 0); | |
| 583 | vbox = gtk_vbox_new(FALSE, 0); | |
| 584 | lbox = gtk_vbox_new(FALSE, 4); | |
|
646
137b02ef8935
[gaim-migrate @ 656]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
615
diff
changeset
|
585 | |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
586 | chatentry = gtk_text_new( NULL, NULL ); |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
587 | gtk_text_set_editable(GTK_TEXT(chatentry), TRUE); |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
588 | gtk_text_set_word_wrap(GTK_TEXT(chatentry), TRUE); |
|
646
137b02ef8935
[gaim-migrate @ 656]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
615
diff
changeset
|
589 | gtk_object_set_user_data(GTK_OBJECT(chatentry), b); |
|
137b02ef8935
[gaim-migrate @ 656]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
615
diff
changeset
|
590 | b->entry = chatentry; |
| 1 | 591 | |
| 592 | gtk_widget_realize(win); | |
| 593 | ||
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
594 | toolbar = build_conv_toolbar(b); |
| 1 | 595 | |
| 596 | /* Hack something so we know have an entry click event */ | |
| 597 | ||
| 598 | gtk_signal_connect(GTK_OBJECT(chatentry), "activate", GTK_SIGNAL_FUNC(send_callback),b); | |
|
472
9a5b8da2d760
[gaim-migrate @ 482]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
457
diff
changeset
|
599 | gtk_signal_connect(GTK_OBJECT(chatentry), "key_press_event", GTK_SIGNAL_FUNC(keypress_callback), b); |
| 1 | 600 | /* Text box */ |
| 601 | ||
| 602 | sw = gtk_scrolled_window_new (NULL, NULL); | |
| 603 | gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), | |
| 604 | GTK_POLICY_NEVER, | |
| 605 | GTK_POLICY_ALWAYS); | |
| 606 | gtk_widget_show(sw); | |
| 607 | gtk_container_add(GTK_CONTAINER(sw), text); | |
| 608 | gtk_widget_show(text); | |
| 609 | ||
| 610 | ||
| 611 | GTK_HTML (text)->hadj->step_increment = 10.0; | |
| 612 | GTK_HTML (text)->vadj->step_increment = 10.0; | |
| 613 | gtk_widget_set_usize(sw, 320, 150); | |
| 614 | ||
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
615 | gtk_paned_pack1(GTK_PANED(hpaned), sw, TRUE, TRUE); |
| 1 | 616 | |
| 617 | sw2 = gtk_scrolled_window_new(NULL, NULL); | |
| 618 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), | |
| 619 | GTK_POLICY_NEVER, | |
| 620 | GTK_POLICY_AUTOMATIC); | |
| 621 | gtk_widget_show(sw2); | |
| 622 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list); | |
| 623 | ||
| 624 | gtk_box_pack_start(GTK_BOX(lbox), sw2, TRUE, TRUE, 0); | |
|
226
871b91a5b45f
[gaim-migrate @ 236]
Syd Logan <slogan@users.sourceforge.net>
parents:
223
diff
changeset
|
625 | gtk_box_pack_start(GTK_BOX(lbox), bbox2, FALSE, FALSE, 5); |
| 1 | 626 | |
| 627 | ||
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
628 | gtk_paned_pack2(GTK_PANED(hpaned), lbox, TRUE, TRUE); |
| 1 | 629 | gtk_widget_show(list); |
| 630 | ||
| 631 | ||
| 632 | gtk_widget_set_usize(list, 150, 150); | |
| 633 | ||
| 634 | ||
| 635 | /* Ready and pack buttons */ | |
| 636 | gtk_object_set_user_data(GTK_OBJECT(win), b); | |
| 637 | gtk_object_set_user_data(GTK_OBJECT(close), b); | |
| 638 | gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(close_callback),b); | |
| 639 | gtk_signal_connect(GTK_OBJECT(send), "clicked", GTK_SIGNAL_FUNC(send_callback),b); | |
| 640 | gtk_signal_connect(GTK_OBJECT(invite_btn), "clicked", GTK_SIGNAL_FUNC(invite_callback), b); | |
| 641 | gtk_signal_connect(GTK_OBJECT(whisper), "clicked", GTK_SIGNAL_FUNC(whisper_callback), b); | |
| 642 | ||
| 643 | gtk_signal_connect(GTK_OBJECT(im), "clicked", GTK_SIGNAL_FUNC(im_callback), b); | |
| 644 | gtk_signal_connect(GTK_OBJECT(ignore), "clicked", GTK_SIGNAL_FUNC(ignore_callback), b); | |
| 645 | gtk_signal_connect(GTK_OBJECT(info), "clicked", GTK_SIGNAL_FUNC(info_callback), b); | |
| 646 | ||
| 647 | gtk_box_pack_start(GTK_BOX(bbox), send, TRUE, TRUE, 5); | |
| 648 | gtk_box_pack_start(GTK_BOX(bbox), whisper, TRUE, TRUE, 5); | |
| 649 | gtk_box_pack_start(GTK_BOX(bbox), invite_btn, TRUE, TRUE, 5); | |
| 650 | gtk_box_pack_start(GTK_BOX(bbox), close, TRUE, TRUE, 5); | |
| 651 | ||
| 652 | gtk_box_pack_start(GTK_BOX(bbox2), im, TRUE, TRUE, 5); | |
| 653 | gtk_box_pack_start(GTK_BOX(bbox2), ignore, TRUE, TRUE, 5); | |
| 654 | gtk_box_pack_start(GTK_BOX(bbox2), info, TRUE, TRUE, 5); | |
| 655 | ||
| 656 | /* pack and fill the rest */ | |
| 657 | ||
| 658 | ||
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
659 | gtk_paned_pack1(GTK_PANED(vpaned), hpaned, TRUE, FALSE); |
|
344
6dacf96cc000
[gaim-migrate @ 354]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
338
diff
changeset
|
660 | gtk_box_pack_start(GTK_BOX(vbox), toolbar, TRUE, TRUE, 5); |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
661 | gtk_box_pack_start(GTK_BOX(vbox), chatentry, TRUE, TRUE, 5); |
| 1 | 662 | gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
663 | gtk_paned_pack2(GTK_PANED(vpaned), vbox, TRUE, FALSE); |
| 1 | 664 | |
| 665 | gtk_widget_show(send); | |
| 666 | gtk_widget_show(invite_btn); | |
| 667 | gtk_widget_show(whisper); | |
| 668 | gtk_widget_show(close); | |
| 669 | gtk_widget_show(im); | |
| 670 | gtk_widget_show(ignore); | |
| 671 | gtk_widget_show(info); | |
| 672 | gtk_widget_show(bbox); | |
| 673 | gtk_widget_show(lbox); | |
| 674 | gtk_widget_show(bbox2); | |
| 675 | gtk_widget_show(vbox); | |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
676 | gtk_widget_show( vpaned ); |
|
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
677 | gtk_widget_show( hpaned ); |
| 1 | 678 | gtk_widget_show(chatentry); |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
679 | gtk_widget_set_usize(chatentry, 320, 25); |
| 1 | 680 | |
|
223
06248cfc2171
[gaim-migrate @ 233]
Syd Logan <slogan@users.sourceforge.net>
parents:
199
diff
changeset
|
681 | gtk_container_add(GTK_CONTAINER(win),vpaned); |
| 1 | 682 | gtk_container_border_width(GTK_CONTAINER(win), 10); |
| 683 | ||
| 684 | gtk_window_set_title(GTK_WINDOW(win), b->name); | |
| 685 | gtk_window_set_focus(GTK_WINDOW(win), chatentry); | |
| 686 | ||
| 687 | gtk_signal_connect(GTK_OBJECT(win), "destroy", GTK_SIGNAL_FUNC(close_callback),b); | |
| 688 | ||
|
716
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
689 | b->font_dialog = NULL; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
690 | b->color_dialog = NULL; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
691 | b->smiley_dialog = NULL; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
692 | b->link_dialog = NULL; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
693 | b->log_dialog = NULL; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
694 | sprintf(b->fontface, "%s", fontface); |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
695 | b->hasfont = 0; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
696 | b->bgcol = bgcolor; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
697 | b->hasbg = 0; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
698 | b->fgcol = fgcolor; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
699 | b->hasfg = 0; |
|
56e303f98361
[gaim-migrate @ 726]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
694
diff
changeset
|
700 | |
|
615
5b8e30b7a3fe
[gaim-migrate @ 625]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
612
diff
changeset
|
701 | gtk_widget_realize(win); |
| 1 | 702 | aol_icon(win->window); |
| 703 | ||
| 704 | gtk_widget_show(win); | |
| 705 | } | |
| 706 | ||
| 707 | ||
| 708 | ||
| 709 | void handle_click_chat(GtkWidget *widget, GdkEventButton *event, struct chat_room *cr) | |
| 710 | { | |
| 711 | if (event->type == GDK_2BUTTON_PRESS && event->button == 1) { | |
| 712 | serv_join_chat(cr->exchange, cr->name); | |
| 713 | } | |
| 714 | } | |
| 715 | ||
| 716 | ||
| 717 | void setup_buddy_chats() | |
| 718 | { | |
| 21 | 719 | GList *list; |
| 1 | 720 | struct chat_room *cr; |
| 721 | GList *crs = chat_rooms; | |
| 722 | GtkWidget *w; | |
| 723 | GtkWidget *item; | |
| 724 | GtkWidget *tree; | |
| 725 | ||
| 21 | 726 | if (buddies == NULL) |
| 727 | return; | |
| 728 | ||
| 729 | list = GTK_TREE(buddies)->children; | |
| 730 | ||
| 1 | 731 | while(list) { |
| 732 | w = (GtkWidget *)list->data; | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
733 | if (!strcmp(GTK_LABEL(GTK_BIN(w)->child)->label, _("Buddy Chat"))) { |
| 1 | 734 | gtk_tree_remove_items(GTK_TREE(buddies), list); |
| 735 | list = GTK_TREE(buddies)->children; | |
| 736 | if (!list) | |
| 737 | break; | |
| 738 | } | |
| 739 | list = list->next; | |
| 740 | } | |
| 741 | ||
| 742 | if (crs == NULL) | |
| 743 | return; | |
| 744 | ||
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
745 | item = gtk_tree_item_new_with_label(_("Buddy Chat")); |
| 1 | 746 | tree = gtk_tree_new(); |
| 747 | gtk_widget_show(item); | |
| 748 | gtk_widget_show(tree); | |
| 749 | gtk_tree_append(GTK_TREE(buddies), item); | |
| 750 | gtk_tree_item_set_subtree(GTK_TREE_ITEM(item), tree); | |
| 751 | gtk_tree_item_expand(GTK_TREE_ITEM(item)); | |
| 752 | ||
| 753 | while (crs) { | |
| 754 | cr = (struct chat_room *)crs->data; | |
| 755 | ||
| 756 | item = gtk_tree_item_new_with_label(cr->name); | |
| 757 | gtk_object_set_user_data(GTK_OBJECT(item), cr); | |
| 758 | gtk_tree_append(GTK_TREE(tree), item); | |
| 759 | gtk_widget_show(item); | |
| 760 | gtk_signal_connect(GTK_OBJECT(item), "button_press_event", | |
| 761 | GTK_SIGNAL_FUNC(handle_click_chat), | |
| 762 | cr); | |
| 763 | ||
| 764 | crs = crs->next; | |
| 765 | ||
| 766 | } | |
| 767 | ||
| 768 | } |