comparison src/prefs.c @ 1253:8342d3aab1f1

[gaim-migrate @ 1263] only need buddy.c (which should be mostly painless) and dialogs.c (which should kill me) committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 13 Dec 2000 23:59:46 +0000
parents b5783215b245
children 9da444224f0e
comparison
equal deleted inserted replaced
1252:46c09828e929 1253:8342d3aab1f1
75 debugbutton = NULL; 75 debugbutton = NULL;
76 } 76 }
77 77
78 static void set_idle(GtkWidget *w, int *data) 78 static void set_idle(GtkWidget *w, int *data)
79 { 79 {
80 report_idle = (int)data; 80 report_idle = (int)data;
81 save_prefs(); 81 save_prefs();
82 } 82 }
83 83
84 static GtkWidget *idle_radio(char *label, int which, GtkWidget *box, GtkWidget *set) 84 static GtkWidget *idle_radio(char *label, int which, GtkWidget *box, GtkWidget *set)
85 { 85 {
86 GtkWidget *opt; 86 GtkWidget *opt;
87 87
88 if (!set) 88 if (!set)
89 opt = gtk_radio_button_new_with_label(NULL, label); 89 opt = gtk_radio_button_new_with_label(NULL, label);
90 else 90 else
91 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), label); 91 opt =
92 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)),
93 label);
92 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); 94 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0);
93 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)which); 95 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_idle), (void *)which);
94 gtk_widget_show(opt); 96 gtk_widget_show(opt);
95 if (report_idle == which) 97 if (report_idle == which)
96 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); 98 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
103 GtkWidget *parent; 105 GtkWidget *parent;
104 GtkWidget *box, *box2; 106 GtkWidget *box, *box2;
105 GtkWidget *label; 107 GtkWidget *label;
106 GtkWidget *sep; 108 GtkWidget *sep;
107 GtkWidget *idle; 109 GtkWidget *idle;
108 110
109 parent = prefdialog->parent; 111 parent = prefdialog->parent;
110 gtk_widget_destroy(prefdialog); 112 gtk_widget_destroy(prefdialog);
111 113
112 prefdialog = gtk_frame_new(_("General Options")); 114 prefdialog = gtk_frame_new(_("General Options"));
113 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 115 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
114 116
115 box = gtk_vbox_new(FALSE, 5); 117 box = gtk_vbox_new(FALSE, 5);
116 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 118 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
117 gtk_container_add(GTK_CONTAINER(prefdialog), box); 119 gtk_container_add(GTK_CONTAINER(prefdialog), box);
118 gtk_widget_show(box); 120 gtk_widget_show(box);
119 121
120 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 122 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
121 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 123 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
122 gtk_widget_show(label); 124 gtk_widget_show(label);
123 125
124 /* 126 /*
125 prefrem = gaim_button(_("Remember password"), &general_options, OPT_GEN_REMEMBER_PASS, box); 127 prefrem = gaim_button(_("Remember password"), &general_options, OPT_GEN_REMEMBER_PASS, box);
126 gtk_signal_connect(GTK_OBJECT(prefrem), "destroy", GTK_SIGNAL_FUNC(remdes), 0); 128 gtk_signal_connect(GTK_OBJECT(prefrem), "destroy", GTK_SIGNAL_FUNC(remdes), 0);
127 gaim_button(_("Auto-login"), &general_options, OPT_GEN_AUTO_LOGIN, box); 129 gaim_button(_("Auto-login"), &general_options, OPT_GEN_AUTO_LOGIN, box);
128 130
129 sep = gtk_hseparator_new(); 131 sep = gtk_hseparator_new();
130 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 132 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
131 gtk_widget_show(sep); 133 gtk_widget_show(sep);
132 */ 134 */
133 135
134 gaim_button(_("Use borderless buttons (requires restart for some buttons)"), &display_options, OPT_DISP_COOL_LOOK, box); 136 gaim_button(_("Use borderless buttons (requires restart for some buttons)"), &display_options,
135 gaim_button(_("Show Buddy Ticker after restart"), &display_options, OPT_DISP_SHOW_BUDDYTICKER, box); 137 OPT_DISP_COOL_LOOK, box);
138 gaim_button(_("Show Buddy Ticker after restart"), &display_options, OPT_DISP_SHOW_BUDDYTICKER,
139 box);
136 if (!dw && (general_options & OPT_GEN_DEBUG)) 140 if (!dw && (general_options & OPT_GEN_DEBUG))
137 general_options = general_options ^ OPT_GEN_DEBUG; 141 general_options = general_options ^ OPT_GEN_DEBUG;
138 debugbutton = gaim_button(_("Show Debug Window"), &general_options, OPT_GEN_DEBUG, box); 142 debugbutton = gaim_button(_("Show Debug Window"), &general_options, OPT_GEN_DEBUG, box);
139 gtk_signal_connect_object(GTK_OBJECT(debugbutton), "clicked", GTK_SIGNAL_FUNC(show_debug), 0); 143 gtk_signal_connect_object(GTK_OBJECT(debugbutton), "clicked", GTK_SIGNAL_FUNC(show_debug), 0);
140 gtk_signal_connect(GTK_OBJECT(debugbutton), "destroy", GTK_SIGNAL_FUNC(destdeb), 0); 144 gtk_signal_connect(GTK_OBJECT(debugbutton), "destroy", GTK_SIGNAL_FUNC(destdeb), 0);
147 gtk_box_pack_start(GTK_BOX(box), box2, FALSE, FALSE, 5); 151 gtk_box_pack_start(GTK_BOX(box), box2, FALSE, FALSE, 5);
148 gtk_widget_show(box2); 152 gtk_widget_show(box2);
149 153
150 label = gtk_label_new(_("Report Idle Times:")); 154 label = gtk_label_new(_("Report Idle Times:"));
151 gtk_box_pack_start(GTK_BOX(box2), label, FALSE, FALSE, 5); 155 gtk_box_pack_start(GTK_BOX(box2), label, FALSE, FALSE, 5);
152 gtk_widget_show (label); 156 gtk_widget_show(label);
153 idle = idle_radio(_("None"), IDLE_NONE, box2, NULL); 157 idle = idle_radio(_("None"), IDLE_NONE, box2, NULL);
154 idle = idle_radio(_("GAIM Use"), IDLE_GAIM, box2, idle); 158 idle = idle_radio(_("GAIM Use"), IDLE_GAIM, box2, idle);
155 #ifdef USE_SCREENSAVER 159 #ifdef USE_SCREENSAVER
156 idle = idle_radio(_("X Use"), IDLE_SCREENSAVER, box2, idle); 160 idle = idle_radio(_("X Use"), IDLE_SCREENSAVER, box2, idle);
157 #endif 161 #endif
171 175
172 prefdialog = gtk_frame_new(_("Buddy List Options")); 176 prefdialog = gtk_frame_new(_("Buddy List Options"));
173 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 177 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
174 178
175 box = gtk_vbox_new(FALSE, 5); 179 box = gtk_vbox_new(FALSE, 5);
176 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 180 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
177 gtk_container_add(GTK_CONTAINER(prefdialog), box); 181 gtk_container_add(GTK_CONTAINER(prefdialog), box);
178 gtk_widget_show(box); 182 gtk_widget_show(box);
179 183
180 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 184 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
181 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 185 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
182 gtk_widget_show(label); 186 gtk_widget_show(label);
183 187
184 gaim_button(_("Save Window Size/Position"), &general_options, OPT_GEN_SAVED_WINDOWS, box); 188 gaim_button(_("Save Window Size/Position"), &general_options, OPT_GEN_SAVED_WINDOWS, box);
185 #ifdef USE_APPLET 189 #ifdef USE_APPLET
186 gaim_button(_("Automatically show buddy list on sign on"), &general_options, OPT_GEN_APP_BUDDY_SHOW, box); 190 gaim_button(_("Automatically show buddy list on sign on"), &general_options,
191 OPT_GEN_APP_BUDDY_SHOW, box);
187 gaim_button(_("Display Buddy List near applet"), &general_options, OPT_GEN_NEAR_APPLET, box); 192 gaim_button(_("Display Buddy List near applet"), &general_options, OPT_GEN_NEAR_APPLET, box);
188 #endif 193 #endif
189 194
190 sep = gtk_hseparator_new(); 195 sep = gtk_hseparator_new();
191 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 196 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
224 229
225 prefdialog = gtk_frame_new(_("Conversation Window Options")); 230 prefdialog = gtk_frame_new(_("Conversation Window Options"));
226 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 231 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
227 232
228 box = gtk_vbox_new(FALSE, 5); 233 box = gtk_vbox_new(FALSE, 5);
229 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 234 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
230 gtk_container_add(GTK_CONTAINER(prefdialog), box); 235 gtk_container_add(GTK_CONTAINER(prefdialog), box);
231 gtk_widget_show(box); 236 gtk_widget_show(box);
232 237
233 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 238 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
234 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 239 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
259 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 264 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
260 gtk_widget_show(sep); 265 gtk_widget_show(sep);
261 266
262 gaim_button(_("Highlight misspelled words"), &general_options, OPT_GEN_CHECK_SPELLING, box); 267 gaim_button(_("Highlight misspelled words"), &general_options, OPT_GEN_CHECK_SPELLING, box);
263 gaim_button(_("Show URLs as links"), &general_options, OPT_GEN_SEND_LINKS, box); 268 gaim_button(_("Show URLs as links"), &general_options, OPT_GEN_SEND_LINKS, box);
264 gaim_button(_("Sending messages removes away status"), &general_options, OPT_GEN_BACK_ON_IM, box); 269 gaim_button(_("Sending messages removes away status"), &general_options, OPT_GEN_BACK_ON_IM,
270 box);
265 271
266 gtk_widget_show(prefdialog); 272 gtk_widget_show(prefdialog);
267 } 273 }
268 274
269 static void set_buttons_opt(GtkWidget *w, int data) 275 static void set_buttons_opt(GtkWidget *w, int data)
270 { 276 {
271 int mask; 277 int mask;
272 if (data & 0x1) /* set the first bit if we're affecting chat buttons */ 278 if (data & 0x1) /* set the first bit if we're affecting chat buttons */
273 mask = (OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM); 279 mask = (OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM);
274 else 280 else
275 mask = (OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM); 281 mask = (OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM);
276 display_options &= ~(mask); 282 display_options &= ~(mask);
277 display_options |= (data & mask); 283 display_options |= (data & mask);
285 static void im_buttons_menu_init(GtkWidget *omenu) 291 static void im_buttons_menu_init(GtkWidget *omenu)
286 { 292 {
287 GtkWidget *menu, *opt; 293 GtkWidget *menu, *opt;
288 int index; 294 int index;
289 295
290 switch (display_options & 296 switch (display_options & (OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM)) {
291 (OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM)) {
292 case OPT_DISP_CONV_BUTTON_TEXT: 297 case OPT_DISP_CONV_BUTTON_TEXT:
293 index = 2; 298 index = 2;
294 break; 299 break;
295 case OPT_DISP_CONV_BUTTON_XPM: 300 case OPT_DISP_CONV_BUTTON_XPM:
296 index = 1; 301 index = 1;
297 break; 302 break;
298 default: /* both or neither */ 303 default: /* both or neither */
299 index = 0; 304 index = 0;
300 break; 305 break;
301 } 306 }
302 307
303 menu = gtk_menu_new(); 308 menu = gtk_menu_new();
304 309
305 opt = gtk_menu_item_new_with_label(_("Pictures and Text")); 310 opt = gtk_menu_item_new_with_label(_("Pictures and Text"));
306 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)(OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM)); 311 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
312 (void *)(OPT_DISP_CONV_BUTTON_TEXT | OPT_DISP_CONV_BUTTON_XPM));
307 gtk_widget_show(opt); 313 gtk_widget_show(opt);
308 gtk_menu_append(GTK_MENU(menu), opt); 314 gtk_menu_append(GTK_MENU(menu), opt);
309 315
310 opt = gtk_menu_item_new_with_label(_("Pictures Only")); 316 opt = gtk_menu_item_new_with_label(_("Pictures Only"));
311 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)OPT_DISP_CONV_BUTTON_XPM); 317 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
318 (void *)OPT_DISP_CONV_BUTTON_XPM);
312 gtk_widget_show(opt); 319 gtk_widget_show(opt);
313 gtk_menu_append(GTK_MENU(menu), opt); 320 gtk_menu_append(GTK_MENU(menu), opt);
314 321
315 opt = gtk_menu_item_new_with_label(_("Text Only")); 322 opt = gtk_menu_item_new_with_label(_("Text Only"));
316 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)OPT_DISP_CONV_BUTTON_TEXT); 323 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
324 (void *)OPT_DISP_CONV_BUTTON_TEXT);
317 gtk_widget_show(opt); 325 gtk_widget_show(opt);
318 gtk_menu_append(GTK_MENU(menu), opt); 326 gtk_menu_append(GTK_MENU(menu), opt);
319 327
320 set_default_away(menu, (gpointer)default_away); 328 set_default_away(menu, (gpointer)default_away);
321 329
337 345
338 prefdialog = gtk_frame_new(_("IM Options")); 346 prefdialog = gtk_frame_new(_("IM Options"));
339 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 347 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
340 348
341 box = gtk_vbox_new(FALSE, 5); 349 box = gtk_vbox_new(FALSE, 5);
342 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 350 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
343 gtk_container_add(GTK_CONTAINER(prefdialog), box); 351 gtk_container_add(GTK_CONTAINER(prefdialog), box);
344 gtk_widget_show(box); 352 gtk_widget_show(box);
345 353
346 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 354 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
347 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 355 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
360 opt = gtk_option_menu_new(); 368 opt = gtk_option_menu_new();
361 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 5); 369 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 5);
362 im_buttons_menu_init(opt); 370 im_buttons_menu_init(opt);
363 gtk_widget_show(opt); 371 gtk_widget_show(opt);
364 372
365 gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CONV_BIG_ENTRY, box); 373 gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CONV_BIG_ENTRY,
374 box);
366 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_WINDOWS, box); 375 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_WINDOWS, box);
367 gaim_button(_("Ignore new conversations when away"), &general_options, OPT_GEN_DISCARD_WHEN_AWAY, box); 376 gaim_button(_("Ignore new conversations when away"), &general_options, OPT_GEN_DISCARD_WHEN_AWAY,
377 box);
368 gaim_button(_("Ignore TiK Automated Messages"), &general_options, OPT_GEN_TIK_HACK, box); 378 gaim_button(_("Ignore TiK Automated Messages"), &general_options, OPT_GEN_TIK_HACK, box);
369 379
370 gtk_widget_show(prefdialog); 380 gtk_widget_show(prefdialog);
371 } 381 }
372 382
373 static void chat_buttons_menu_init(GtkWidget *omenu) 383 static void chat_buttons_menu_init(GtkWidget *omenu)
374 { 384 {
375 GtkWidget *menu, *opt; 385 GtkWidget *menu, *opt;
376 int index; 386 int index;
377 387
378 switch (display_options & 388 switch (display_options & (OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM)) {
379 (OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM)) {
380 case OPT_DISP_CHAT_BUTTON_TEXT: 389 case OPT_DISP_CHAT_BUTTON_TEXT:
381 index = 2; 390 index = 2;
382 break; 391 break;
383 case OPT_DISP_CHAT_BUTTON_XPM: 392 case OPT_DISP_CHAT_BUTTON_XPM:
384 index = 1; 393 index = 1;
385 break; 394 break;
386 default: /* both or neither */ 395 default: /* both or neither */
387 index = 0; 396 index = 0;
388 break; 397 break;
389 } 398 }
390 399
391 menu = gtk_menu_new(); 400 menu = gtk_menu_new();
392 401
393 opt = gtk_menu_item_new_with_label(_("Pictures and Text")); 402 opt = gtk_menu_item_new_with_label(_("Pictures and Text"));
394 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)(OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM | 1)); 403 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
404 (void *)(OPT_DISP_CHAT_BUTTON_TEXT | OPT_DISP_CHAT_BUTTON_XPM | 1));
395 gtk_widget_show(opt); 405 gtk_widget_show(opt);
396 gtk_menu_append(GTK_MENU(menu), opt); 406 gtk_menu_append(GTK_MENU(menu), opt);
397 407
398 opt = gtk_menu_item_new_with_label(_("Pictures Only")); 408 opt = gtk_menu_item_new_with_label(_("Pictures Only"));
399 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)(OPT_DISP_CHAT_BUTTON_XPM | 1)); 409 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
410 (void *)(OPT_DISP_CHAT_BUTTON_XPM | 1));
400 gtk_widget_show(opt); 411 gtk_widget_show(opt);
401 gtk_menu_append(GTK_MENU(menu), opt); 412 gtk_menu_append(GTK_MENU(menu), opt);
402 413
403 opt = gtk_menu_item_new_with_label(_("Text Only")); 414 opt = gtk_menu_item_new_with_label(_("Text Only"));
404 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt), (void *)(OPT_DISP_CHAT_BUTTON_TEXT | 1)); 415 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_buttons_opt),
416 (void *)(OPT_DISP_CHAT_BUTTON_TEXT | 1));
405 gtk_widget_show(opt); 417 gtk_widget_show(opt);
406 gtk_menu_append(GTK_MENU(menu), opt); 418 gtk_menu_append(GTK_MENU(menu), opt);
407 419
408 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu)); 420 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu));
409 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); 421 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
423 435
424 prefdialog = gtk_frame_new(_("Chat Options")); 436 prefdialog = gtk_frame_new(_("Chat Options"));
425 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 437 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
426 438
427 box = gtk_vbox_new(FALSE, 5); 439 box = gtk_vbox_new(FALSE, 5);
428 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 440 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
429 gtk_container_add(GTK_CONTAINER(prefdialog), box); 441 gtk_container_add(GTK_CONTAINER(prefdialog), box);
430 gtk_widget_show(box); 442 gtk_widget_show(box);
431 443
432 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 444 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
433 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 445 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
434 gtk_widget_show(label); 446 gtk_widget_show(label);
435 447
436 gaim_button(_("Show people joining/leaving in window"), &display_options, OPT_DISP_CHAT_LOGON, box); 448 gaim_button(_("Show people joining/leaving in window"), &display_options, OPT_DISP_CHAT_LOGON,
449 box);
437 450
438 hbox = gtk_hbox_new(FALSE, 0); 451 hbox = gtk_hbox_new(FALSE, 0);
439 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 452 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
440 gtk_widget_show(hbox); 453 gtk_widget_show(hbox);
441 454
447 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 5); 460 gtk_box_pack_start(GTK_BOX(hbox), opt, FALSE, FALSE, 5);
448 chat_buttons_menu_init(opt); 461 chat_buttons_menu_init(opt);
449 gtk_widget_show(opt); 462 gtk_widget_show(opt);
450 463
451 464
452 gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CHAT_BIG_ENTRY, box); 465 gaim_button(_("Show larger entry box on new windows"), &display_options, OPT_DISP_CHAT_BIG_ENTRY,
466 box);
453 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_CHAT, box); 467 gaim_button(_("Raise windows on events"), &general_options, OPT_GEN_POPUP_CHAT, box);
454 468
455 gtk_widget_show(prefdialog); 469 gtk_widget_show(prefdialog);
456 } 470 }
457 471
462 476
463 static struct chat_page *cp = NULL; 477 static struct chat_page *cp = NULL;
464 478
465 static void refresh_list(GtkWidget *w, gpointer *m) 479 static void refresh_list(GtkWidget *w, gpointer *m)
466 { 480 {
467 char *text = grab_url(NULL, "http://www.aol.com/community/chat/allchats.html"); 481 char *text = grab_url(NULL, "http://www.aol.com/community/chat/allchats.html");
468 char *c; 482 char *c;
469 int len = strlen(text); 483 int len = strlen(text);
470 GtkWidget *item; 484 GtkWidget *item;
471 GList *items = GTK_LIST(cp->list1)->children; 485 GList *items = GTK_LIST(cp->list1)->children;
472 struct chat_room *cr; 486 struct chat_room *cr;
473 c = text; 487 c = text;
474 488
475 while(items) { 489 while (items) {
476 g_free(gtk_object_get_user_data(GTK_OBJECT(items->data))); 490 g_free(gtk_object_get_user_data(GTK_OBJECT(items->data)));
477 items = items->next; 491 items = items->next;
478 } 492 }
479 493
480 items = NULL; 494 items = NULL;
481 495
482 gtk_list_clear_items(GTK_LIST(cp->list1), 0, -1); 496 gtk_list_clear_items(GTK_LIST(cp->list1), 0, -1);
483 497
484 item = gtk_list_item_new_with_label(_("Gaim Chat")); 498 item = gtk_list_item_new_with_label(_("Gaim Chat"));
485 cr = g_new0(struct chat_room, 1); 499 cr = g_new0(struct chat_room, 1);
486 strcpy(cr->name, _("Gaim Chat")); 500 strcpy(cr->name, _("Gaim Chat"));
487 cr->exchange = 4; 501 cr->exchange = 4;
488 gtk_object_set_user_data(GTK_OBJECT(item), cr); 502 gtk_object_set_user_data(GTK_OBJECT(item), cr);
489 gtk_widget_show(item); 503 gtk_widget_show(item);
490 504
491 items = g_list_append(NULL, item); 505 items = g_list_append(NULL, item);
492 506
493 while(c) { 507 while (c) {
494 if (c - text > len - 30) 508 if (c - text > len - 30)
495 break; /* assume no chat rooms 30 from end, padding */ 509 break; /* assume no chat rooms 30 from end, padding */
496 if (!strncasecmp(AOL_SRCHSTR, c, strlen(AOL_SRCHSTR))) { 510 if (!strncasecmp(AOL_SRCHSTR, c, strlen(AOL_SRCHSTR))) {
497 char *t; 511 char *t;
498 int len=0; 512 int len = 0;
499 int exchange; 513 int exchange;
500 char *name = NULL; 514 char *name = NULL;
501 515
502 c += strlen(AOL_SRCHSTR); 516 c += strlen(AOL_SRCHSTR);
503 t = c; 517 t = c;
504 while(t) { 518 while (t) {
505 len++; 519 len++;
506 name = g_realloc(name, len); 520 name = g_realloc(name, len);
507 if (*t == '+') 521 if (*t == '+')
508 name[len - 1] = ' '; 522 name[len - 1] = ' ';
509 else if (*t == '&') { 523 else if (*t == '&') {
510 name[len - 1] = 0; 524 name[len - 1] = 0;
511 sscanf(t, "&Exchange=%d", &exchange); 525 sscanf(t, "&Exchange=%d", &exchange);
512 c = t + strlen("&Exchange=x"); 526 c = t + strlen("&Exchange=x");
513 break; 527 break;
514 } else 528 } else
515 name[len - 1] = *t; 529 name[len - 1] = *t;
516 t++; 530 t++;
517 } 531 }
518 cr = g_new0(struct chat_room, 1); 532 cr = g_new0(struct chat_room, 1);
519 strcpy(cr->name, name); 533 strcpy(cr->name, name);
520 cr->exchange = exchange; 534 cr->exchange = exchange;
521 item = gtk_list_item_new_with_label(name); 535 item = gtk_list_item_new_with_label(name);
522 gtk_widget_show(item); 536 gtk_widget_show(item);
523 items = g_list_append(items, item); 537 items = g_list_append(items, item);
524 gtk_object_set_user_data(GTK_OBJECT(item), cr); 538 gtk_object_set_user_data(GTK_OBJECT(item), cr);
525 g_free(name); 539 g_free(name);
526 } 540 }
527 c++; 541 c++;
528 } 542 }
529 gtk_list_append_items(GTK_LIST(cp->list1), items); 543 gtk_list_append_items(GTK_LIST(cp->list1), items);
530 g_free(text); 544 g_free(text);
531 } 545 }
532 546
533 static void add_chat(GtkWidget *w, gpointer *m) 547 static void add_chat(GtkWidget *w, gpointer *m)
534 { 548 {
535 GList *sel = GTK_LIST(cp->list1)->selection; 549 GList *sel = GTK_LIST(cp->list1)->selection;
536 struct chat_room *cr, *cr2; 550 struct chat_room *cr, *cr2;
537 GList *crs = chat_rooms; 551 GList *crs = chat_rooms;
538 GtkWidget *item; 552 GtkWidget *item;
539 553
540 if (sel) { 554 if (sel) {
541 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(sel->data)); 555 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(sel->data));
542 } else 556 } else
543 return; 557 return;
544 558
545 while(crs) { 559 while (crs) {
546 cr2 = (struct chat_room *)crs->data; 560 cr2 = (struct chat_room *)crs->data;
547 if (!strcasecmp(cr->name, cr2->name)) 561 if (!strcasecmp(cr->name, cr2->name))
548 return; 562 return;
549 crs = crs->next; 563 crs = crs->next;
550 } 564 }
551 item = gtk_list_item_new_with_label(cr->name); 565 item = gtk_list_item_new_with_label(cr->name);
552 cr2 = g_new0(struct chat_room, 1); 566 cr2 = g_new0(struct chat_room, 1);
553 strcpy(cr2->name, cr->name); 567 strcpy(cr2->name, cr->name);
554 cr2->exchange = cr->exchange; 568 cr2->exchange = cr->exchange;
555 gtk_object_set_user_data(GTK_OBJECT(item), cr2); 569 gtk_object_set_user_data(GTK_OBJECT(item), cr2);
556 gtk_widget_show(item); 570 gtk_widget_show(item);
557 sel = g_list_append(NULL, item); 571 sel = g_list_append(NULL, item);
558 gtk_list_append_items(GTK_LIST(cp->list2), sel); 572 gtk_list_append_items(GTK_LIST(cp->list2), sel);
559 chat_rooms = g_list_append(chat_rooms, cr2); 573 chat_rooms = g_list_append(chat_rooms, cr2);
560 574
561 setup_buddy_chats(); 575 setup_buddy_chats();
562 save_prefs(); 576 save_prefs();
563 577
564 578
565 } 579 }
566 580
567 static void remove_chat(GtkWidget *w, gpointer *m) 581 static void remove_chat(GtkWidget *w, gpointer *m)
568 { 582 {
569 GList *sel = GTK_LIST(cp->list2)->selection; 583 GList *sel = GTK_LIST(cp->list2)->selection;
570 struct chat_room *cr; 584 struct chat_room *cr;
571 GList *crs; 585 GList *crs;
572 GtkWidget *item; 586 GtkWidget *item;
573 587
574 if (sel) { 588 if (sel) {
575 item = (GtkWidget *)sel->data; 589 item = (GtkWidget *)sel->data;
576 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(item)); 590 cr = (struct chat_room *)gtk_object_get_user_data(GTK_OBJECT(item));
577 } else 591 } else
578 return; 592 return;
579 593
580 chat_rooms = g_list_remove(chat_rooms, cr); 594 chat_rooms = g_list_remove(chat_rooms, cr);
581 595
582 596
583 gtk_list_clear_items(GTK_LIST(cp->list2), 0, -1); 597 gtk_list_clear_items(GTK_LIST(cp->list2), 0, -1);
584 598
585 if (g_list_length(chat_rooms) == 0) 599 if (g_list_length(chat_rooms) == 0)
586 chat_rooms = NULL; 600 chat_rooms = NULL;
587 601
588 crs = chat_rooms; 602 crs = chat_rooms;
589 603
590 while(crs) { 604 while (crs) {
591 cr = (struct chat_room *)crs->data; 605 cr = (struct chat_room *)crs->data;
592 item = gtk_list_item_new_with_label(cr->name); 606 item = gtk_list_item_new_with_label(cr->name);
593 gtk_object_set_user_data(GTK_OBJECT(item), cr); 607 gtk_object_set_user_data(GTK_OBJECT(item), cr);
594 gtk_widget_show(item); 608 gtk_widget_show(item);
595 gtk_list_append_items(GTK_LIST(cp->list2), g_list_append(NULL, item)); 609 gtk_list_append_items(GTK_LIST(cp->list2), g_list_append(NULL, item));
596 610
597 611
598 crs = crs->next; 612 crs = crs->next;
599 } 613 }
600 614
601 setup_buddy_chats(); 615 setup_buddy_chats();
602 save_prefs(); 616 save_prefs();
603 } 617 }
604 618
605 static void room_page() 619 static void room_page()
606 { 620 {
607 GtkWidget *table; 621 GtkWidget *table;
608 GtkWidget *rem_button, *add_button, *ref_button; 622 GtkWidget *rem_button, *add_button, *ref_button;
609 GtkWidget *list1, *list2; 623 GtkWidget *list1, *list2;
610 GtkWidget *label; 624 GtkWidget *label;
611 GtkWidget *sw1, *sw2; 625 GtkWidget *sw1, *sw2;
612 GtkWidget *item; 626 GtkWidget *item;
613 GList *crs = chat_rooms; 627 GList *crs = chat_rooms;
614 GList *items = NULL; 628 GList *items = NULL;
615 struct chat_room *cr; 629 struct chat_room *cr;
616 630
617 GtkWidget *parent; 631 GtkWidget *parent;
618 GtkWidget *box; 632 GtkWidget *box;
619 633
620 if (!cp) 634 if (!cp)
626 640
627 prefdialog = gtk_frame_new(_("Chat Options")); 641 prefdialog = gtk_frame_new(_("Chat Options"));
628 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 642 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
629 643
630 box = gtk_vbox_new(FALSE, 5); 644 box = gtk_vbox_new(FALSE, 5);
631 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 645 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
632 gtk_container_add(GTK_CONTAINER(prefdialog), box); 646 gtk_container_add(GTK_CONTAINER(prefdialog), box);
633 gtk_widget_show(box); 647 gtk_widget_show(box);
634 648
635 table = gtk_table_new(4, 2, FALSE); 649 table = gtk_table_new(4, 2, FALSE);
636 gtk_widget_show(table); 650 gtk_widget_show(table);
637 651
638 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0); 652 gtk_box_pack_start(GTK_BOX(box), table, TRUE, TRUE, 0);
639 653
640 list1 = gtk_list_new(); 654 list1 = gtk_list_new();
641 list2 = gtk_list_new(); 655 list2 = gtk_list_new();
642 sw1 = gtk_scrolled_window_new(NULL, NULL); 656 sw1 = gtk_scrolled_window_new(NULL, NULL);
643 sw2 = gtk_scrolled_window_new(NULL, NULL); 657 sw2 = gtk_scrolled_window_new(NULL, NULL);
644 658
645 ref_button = picture_button(prefs, _("Refresh"), refresh_xpm); 659 ref_button = picture_button(prefs, _("Refresh"), refresh_xpm);
646 add_button = picture_button(prefs, _("Add"), gnome_add_xpm); 660 add_button = picture_button(prefs, _("Add"), gnome_add_xpm);
647 rem_button = picture_button(prefs, _("Remove"), gnome_remove_xpm); 661 rem_button = picture_button(prefs, _("Remove"), gnome_remove_xpm);
648 gtk_widget_show(list1); 662 gtk_widget_show(list1);
649 gtk_widget_show(sw1); 663 gtk_widget_show(sw1);
650 gtk_widget_show(list2); 664 gtk_widget_show(list2);
651 gtk_widget_show(sw2); 665 gtk_widget_show(sw2);
652 666
653 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1); 667 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw1), list1);
654 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2); 668 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), list2);
655 669
656 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw1), 670 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw1),
657 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); 671 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
658 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), 672 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2),
659 GTK_POLICY_AUTOMATIC,GTK_POLICY_ALWAYS); 673 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
660 674
661 cp->list1 = list1; 675 cp->list1 = list1;
662 cp->list2 = list2; 676 cp->list2 = list2;
663 677
664 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", 678 gtk_signal_connect(GTK_OBJECT(ref_button), "clicked", GTK_SIGNAL_FUNC(refresh_list), cp);
665 GTK_SIGNAL_FUNC(refresh_list), cp); 679 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", GTK_SIGNAL_FUNC(remove_chat), cp);
666 gtk_signal_connect(GTK_OBJECT(rem_button), "clicked", 680 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", GTK_SIGNAL_FUNC(add_chat), cp);
667 GTK_SIGNAL_FUNC(remove_chat), cp); 681
668 gtk_signal_connect(GTK_OBJECT(add_button), "clicked", 682
669 GTK_SIGNAL_FUNC(add_chat), cp); 683
670 684 label = gtk_label_new(_("List of available chats"));
671 685 gtk_widget_show(label);
672 686
673 label = gtk_label_new(_("List of available chats")); 687 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0);
674 gtk_widget_show(label); 688 gtk_table_attach(GTK_TABLE(table), ref_button, 0, 1, 1, 2, GTK_SHRINK, GTK_SHRINK, 0, 0);
675 689 gtk_table_attach(GTK_TABLE(table), sw1, 0, 1, 2, 3,
676 gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, 690 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5);
677 GTK_SHRINK, GTK_SHRINK, 0, 0); 691 gtk_table_attach(GTK_TABLE(table), add_button, 0, 1, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0);
678 gtk_table_attach(GTK_TABLE(table), ref_button, 0, 1, 1, 2, 692
679 GTK_SHRINK, GTK_SHRINK, 0, 0); 693
680 gtk_table_attach(GTK_TABLE(table), sw1, 0, 1, 2, 3, 694 label = gtk_label_new(_("List of subscribed chats"));
681 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 695 gtk_widget_show(label);
682 5, 5); 696
683 gtk_table_attach(GTK_TABLE(table), add_button, 0, 1, 3, 4, 697 gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, GTK_SHRINK, GTK_SHRINK, 0, 0);
684 GTK_SHRINK, GTK_SHRINK, 0, 0); 698 gtk_table_attach(GTK_TABLE(table), sw2, 1, 2, 2, 3,
685 699 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5);
686 700 gtk_table_attach(GTK_TABLE(table), rem_button, 1, 2, 3, 4, GTK_SHRINK, GTK_SHRINK, 0, 0);
687 label = gtk_label_new(_("List of subscribed chats")); 701
688 gtk_widget_show(label); 702
689 703 item = gtk_list_item_new_with_label(_("Gaim Chat"));
690 gtk_table_attach(GTK_TABLE(table), label, 1, 2, 0, 1, 704 cr = g_new0(struct chat_room, 1);
691 GTK_SHRINK, GTK_SHRINK, 0, 0); 705 strcpy(cr->name, _("Gaim Chat"));
692 gtk_table_attach(GTK_TABLE(table), sw2, 1, 2, 2, 3, 706 cr->exchange = 4;
693 GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 707 gtk_object_set_user_data(GTK_OBJECT(item), cr);
694 5, 5); 708 gtk_widget_show(item);
695 gtk_table_attach(GTK_TABLE(table), rem_button, 1, 2, 3, 4, 709 gtk_list_append_items(GTK_LIST(list1), g_list_append(NULL, item));
696 GTK_SHRINK, GTK_SHRINK, 0, 0); 710
697 711
698 712 while (crs) {
699 item = gtk_list_item_new_with_label(_("Gaim Chat")); 713 cr = (struct chat_room *)crs->data;
700 cr = g_new0(struct chat_room, 1); 714 item = gtk_list_item_new_with_label(cr->name);
701 strcpy(cr->name, _("Gaim Chat")); 715 gtk_object_set_user_data(GTK_OBJECT(item), cr);
702 cr->exchange = 4; 716 gtk_widget_show(item);
703 gtk_object_set_user_data(GTK_OBJECT(item), cr); 717 items = g_list_append(items, item);
704 gtk_widget_show(item); 718
705 gtk_list_append_items(GTK_LIST(list1), g_list_append(NULL, item)); 719 crs = crs->next;
706 720 }
707 721
708 while(crs) { 722 gtk_list_append_items(GTK_LIST(list2), items);
709 cr = (struct chat_room *)crs->data;
710 item = gtk_list_item_new_with_label(cr->name);
711 gtk_object_set_user_data(GTK_OBJECT(item), cr);
712 gtk_widget_show(item);
713 items = g_list_append(items, item);
714
715 crs = crs->next;
716 }
717
718 gtk_list_append_items(GTK_LIST(list2), items);
719 723
720 gtk_widget_show(prefdialog); 724 gtk_widget_show(prefdialog);
721 } 725 }
722 726
723 static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc) 727 static GtkWidget *show_color_pref(GtkWidget *box, gboolean fgc)
812 816
813 prefdialog = gtk_frame_new(_("Font Options")); 817 prefdialog = gtk_frame_new(_("Font Options"));
814 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 818 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
815 819
816 box = gtk_vbox_new(FALSE, 5); 820 box = gtk_vbox_new(FALSE, 5);
817 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 821 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
818 gtk_container_add(GTK_CONTAINER(prefdialog), box); 822 gtk_container_add(GTK_CONTAINER(prefdialog), box);
819 gtk_widget_show(box); 823 gtk_widget_show(box);
820 824
821 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 825 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
822 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 826 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
823 gtk_widget_show(label); 827 gtk_widget_show(label);
824 828
825 gaim_button(_("Bold Text"), &font_options, OPT_FONT_BOLD, box); 829 gaim_button(_("Bold Text"), &font_options, OPT_FONT_BOLD, box);
826 gaim_button(_("Italics Text"), &font_options, OPT_FONT_ITALIC, box); 830 gaim_button(_("Italics Text"), &font_options, OPT_FONT_ITALIC, box);
827 gaim_button(_("Underlined Text"), &font_options, OPT_FONT_UNDERLINE, box); 831 gaim_button(_("Underlined Text"), &font_options, OPT_FONT_UNDERLINE, box);
828 gaim_button(_("Strike Text"), &font_options, OPT_FONT_STRIKE, box); 832 gaim_button(_("Strike Text"), &font_options, OPT_FONT_STRIKE, box);
829 833
830 sep = gtk_hseparator_new(); 834 sep = gtk_hseparator_new();
831 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 835 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
832 gtk_widget_show(sep); 836 gtk_widget_show(sep);
833 837
834 hbox = gtk_hbox_new(FALSE, 5); 838 hbox = gtk_hbox_new(FALSE, 5);
835 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 839 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
836 gtk_widget_show(hbox); 840 gtk_widget_show(hbox);
837 841
838 pref_fg_picture = show_color_pref(hbox, TRUE); 842 pref_fg_picture = show_color_pref(hbox, TRUE);
839 button = gaim_button(_("Text Color"), &font_options, OPT_FONT_FGCOL, hbox); 843 button = gaim_button(_("Text Color"), &font_options, OPT_FONT_FGCOL, hbox);
840 844
841 select = picture_button(prefs, _("Select"), fgcolor_xpm); 845 select = picture_button(prefs, _("Select"), fgcolor_xpm);
842 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5); 846 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5);
844 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); 848 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
845 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_fgcolor_dialog), NULL); 849 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_fgcolor_dialog), NULL);
846 gtk_widget_show(select); 850 gtk_widget_show(select);
847 851
848 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); 852 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select);
849 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_fg_picture); 853 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color),
854 pref_fg_picture);
850 855
851 hbox = gtk_hbox_new(FALSE, 5); 856 hbox = gtk_hbox_new(FALSE, 5);
852 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 857 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
853 gtk_widget_show(hbox); 858 gtk_widget_show(hbox);
854 859
855 pref_bg_picture = show_color_pref(hbox, FALSE); 860 pref_bg_picture = show_color_pref(hbox, FALSE);
856 button = gaim_button(_("Background Color"), &font_options, OPT_FONT_BGCOL, hbox); 861 button = gaim_button(_("Background Color"), &font_options, OPT_FONT_BGCOL, hbox);
857 862
858 select = picture_button(prefs, _("Select"), bgcolor_xpm); 863 select = picture_button(prefs, _("Select"), bgcolor_xpm);
859 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5); 864 gtk_box_pack_start(GTK_BOX(hbox), select, FALSE, FALSE, 5);
861 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE); 866 gtk_widget_set_sensitive(GTK_WIDGET(select), FALSE);
862 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_bgcolor_dialog), NULL); 867 gtk_signal_connect(GTK_OBJECT(select), "clicked", GTK_SIGNAL_FUNC(show_bgcolor_dialog), NULL);
863 gtk_widget_show(select); 868 gtk_widget_show(select);
864 869
865 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select); 870 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), select);
866 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color), pref_bg_picture); 871 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(update_color),
872 pref_bg_picture);
867 873
868 sep = gtk_hseparator_new(); 874 sep = gtk_hseparator_new();
869 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5); 875 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
870 gtk_widget_show(sep); 876 gtk_widget_show(sep);
871 877
898 904
899 prefdialog = gtk_frame_new(_("Sound Options")); 905 prefdialog = gtk_frame_new(_("Sound Options"));
900 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 906 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
901 907
902 box = gtk_vbox_new(FALSE, 5); 908 box = gtk_vbox_new(FALSE, 5);
903 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 909 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
904 gtk_container_add(GTK_CONTAINER(prefdialog), box); 910 gtk_container_add(GTK_CONTAINER(prefdialog), box);
905 gtk_widget_show(box); 911 gtk_widget_show(box);
906 912
907 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 913 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
908 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 914 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
916 } 922 }
917 923
918 static GtkWidget *sndent[NUM_SOUNDS]; 924 static GtkWidget *sndent[NUM_SOUNDS];
919 static GtkWidget *sndcmd = NULL; 925 static GtkWidget *sndcmd = NULL;
920 926
921 void close_sounddialog(GtkWidget *w, GtkWidget *w2) 927 void close_sounddialog(GtkWidget *w, GtkWidget *w2)
922 { 928 {
923 929
924 GtkWidget *dest; 930 GtkWidget *dest;
925 931
926 if (!GTK_IS_WIDGET(w2)) 932 if (!GTK_IS_WIDGET(w2))
927 dest = w; 933 dest = w;
928 else 934 else
929 dest = w2; 935 dest = w2;
930 936
931 sounddialog = NULL; 937 sounddialog = NULL;
932 938
933 gtk_widget_destroy(dest); 939 gtk_widget_destroy(dest);
934 } 940 }
935 941
936 void do_select_sound(GtkWidget *w, int snd) { 942 void do_select_sound(GtkWidget *w, int snd)
937 943 {
944
938 char *file; 945 char *file;
939 946
940 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sounddialog)); 947 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(sounddialog));
941 948
942 /* If they type in a directory, change there */ 949 /* If they type in a directory, change there */
943 if (file_is_dir(file, sounddialog)) 950 if (file_is_dir(file, sounddialog))
944 return; 951 return;
952 959
953 save_prefs(); 960 save_prefs();
954 961
955 /* Set our text entry */ 962 /* Set our text entry */
956 gtk_entry_set_text(GTK_ENTRY(sndent[snd]), sound_file[snd]); 963 gtk_entry_set_text(GTK_ENTRY(sndent[snd]), sound_file[snd]);
957 964
958 /* Close the window! It's getting cold in here! */ 965 /* Close the window! It's getting cold in here! */
959 close_sounddialog(NULL, sounddialog); 966 close_sounddialog(NULL, sounddialog);
960 } 967 }
961 968
962 static void reset_sound(GtkWidget *button, int snd) { 969 static void reset_sound(GtkWidget *button, int snd)
970 {
963 971
964 /* This just resets a sound file back to default */ 972 /* This just resets a sound file back to default */
965 sound_file[snd] = NULL; 973 sound_file[snd] = NULL;
966 974
967 gtk_entry_set_text(GTK_ENTRY(sndent[snd]), "(default)"); 975 gtk_entry_set_text(GTK_ENTRY(sndent[snd]), "(default)");
968 } 976 }
969 977
970 static void sel_sound(GtkWidget *button, int snd) { 978 static void sel_sound(GtkWidget *button, int snd)
971 979 {
980
972 char *buf = g_malloc(BUF_LEN); 981 char *buf = g_malloc(BUF_LEN);
973 982
974 if (!sounddialog) 983 if (!sounddialog) {
975 {
976 sounddialog = gtk_file_selection_new(_("Gaim - Sound Configuration")); 984 sounddialog = gtk_file_selection_new(_("Gaim - Sound Configuration"));
977 985
978 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(sounddialog)); 986 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(sounddialog));
979 987
980 g_snprintf(buf, BUF_LEN -1, "%s/", getenv("HOME")); 988 g_snprintf(buf, BUF_LEN - 1, "%s/", getenv("HOME"));
981 989
982 gtk_file_selection_set_filename(GTK_FILE_SELECTION(sounddialog), buf); 990 gtk_file_selection_set_filename(GTK_FILE_SELECTION(sounddialog), buf);
983 991
984 gtk_signal_connect(GTK_OBJECT(sounddialog), "destroy", 992 gtk_signal_connect(GTK_OBJECT(sounddialog), "destroy",
985 GTK_SIGNAL_FUNC(close_sounddialog), sounddialog); 993 GTK_SIGNAL_FUNC(close_sounddialog), sounddialog);
986 994
987 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->ok_button), 995 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->ok_button),
988 "clicked", GTK_SIGNAL_FUNC(do_select_sound), (int *)snd); 996 "clicked", GTK_SIGNAL_FUNC(do_select_sound), (int *)snd);
989 997
990 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->cancel_button), 998 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(sounddialog)->cancel_button),
991 "clicked", GTK_SIGNAL_FUNC(close_sounddialog), sounddialog); 999 "clicked", GTK_SIGNAL_FUNC(close_sounddialog), sounddialog);
992 } 1000 }
993 1001
994 g_free(buf); 1002 g_free(buf);
995 gtk_widget_show(sounddialog); 1003 gtk_widget_show(sounddialog);
996 gdk_window_raise(sounddialog->window); 1004 gdk_window_raise(sounddialog->window);
997 } 1005 }
998 1006
999 static void sound_entry(char *label, int opt, GtkWidget *box, int snd) { 1007 static void sound_entry(char *label, int opt, GtkWidget *box, int snd)
1008 {
1000 GtkWidget *hbox; 1009 GtkWidget *hbox;
1001 GtkWidget *entry; 1010 GtkWidget *entry;
1002 GtkWidget *button; 1011 GtkWidget *button;
1003 1012
1004 hbox = gtk_hbox_new(FALSE, 5); 1013 hbox = gtk_hbox_new(FALSE, 5);
1017 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(sel_sound), (void *)snd); 1026 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(sel_sound), (void *)snd);
1018 gtk_widget_show(button); 1027 gtk_widget_show(button);
1019 1028
1020 entry = gtk_entry_new(); 1029 entry = gtk_entry_new();
1021 gtk_entry_set_editable(GTK_ENTRY(entry), FALSE); 1030 gtk_entry_set_editable(GTK_ENTRY(entry), FALSE);
1022 1031
1023 if (sound_file[snd]) 1032 if (sound_file[snd])
1024 gtk_entry_set_text(GTK_ENTRY(entry), sound_file[snd]); 1033 gtk_entry_set_text(GTK_ENTRY(entry), sound_file[snd]);
1025 else 1034 else
1026 gtk_entry_set_text(GTK_ENTRY(entry), "(default)"); 1035 gtk_entry_set_text(GTK_ENTRY(entry), "(default)");
1027 1036
1028 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0); 1037 gtk_box_pack_end(GTK_BOX(hbox), entry, FALSE, FALSE, 0);
1029 sndent[snd] = entry; 1038 sndent[snd] = entry;
1030 gtk_widget_show(entry); 1039 gtk_widget_show(entry);
1031 } 1040 }
1032 1041
1033 static gint sound_cmd_yeah(GtkEntry *entry, GdkEvent *event, gpointer d) 1042 static gint sound_cmd_yeah(GtkEntry * entry, GdkEvent *event, gpointer d)
1034 { 1043 {
1035 g_snprintf(sound_cmd, sizeof(sound_cmd), "%s", gtk_entry_get_text(GTK_ENTRY(sndcmd))); 1044 g_snprintf(sound_cmd, sizeof(sound_cmd), "%s", gtk_entry_get_text(GTK_ENTRY(sndcmd)));
1036 save_prefs(); 1045 save_prefs();
1037 return TRUE; 1046 return TRUE;
1038 } 1047 }
1050 1059
1051 prefdialog = gtk_frame_new(_("Sound Events")); 1060 prefdialog = gtk_frame_new(_("Sound Events"));
1052 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 1061 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
1053 1062
1054 box = gtk_vbox_new(FALSE, 5); 1063 box = gtk_vbox_new(FALSE, 5);
1055 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 1064 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
1056 gtk_container_add(GTK_CONTAINER(prefdialog), box); 1065 gtk_container_add(GTK_CONTAINER(prefdialog), box);
1057 gtk_widget_show(box); 1066 gtk_widget_show(box);
1058 1067
1059 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 1068 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
1060 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 1069 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
1109 1118
1110 void away_list_clicked(GtkWidget *widget, struct away_message *a) 1119 void away_list_clicked(GtkWidget *widget, struct away_message *a)
1111 { 1120 {
1112 gchar buffer[2048]; 1121 gchar buffer[2048];
1113 guint text_len; 1122 guint text_len;
1114 1123
1115 cur_message = a; 1124 cur_message = a;
1116 1125
1117 /* Get proper Length */ 1126 /* Get proper Length */
1118 text_len = gtk_text_get_length(GTK_TEXT(away_text)); 1127 text_len = gtk_text_get_length(GTK_TEXT(away_text));
1119 1128
1120 /* Clear the Box */ 1129 /* Clear the Box */
1121 gtk_text_set_point(GTK_TEXT(away_text), 0 ); 1130 gtk_text_set_point(GTK_TEXT(away_text), 0);
1122 gtk_text_forward_delete (GTK_TEXT(away_text), text_len); 1131 gtk_text_forward_delete(GTK_TEXT(away_text), text_len);
1123 1132
1124 /* Fill the text box with new message */ 1133 /* Fill the text box with new message */
1125 strcpy(buffer, a->message); 1134 strcpy(buffer, a->message);
1126 gtk_text_insert(GTK_TEXT(away_text), NULL, NULL, NULL, buffer, -1); 1135 gtk_text_insert(GTK_TEXT(away_text), NULL, NULL, NULL, buffer, -1);
1127 } 1136 }
1134 save_prefs(); 1143 save_prefs();
1135 } 1144 }
1136 1145
1137 void remove_away_message(GtkWidget *widget, void *dummy) 1146 void remove_away_message(GtkWidget *widget, void *dummy)
1138 { 1147 {
1139 GList *i; 1148 GList *i;
1140 struct away_message *a; 1149 struct away_message *a;
1141 1150
1142 i = GTK_LIST(prefs_away_list)->selection; 1151 i = GTK_LIST(prefs_away_list)->selection;
1143 1152
1144 if (!i) return; 1153 if (!i)
1154 return;
1145 if (!i->next) { 1155 if (!i->next) {
1146 int text_len = gtk_text_get_length(GTK_TEXT(away_text)); 1156 int text_len = gtk_text_get_length(GTK_TEXT(away_text));
1147 gtk_text_set_point(GTK_TEXT(away_text), 0 ); 1157 gtk_text_set_point(GTK_TEXT(away_text), 0);
1148 gtk_text_forward_delete (GTK_TEXT(away_text), text_len); 1158 gtk_text_forward_delete(GTK_TEXT(away_text), text_len);
1149 } 1159 }
1150 a = gtk_object_get_user_data(GTK_OBJECT(i->data)); 1160 a = gtk_object_get_user_data(GTK_OBJECT(i->data));
1151 rem_away_mess(NULL, a); 1161 rem_away_mess(NULL, a);
1152 } 1162 }
1153 1163
1174 int length = g_slist_length(away_messages); 1184 int length = g_slist_length(away_messages);
1175 1185
1176 if (away_messages == NULL) 1186 if (away_messages == NULL)
1177 default_away = 0; 1187 default_away = 0;
1178 else if ((int)i >= length) 1188 else if ((int)i >= length)
1179 default_away = length-1; 1189 default_away = length - 1;
1180 else 1190 else
1181 default_away = (int)i; 1191 default_away = (int)i;
1182 } 1192 }
1183 1193
1184 void default_away_menu_init(GtkWidget *omenu) 1194 void default_away_menu_init(GtkWidget *omenu)
1191 menu = gtk_menu_new(); 1201 menu = gtk_menu_new();
1192 1202
1193 while (awy) { 1203 while (awy) {
1194 a = (struct away_message *)awy->data; 1204 a = (struct away_message *)awy->data;
1195 opt = gtk_menu_item_new_with_label(a->name); 1205 opt = gtk_menu_item_new_with_label(a->name);
1196 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_default_away), (gpointer)index); 1206 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(set_default_away),
1207 (gpointer)index);
1197 gtk_widget_show(opt); 1208 gtk_widget_show(opt);
1198 gtk_menu_append(GTK_MENU(menu), opt); 1209 gtk_menu_append(GTK_MENU(menu), opt);
1199 1210
1200 awy = awy->next; 1211 awy = awy->next;
1201 index++; 1212 index++;
1204 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu)); 1215 gtk_option_menu_remove_menu(GTK_OPTION_MENU(omenu));
1205 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu); 1216 gtk_option_menu_set_menu(GTK_OPTION_MENU(omenu), menu);
1206 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), default_away); 1217 gtk_option_menu_set_history(GTK_OPTION_MENU(omenu), default_away);
1207 } 1218 }
1208 1219
1209 1220
1210 1221
1211 static void away_page() 1222 static void away_page()
1212 { 1223 {
1213 GtkWidget *parent; 1224 GtkWidget *parent;
1214 GtkWidget *box; 1225 GtkWidget *box;
1233 prefdialog = gtk_frame_new(_("Away Messages")); 1244 prefdialog = gtk_frame_new(_("Away Messages"));
1234 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 1245 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
1235 1246
1236 box = gtk_vbox_new(FALSE, 5); 1247 box = gtk_vbox_new(FALSE, 5);
1237 gtk_container_add(GTK_CONTAINER(prefdialog), box); 1248 gtk_container_add(GTK_CONTAINER(prefdialog), box);
1238 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 1249 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
1239 gtk_widget_show(box); 1250 gtk_widget_show(box);
1240 1251
1241 hbox = gtk_hbox_new(TRUE, 0); 1252 hbox = gtk_hbox_new(TRUE, 0);
1242 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5); 1253 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 5);
1243 gtk_widget_show(hbox); 1254 gtk_widget_show(hbox);
1254 gtk_box_pack_start(GTK_BOX(box), top, TRUE, TRUE, 0); 1265 gtk_box_pack_start(GTK_BOX(box), top, TRUE, TRUE, 0);
1255 gtk_widget_show(top); 1266 gtk_widget_show(top);
1256 1267
1257 sw = gtk_scrolled_window_new(NULL, NULL); 1268 sw = gtk_scrolled_window_new(NULL, NULL);
1258 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), 1269 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
1259 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); 1270 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1260 gtk_box_pack_start(GTK_BOX(top), sw, TRUE, TRUE, 0); 1271 gtk_box_pack_start(GTK_BOX(top), sw, TRUE, TRUE, 0);
1261 gtk_widget_set_usize(sw, -1, 225); 1272 gtk_widget_set_usize(sw, -1, 225);
1262 gtk_widget_show(sw); 1273 gtk_widget_show(sw);
1263 1274
1264 prefs_away_list = gtk_list_new(); 1275 prefs_away_list = gtk_list_new();
1266 gtk_signal_connect(GTK_OBJECT(prefs_away_list), "destroy", GTK_SIGNAL_FUNC(paldest), 0); 1277 gtk_signal_connect(GTK_OBJECT(prefs_away_list), "destroy", GTK_SIGNAL_FUNC(paldest), 0);
1267 gtk_widget_show(prefs_away_list); 1278 gtk_widget_show(prefs_away_list);
1268 1279
1269 sw2 = gtk_scrolled_window_new(NULL, NULL); 1280 sw2 = gtk_scrolled_window_new(NULL, NULL);
1270 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), 1281 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2),
1271 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); 1282 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1272 gtk_box_pack_start(GTK_BOX(top), sw2, TRUE, TRUE, 0); 1283 gtk_box_pack_start(GTK_BOX(top), sw2, TRUE, TRUE, 0);
1273 gtk_widget_show(sw2); 1284 gtk_widget_show(sw2);
1274 1285
1275 away_text = gtk_text_new(NULL, NULL); 1286 away_text = gtk_text_new(NULL, NULL);
1276 gtk_container_add(GTK_CONTAINER(sw2), away_text); 1287 gtk_container_add(GTK_CONTAINER(sw2), away_text);
1287 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5); 1298 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5);
1288 1299
1289 button = picture_button(prefs, _("Edit"), save_xpm); 1300 button = picture_button(prefs, _("Edit"), save_xpm);
1290 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(create_away_mess), button); 1301 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(create_away_mess), button);
1291 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5); 1302 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5);
1292 1303
1293 button = picture_button(prefs, _("Make Away"), gnome_preferences_xpm); 1304 button = picture_button(prefs, _("Make Away"), gnome_preferences_xpm);
1294 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_away_mess), NULL); 1305 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_away_mess), NULL);
1295 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5); 1306 gtk_box_pack_start(GTK_BOX(bot), button, TRUE, FALSE, 5);
1296 1307
1297 button = picture_button(prefs, _("Remove"), gnome_remove_xpm); 1308 button = picture_button(prefs, _("Remove"), gnome_remove_xpm);
1306 1317
1307 while (awy) { 1318 while (awy) {
1308 a = (struct away_message *)awy->data; 1319 a = (struct away_message *)awy->data;
1309 label = gtk_label_new(a->name); 1320 label = gtk_label_new(a->name);
1310 list_item = gtk_list_item_new(); 1321 list_item = gtk_list_item_new();
1311 gtk_container_add(GTK_CONTAINER(list_item), label); 1322 gtk_container_add(GTK_CONTAINER(list_item), label);
1312 gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(away_list_clicked), a); 1323 gtk_signal_connect(GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(away_list_clicked),
1324 a);
1313 /* gtk_signal_connect(GTK_OBJECT(list_item), "deselect", GTK_SIGNAL_FUNC(away_list_unclicked), a);*/ 1325 /* gtk_signal_connect(GTK_OBJECT(list_item), "deselect", GTK_SIGNAL_FUNC(away_list_unclicked), a);*/
1314 gtk_object_set_user_data(GTK_OBJECT(list_item), a); 1326 gtk_object_set_user_data(GTK_OBJECT(list_item), a);
1315 1327
1316 gtk_widget_show(label); 1328 gtk_widget_show(label);
1317 gtk_container_add(GTK_CONTAINER(prefs_away_list), list_item); 1329 gtk_container_add(GTK_CONTAINER(prefs_away_list), list_item);
1318 gtk_widget_show(list_item); 1330 gtk_widget_show(list_item);
1319 1331
1320 awy = awy->next; 1332 awy = awy->next;
1321 } 1333 }
1322 1334
1323 sep = gtk_hseparator_new(); 1335 sep = gtk_hseparator_new();
1324 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0); 1336 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0);
1325 gtk_widget_show(sep); 1337 gtk_widget_show(sep);
1326 1338
1327 hbox = gtk_hbox_new(FALSE, 0); 1339 hbox = gtk_hbox_new(FALSE, 0);
1328 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); 1340 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
1329 gtk_widget_show(hbox); 1341 gtk_widget_show(hbox);
1330 1342
1331 gaim_button(_("Ignore new conversations when away "), &general_options, OPT_GEN_DISCARD_WHEN_AWAY, hbox); 1343 gaim_button(_("Ignore new conversations when away "), &general_options,
1344 OPT_GEN_DISCARD_WHEN_AWAY, hbox);
1332 gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, hbox); 1345 gaim_button(_("Sounds while away"), &sound_options, OPT_SOUND_WHEN_AWAY, hbox);
1333 1346
1334 sep = gtk_hseparator_new(); 1347 sep = gtk_hseparator_new();
1335 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0); 1348 gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 0);
1336 gtk_widget_show(sep); 1349 gtk_widget_show(sep);
1346 gtk_widget_set_usize(spin, 50, -1); 1359 gtk_widget_set_usize(spin, 50, -1);
1347 if (!(general_options & OPT_GEN_AUTO_AWAY)) 1360 if (!(general_options & OPT_GEN_AUTO_AWAY))
1348 gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE); 1361 gtk_widget_set_sensitive(GTK_WIDGET(spin), FALSE);
1349 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0); 1362 gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
1350 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin); 1363 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), spin);
1351 gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(set_auto_away), GTK_WIDGET(spin)); 1364 gtk_signal_connect(GTK_OBJECT(adjust), "value-changed", GTK_SIGNAL_FUNC(set_auto_away),
1365 GTK_WIDGET(spin));
1352 gtk_widget_show(spin); 1366 gtk_widget_show(spin);
1353 1367
1354 label = gtk_label_new(_("minutes using")); 1368 label = gtk_label_new(_("minutes using"));
1355 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 1369 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
1356 gtk_widget_show(label); 1370 gtk_widget_show(label);
1358 prefs_away_menu = gtk_option_menu_new(); 1372 prefs_away_menu = gtk_option_menu_new();
1359 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0); 1373 gtk_box_pack_start(GTK_BOX(hbox), prefs_away_menu, FALSE, FALSE, 0);
1360 default_away_menu_init(prefs_away_menu); 1374 default_away_menu_init(prefs_away_menu);
1361 if (!(general_options & OPT_GEN_AUTO_AWAY)) 1375 if (!(general_options & OPT_GEN_AUTO_AWAY))
1362 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE); 1376 gtk_widget_set_sensitive(GTK_WIDGET(prefs_away_menu), FALSE);
1363 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), prefs_away_menu); 1377 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive),
1378 prefs_away_menu);
1364 gtk_widget_show(prefs_away_menu); 1379 gtk_widget_show(prefs_away_menu);
1365 1380
1366 gtk_widget_show(prefdialog); 1381 gtk_widget_show(prefdialog);
1367 } 1382 }
1368 1383
1370 static GtkWidget *new_window = NULL; 1385 static GtkWidget *new_window = NULL;
1371 1386
1372 static void set_browser(GtkWidget *w, int *data) 1387 static void set_browser(GtkWidget *w, int *data)
1373 { 1388 {
1374 web_browser = (int)data; 1389 web_browser = (int)data;
1375 if (web_browser != BROWSER_MANUAL) { 1390 if (web_browser != BROWSER_MANUAL) {
1376 if (browser_entry) 1391 if (browser_entry)
1377 gtk_widget_set_sensitive(browser_entry, FALSE); 1392 gtk_widget_set_sensitive(browser_entry, FALSE);
1378 } else { 1393 } else {
1379 if (browser_entry) 1394 if (browser_entry)
1380 gtk_widget_set_sensitive(browser_entry, TRUE); 1395 gtk_widget_set_sensitive(browser_entry, TRUE);
1381 } 1396 }
1382 1397
1383 if (web_browser != BROWSER_NETSCAPE) { 1398 if (web_browser != BROWSER_NETSCAPE) {
1384 if (new_window) 1399 if (new_window)
1385 gtk_widget_set_sensitive(new_window, FALSE); 1400 gtk_widget_set_sensitive(new_window, FALSE);
1386 } else { 1401 } else {
1387 if (new_window) 1402 if (new_window)
1388 gtk_widget_set_sensitive(new_window, TRUE); 1403 gtk_widget_set_sensitive(new_window, TRUE);
1389 } 1404 }
1390 1405
1391 1406
1392 save_prefs(); 1407 save_prefs();
1393 } 1408 }
1394 1409
1395 static int manualentry_key_pressed(GtkWidget *w, GdkEvent *event, void *dummy) 1410 static int manualentry_key_pressed(GtkWidget *w, GdkEvent *event, void *dummy)
1396 { 1411 {
1397 g_snprintf(web_command, sizeof(web_command), "%s", gtk_entry_get_text(GTK_ENTRY(browser_entry))); 1412 g_snprintf(web_command, sizeof(web_command), "%s", gtk_entry_get_text(GTK_ENTRY(browser_entry)));
1404 GtkWidget *opt; 1419 GtkWidget *opt;
1405 1420
1406 if (!set) 1421 if (!set)
1407 opt = gtk_radio_button_new_with_label(NULL, label); 1422 opt = gtk_radio_button_new_with_label(NULL, label);
1408 else 1423 else
1409 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), label); 1424 opt =
1425 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)),
1426 label);
1410 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); 1427 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0);
1411 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)which); 1428 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_browser), (void *)which);
1412 gtk_widget_show(opt); 1429 gtk_widget_show(opt);
1413 if (web_browser == which) 1430 if (web_browser == which)
1414 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); 1431 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
1435 1452
1436 prefdialog = gtk_frame_new(_("Browser Options")); 1453 prefdialog = gtk_frame_new(_("Browser Options"));
1437 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 1454 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
1438 1455
1439 box = gtk_vbox_new(FALSE, 5); 1456 box = gtk_vbox_new(FALSE, 5);
1440 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 1457 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
1441 gtk_container_add(GTK_CONTAINER(prefdialog), box); 1458 gtk_container_add(GTK_CONTAINER(prefdialog), box);
1442 gtk_widget_show(box); 1459 gtk_widget_show(box);
1443 1460
1444 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 1461 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
1445 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 1462 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
1453 opt = browser_radio(_("Manual"), BROWSER_MANUAL, box, opt); 1470 opt = browser_radio(_("Manual"), BROWSER_MANUAL, box, opt);
1454 1471
1455 browser_entry = gtk_entry_new(); 1472 browser_entry = gtk_entry_new();
1456 gtk_box_pack_start(GTK_BOX(box), browser_entry, FALSE, FALSE, 0); 1473 gtk_box_pack_start(GTK_BOX(box), browser_entry, FALSE, FALSE, 0);
1457 gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command); 1474 gtk_entry_set_text(GTK_ENTRY(browser_entry), web_command);
1458 gtk_signal_connect(GTK_OBJECT(browser_entry), "focus_out_event", GTK_SIGNAL_FUNC(manualentry_key_pressed), NULL); 1475 gtk_signal_connect(GTK_OBJECT(browser_entry), "focus_out_event",
1476 GTK_SIGNAL_FUNC(manualentry_key_pressed), NULL);
1459 gtk_signal_connect(GTK_OBJECT(browser_entry), "destroy", GTK_SIGNAL_FUNC(brentdes), NULL); 1477 gtk_signal_connect(GTK_OBJECT(browser_entry), "destroy", GTK_SIGNAL_FUNC(brentdes), NULL);
1460 gtk_widget_show(browser_entry); 1478 gtk_widget_show(browser_entry);
1461 1479
1462 new_window = gaim_button(_("Pop up new window by default"), &general_options, OPT_GEN_BROWSER_POPUP, box); 1480 new_window =
1463 1481 gaim_button(_("Pop up new window by default"), &general_options, OPT_GEN_BROWSER_POPUP, box);
1464 if (web_browser != BROWSER_MANUAL) { 1482
1465 gtk_widget_set_sensitive(browser_entry, FALSE); 1483 if (web_browser != BROWSER_MANUAL) {
1466 } else { 1484 gtk_widget_set_sensitive(browser_entry, FALSE);
1467 gtk_widget_set_sensitive(browser_entry, TRUE); 1485 } else {
1468 } 1486 gtk_widget_set_sensitive(browser_entry, TRUE);
1469 1487 }
1470 if (web_browser != BROWSER_NETSCAPE) { 1488
1471 gtk_widget_set_sensitive(new_window, FALSE); 1489 if (web_browser != BROWSER_NETSCAPE) {
1472 } else { 1490 gtk_widget_set_sensitive(new_window, FALSE);
1473 gtk_widget_set_sensitive(new_window, TRUE); 1491 } else {
1474 } 1492 gtk_widget_set_sensitive(new_window, TRUE);
1493 }
1475 1494
1476 gtk_widget_show(prefdialog); 1495 gtk_widget_show(prefdialog);
1477 } 1496 }
1478 1497
1479 static GtkWidget *deny_conn_hbox = NULL; 1498 static GtkWidget *deny_conn_hbox = NULL;
1495 GtkWidget *opt; 1514 GtkWidget *opt;
1496 1515
1497 if (!set) 1516 if (!set)
1498 opt = gtk_radio_button_new_with_label(NULL, label); 1517 opt = gtk_radio_button_new_with_label(NULL, label);
1499 else 1518 else
1500 opt = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)), label); 1519 opt =
1520 gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(set)),
1521 label);
1501 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0); 1522 gtk_box_pack_start(GTK_BOX(box), opt, FALSE, FALSE, 0);
1502 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_deny_mode), (void *)which); 1523 gtk_signal_connect(GTK_OBJECT(opt), "clicked", GTK_SIGNAL_FUNC(set_deny_mode), (void *)which);
1503 gtk_widget_show(opt); 1524 gtk_widget_show(opt);
1504 if (current_deny_gc->permdeny == which) 1525 if (current_deny_gc->permdeny == which)
1505 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE); 1526 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(opt), TRUE);
1506 1527
1507 return opt; 1528 return opt;
1508 } 1529 }
1509 1530
1510 static void des_deny_opt(GtkWidget *d, gpointer e) 1531 static void des_deny_opt(GtkWidget *d, gpointer e)
1511 { 1532 {
1593 menu = gtk_menu_new(); 1614 menu = gtk_menu_new();
1594 1615
1595 while (c) { 1616 while (c) {
1596 gc = (struct gaim_connection *)c->data; 1617 gc = (struct gaim_connection *)c->data;
1597 opt = gtk_menu_item_new_with_label(gc->username); 1618 opt = gtk_menu_item_new_with_label(gc->username);
1598 gtk_signal_connect(GTK_OBJECT(opt), "activate", 1619 gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(deny_gc_opt), gc);
1599 GTK_SIGNAL_FUNC(deny_gc_opt), gc);
1600 gtk_widget_show(opt); 1620 gtk_widget_show(opt);
1601 gtk_menu_append(GTK_MENU(menu), opt); 1621 gtk_menu_append(GTK_MENU(menu), opt);
1602 if (gc == current_deny_gc) 1622 if (gc == current_deny_gc)
1603 found = TRUE; 1623 found = TRUE;
1604 else if (!found) 1624 else if (!found)
1665 GtkWidget *opt; 1685 GtkWidget *opt;
1666 GtkWidget *sw; 1686 GtkWidget *sw;
1667 GtkWidget *bbox; 1687 GtkWidget *bbox;
1668 GtkWidget *button; 1688 GtkWidget *button;
1669 1689
1670 current_deny_gc = connections->data; /* this is safe because this screen will only be 1690 current_deny_gc = connections->data; /* this is safe because this screen will only be
1671 available when there are connections */ 1691 available when there are connections */
1672 current_is_deny = TRUE; 1692 current_is_deny = TRUE;
1673 1693
1674 parent = prefdialog->parent; 1694 parent = prefdialog->parent;
1675 gtk_widget_destroy(prefdialog); 1695 gtk_widget_destroy(prefdialog);
1676 1696
1677 prefdialog = gtk_frame_new(_("Privacy Options")); 1697 prefdialog = gtk_frame_new(_("Privacy Options"));
1678 gtk_container_add(GTK_CONTAINER(parent), prefdialog); 1698 gtk_container_add(GTK_CONTAINER(parent), prefdialog);
1679 1699
1680 box = gtk_vbox_new(FALSE, 5); 1700 box = gtk_vbox_new(FALSE, 5);
1681 gtk_container_set_border_width(GTK_CONTAINER(box), 5); 1701 gtk_container_set_border_width(GTK_CONTAINER(box), 5);
1682 gtk_container_add(GTK_CONTAINER(prefdialog), box); 1702 gtk_container_add(GTK_CONTAINER(prefdialog), box);
1683 gtk_widget_show(box); 1703 gtk_widget_show(box);
1684 1704
1685 label = gtk_label_new(_("All options take effect immediately unless otherwise noted.")); 1705 label = gtk_label_new(_("All options take effect immediately unless otherwise noted."));
1686 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5); 1706 gtk_box_pack_start(GTK_BOX(box), label, FALSE, FALSE, 5);
1694 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5); 1714 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), label, FALSE, FALSE, 5);
1695 gtk_widget_show(label); 1715 gtk_widget_show(label);
1696 1716
1697 deny_opt_menu = gtk_option_menu_new(); 1717 deny_opt_menu = gtk_option_menu_new();
1698 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5); 1718 gtk_box_pack_start(GTK_BOX(deny_conn_hbox), deny_opt_menu, FALSE, FALSE, 5);
1699 gtk_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", 1719 gtk_signal_connect(GTK_OBJECT(deny_opt_menu), "destroy", GTK_SIGNAL_FUNC(des_deny_opt), NULL);
1700 GTK_SIGNAL_FUNC(des_deny_opt), NULL);
1701 gtk_widget_show(deny_opt_menu); 1720 gtk_widget_show(deny_opt_menu);
1702 1721
1703 build_deny_menu(); 1722 build_deny_menu();
1704 1723
1705 hbox = gtk_hbox_new(FALSE, 5); 1724 hbox = gtk_hbox_new(FALSE, 5);
1716 label = gtk_label_new(_("Allow List")); 1735 label = gtk_label_new(_("Allow List"));
1717 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); 1736 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1718 gtk_widget_show(label); 1737 gtk_widget_show(label);
1719 1738
1720 sw = gtk_scrolled_window_new(NULL, NULL); 1739 sw = gtk_scrolled_window_new(NULL, NULL);
1721 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), 1740 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1722 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1723 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); 1741 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1724 gtk_widget_show(sw); 1742 gtk_widget_show(sw);
1725 1743
1726 allow_list = gtk_list_new(); 1744 allow_list = gtk_list_new();
1727 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list); 1745 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), allow_list);
1751 label = gtk_label_new(_("Block List")); 1769 label = gtk_label_new(_("Block List"));
1752 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); 1770 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5);
1753 gtk_widget_show(label); 1771 gtk_widget_show(label);
1754 1772
1755 sw = gtk_scrolled_window_new(NULL, NULL); 1773 sw = gtk_scrolled_window_new(NULL, NULL);
1756 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), 1774 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1757 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1758 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5); 1775 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);
1759 gtk_widget_show(sw); 1776 gtk_widget_show(sw);
1760 1777
1761 block_list = gtk_list_new(); 1778 block_list = gtk_list_new();
1762 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list); 1779 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), block_list);
1777 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5); 1794 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 5);
1778 1795
1779 gtk_widget_show(prefdialog); 1796 gtk_widget_show(prefdialog);
1780 } 1797 }
1781 1798
1782 void update_connection_dependent_prefs() /* what a crappy name */ 1799 void update_connection_dependent_prefs()
1783 { 1800 { /* what a crappy name */
1784 if (!prefs) return; 1801 if (!prefs)
1802 return;
1785 if (!connections && deny_node) { 1803 if (!connections && deny_node) {
1786 if (current_is_deny) 1804 if (current_is_deny)
1787 gtk_ctree_select(GTK_CTREE(preftree), general_node); 1805 gtk_ctree_select(GTK_CTREE(preftree), general_node);
1788 gtk_ctree_remove_node(GTK_CTREE(preftree), deny_node); 1806 gtk_ctree_remove_node(GTK_CTREE(preftree), deny_node);
1789 deny_node = NULL; 1807 deny_node = NULL;
1796 build_block_list(); 1814 build_block_list();
1797 } 1815 }
1798 } 1816 }
1799 } 1817 }
1800 1818
1801 static void try_me(GtkCTree *ctree, GtkCTreeNode *node) 1819 static void try_me(GtkCTree * ctree, GtkCTreeNode * node)
1802 { 1820 {
1803 /* this is a hack */ 1821 /* this is a hack */
1804 void (*func)(); 1822 void (*func)();
1805 func = gtk_ctree_node_get_row_data(ctree, node); 1823 func = gtk_ctree_node_get_row_data(ctree, node);
1806 (*func)(); 1824 (*func)();
1824 gtk_window_set_wmclass(GTK_WINDOW(prefs), "preferences", "Gaim"); 1842 gtk_window_set_wmclass(GTK_WINDOW(prefs), "preferences", "Gaim");
1825 gtk_widget_realize(prefs); 1843 gtk_widget_realize(prefs);
1826 aol_icon(prefs->window); 1844 aol_icon(prefs->window);
1827 gtk_window_set_title(GTK_WINDOW(prefs), _("Gaim - Preferences")); 1845 gtk_window_set_title(GTK_WINDOW(prefs), _("Gaim - Preferences"));
1828 gtk_widget_set_usize(prefs, 690, 540); 1846 gtk_widget_set_usize(prefs, 690, 540);
1829 gtk_signal_connect(GTK_OBJECT(prefs), "destroy", 1847 gtk_signal_connect(GTK_OBJECT(prefs), "destroy", GTK_SIGNAL_FUNC(delete_prefs), NULL);
1830 GTK_SIGNAL_FUNC(delete_prefs), NULL);
1831 1848
1832 vbox = gtk_vbox_new(FALSE, 5); 1849 vbox = gtk_vbox_new(FALSE, 5);
1833 gtk_container_border_width(GTK_CONTAINER(vbox), 5); 1850 gtk_container_border_width(GTK_CONTAINER(vbox), 5);
1834 gtk_container_add(GTK_CONTAINER(prefs), vbox); 1851 gtk_container_add(GTK_CONTAINER(prefs), vbox);
1835 gtk_widget_show(vbox); 1852 gtk_widget_show(vbox);
1836 1853
1837 hpaned = gtk_hpaned_new(); 1854 hpaned = gtk_hpaned_new();
1838 gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0); 1855 gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0);
1839 gtk_widget_show(hpaned); 1856 gtk_widget_show(hpaned);
1840 1857
1841 scroll = gtk_scrolled_window_new(NULL, NULL); 1858 scroll = gtk_scrolled_window_new(NULL, NULL);
1842 gtk_paned_pack1(GTK_PANED(hpaned), scroll, FALSE, FALSE); 1859 gtk_paned_pack1(GTK_PANED(hpaned), scroll, FALSE, FALSE);
1843 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), 1860 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
1844 GTK_POLICY_NEVER, GTK_POLICY_NEVER);
1845 gtk_widget_set_usize(scroll, 125, -1); 1861 gtk_widget_set_usize(scroll, 125, -1);
1846 gtk_widget_show(scroll); 1862 gtk_widget_show(scroll);
1847 1863
1848 preftree = gtk_ctree_new(1, 0); 1864 preftree = gtk_ctree_new(1, 0);
1849 gtk_ctree_set_line_style (GTK_CTREE(preftree), GTK_CTREE_LINES_SOLID); 1865 gtk_ctree_set_line_style(GTK_CTREE(preftree), GTK_CTREE_LINES_SOLID);
1850 gtk_ctree_set_expander_style(GTK_CTREE(preftree), GTK_CTREE_EXPANDER_TRIANGLE); 1866 gtk_ctree_set_expander_style(GTK_CTREE(preftree), GTK_CTREE_EXPANDER_TRIANGLE);
1851 gtk_clist_set_reorderable(GTK_CLIST(preftree), FALSE); 1867 gtk_clist_set_reorderable(GTK_CLIST(preftree), FALSE);
1852 gtk_container_add(GTK_CONTAINER(scroll), preftree); 1868 gtk_container_add(GTK_CONTAINER(scroll), preftree);
1853 gtk_signal_connect(GTK_OBJECT(preftree), "tree_select_row", GTK_SIGNAL_FUNC(try_me), NULL); 1869 gtk_signal_connect(GTK_OBJECT(preftree), "tree_select_row", GTK_SIGNAL_FUNC(try_me), NULL);
1854 gtk_widget_show(preftree); 1870 gtk_widget_show(preftree);
1855 1871
1886 1902
1887 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy) 1903 static gint debug_delete(GtkWidget *w, GdkEvent *event, void *dummy)
1888 { 1904 {
1889 if (debugbutton) 1905 if (debugbutton)
1890 gtk_button_clicked(GTK_BUTTON(debugbutton)); 1906 gtk_button_clicked(GTK_BUTTON(debugbutton));
1891 if (general_options & OPT_GEN_DEBUG) 1907 if (general_options & OPT_GEN_DEBUG) {
1892 { 1908 general_options = general_options ^ (int)OPT_GEN_DEBUG;
1893 general_options = general_options ^ (int)OPT_GEN_DEBUG; 1909 save_prefs();
1894 save_prefs(); 1910 }
1895 } 1911 g_free(dw);
1896 g_free(dw); 1912 dw = NULL;
1897 dw=NULL; 1913 return FALSE;
1898 return FALSE;
1899 1914
1900 } 1915 }
1901 1916
1902 static void build_debug() 1917 static void build_debug()
1903 { 1918 {
1904 GtkWidget *scroll; 1919 GtkWidget *scroll;
1905 GtkWidget *box; 1920 GtkWidget *box;
1906 if (!dw) 1921 if (!dw)
1907 dw = g_new0(struct debug_window, 1); 1922 dw = g_new0(struct debug_window, 1);
1908 1923
1909 box = gtk_hbox_new(FALSE,0); 1924 box = gtk_hbox_new(FALSE, 0);
1910 dw->window = gtk_window_new(GTK_WINDOW_DIALOG); 1925 dw->window = gtk_window_new(GTK_WINDOW_DIALOG);
1911 gtk_window_set_title(GTK_WINDOW(dw->window), _("GAIM debug output window")); 1926 gtk_window_set_title(GTK_WINDOW(dw->window), _("GAIM debug output window"));
1912 gtk_window_set_wmclass(GTK_WINDOW(dw->window), 1927 gtk_window_set_wmclass(GTK_WINDOW(dw->window), "debug_out", "Gaim");
1913 "debug_out", "Gaim");
1914 gtk_container_add(GTK_CONTAINER(dw->window), box); 1928 gtk_container_add(GTK_CONTAINER(dw->window), box);
1915 dw->entry = gtk_text_new(NULL,NULL); 1929 dw->entry = gtk_text_new(NULL, NULL);
1916 gtk_widget_set_usize(dw->entry, 500, 200); 1930 gtk_widget_set_usize(dw->entry, 500, 200);
1917 scroll = gtk_vscrollbar_new(GTK_TEXT(dw->entry)->vadj); 1931 scroll = gtk_vscrollbar_new(GTK_TEXT(dw->entry)->vadj);
1918 gtk_box_pack_start(GTK_BOX(box), dw->entry, TRUE,TRUE,0); 1932 gtk_box_pack_start(GTK_BOX(box), dw->entry, TRUE, TRUE, 0);
1919 gtk_box_pack_end(GTK_BOX(box), scroll,FALSE,FALSE,0); 1933 gtk_box_pack_end(GTK_BOX(box), scroll, FALSE, FALSE, 0);
1920 gtk_widget_show(dw->entry); 1934 gtk_widget_show(dw->entry);
1921 gtk_widget_show(scroll); 1935 gtk_widget_show(scroll);
1922 gtk_widget_show(box); 1936 gtk_widget_show(box);
1923 gtk_signal_connect(GTK_OBJECT(dw->window),"delete_event", GTK_SIGNAL_FUNC(debug_delete), NULL); 1937 gtk_signal_connect(GTK_OBJECT(dw->window), "delete_event", GTK_SIGNAL_FUNC(debug_delete), NULL);
1924 gtk_widget_show(dw->window); 1938 gtk_widget_show(dw->window);
1925 } 1939 }
1926 1940
1927 void show_debug(GtkObject *obj) 1941 void show_debug(GtkObject * obj)
1928 { 1942 {
1929 if((general_options & OPT_GEN_DEBUG)) { 1943 if ((general_options & OPT_GEN_DEBUG)) {
1930 if(!dw || !dw->window) 1944 if (!dw || !dw->window)
1931 build_debug(); 1945 build_debug();
1932 gtk_widget_show(dw->window); 1946 gtk_widget_show(dw->window);
1933 } else { 1947 } else {
1934 if (!dw) return; 1948 if (!dw)
1935 gtk_widget_destroy(dw->window); 1949 return;
1936 dw->window = NULL; 1950 gtk_widget_destroy(dw->window);
1951 dw->window = NULL;
1937 } 1952 }
1938 } 1953 }
1939 1954
1940 void debug_printf(char *fmt, ...) 1955 void debug_printf(char *fmt, ...)
1941 { 1956 {
1947 s = g_strdup_vprintf(fmt, ap); 1962 s = g_strdup_vprintf(fmt, ap);
1948 va_end(ap); 1963 va_end(ap);
1949 1964
1950 gtk_text_insert(GTK_TEXT(dw->entry), NULL, NULL, NULL, s, -1); 1965 gtk_text_insert(GTK_TEXT(dw->entry), NULL, NULL, NULL, s, -1);
1951 #ifdef DEBUG 1966 #ifdef DEBUG
1952 printf("%s", chars); 1967 printf("%s", chars);
1953 #endif 1968 #endif
1954 g_free(s); 1969 g_free(s);
1955 } 1970 }
1956 } 1971 }
1957 1972
1967 gtk_widget_destroy(prefs); 1982 gtk_widget_destroy(prefs);
1968 prefs = NULL; 1983 prefs = NULL;
1969 prefdialog = NULL; 1984 prefdialog = NULL;
1970 debugbutton = NULL; 1985 debugbutton = NULL;
1971 prefs_away_menu = NULL; 1986 prefs_away_menu = NULL;
1972 1987
1973 return FALSE; 1988 return FALSE;
1974 } 1989 }
1975 1990
1976 static void delete_prefs(GtkWidget *w, void *data) 1991 static void delete_prefs(GtkWidget *w, void *data)
1977 { 1992 {
1978 if (prefs) { 1993 if (prefs) {
1982 prefs = NULL; 1997 prefs = NULL;
1983 prefs_away_menu = NULL; 1998 prefs_away_menu = NULL;
1984 deny_node = NULL; 1999 deny_node = NULL;
1985 current_deny_gc = NULL; 2000 current_deny_gc = NULL;
1986 } 2001 }
1987 2002
1988 2003
1989 void set_option(GtkWidget *w, int *option) 2004 void set_option(GtkWidget *w, int *option)
1990 { 2005 {
1991 *option = !(*option); 2006 *option = !(*option);
1992 } 2007 }
1993 2008
1994 void set_general_option(GtkWidget *w, int *option) 2009 void set_general_option(GtkWidget *w, int *option)
1995 { 2010 {
1996 general_options = general_options ^ (int)option; 2011 general_options = general_options ^ (int)option;
1997 2012
1998 if ((int)option == OPT_GEN_LOG_ALL) 2013 if ((int)option == OPT_GEN_LOG_ALL)
1999 update_log_convs(); 2014 update_log_convs();
2000 2015
2001 if ((int)option == OPT_GEN_CHECK_SPELLING) 2016 if ((int)option == OPT_GEN_CHECK_SPELLING)
2002 toggle_spellchk(); 2017 toggle_spellchk();
2003 2018
2004 save_prefs(); 2019 save_prefs();
2005 } 2020 }
2006 2021
2007 void set_display_option(GtkWidget *w, int *option) 2022 void set_display_option(GtkWidget *w, int *option)
2008 { 2023 {
2009 display_options = display_options ^ (int)option; 2024 display_options = display_options ^ (int)option;
2010 2025
2011 if (blist && ((int)option == OPT_DISP_NO_BUTTONS)) 2026 if (blist && ((int)option == OPT_DISP_NO_BUTTONS))
2012 build_imchat_box(!(display_options & OPT_DISP_NO_BUTTONS)); 2027 build_imchat_box(!(display_options & OPT_DISP_NO_BUTTONS));
2013 2028
2014 if (blist && ((int)option == OPT_DISP_SHOW_GRPNUM)) 2029 if (blist && ((int)option == OPT_DISP_SHOW_GRPNUM))
2032 2047
2033 void set_font_option(GtkWidget *w, int *option) 2048 void set_font_option(GtkWidget *w, int *option)
2034 { 2049 {
2035 font_options = font_options ^ (int)option; 2050 font_options = font_options ^ (int)option;
2036 2051
2037 update_font_buttons(); 2052 update_font_buttons();
2038 2053
2039 save_prefs(); 2054 save_prefs();
2040 } 2055 }
2041 2056
2042 GtkWidget *gaim_button(const char *text, int *options, int option, GtkWidget *page) 2057 GtkWidget *gaim_button(const char *text, int *options, int option, GtkWidget *page)
2045 button = gtk_check_button_new_with_label(text); 2060 button = gtk_check_button_new_with_label(text);
2046 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option)); 2061 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), (*options & option));
2047 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0); 2062 gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
2048 2063
2049 if (options == &font_options) 2064 if (options == &font_options)
2050 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_font_option), (int *)option); 2065 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_font_option),
2066 (int *)option);
2051 2067
2052 if (options == &sound_options) 2068 if (options == &sound_options)
2053 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_sound_option), (int *)option); 2069 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_sound_option),
2070 (int *)option);
2054 if (options == &display_options) 2071 if (options == &display_options)
2055 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_display_option), (int *)option); 2072 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_display_option),
2073 (int *)option);
2056 2074
2057 if (options == &general_options) 2075 if (options == &general_options)
2058 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_general_option), (int *)option); 2076 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(set_general_option),
2077 (int *)option);
2059 gtk_widget_show(button); 2078 gtk_widget_show(button);
2060 2079
2061 return button; 2080 return button;
2062 } 2081 }
2063 2082
2065 { 2084 {
2066 char *text[1]; 2085 char *text[1];
2067 2086
2068 text[0] = _("General"); 2087 text[0] = _("General");
2069 general_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2088 general_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2070 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2089 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2071 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), general_node, general_page); 2090 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), general_node, general_page);
2072 2091
2073 gtk_ctree_select(GTK_CTREE(preftree), general_node); 2092 gtk_ctree_select(GTK_CTREE(preftree), general_node);
2074 } 2093 }
2075 2094
2078 GtkCTreeNode *parent; 2097 GtkCTreeNode *parent;
2079 char *text[1]; 2098 char *text[1];
2080 2099
2081 text[0] = _("Buddy List"); 2100 text[0] = _("Buddy List");
2082 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2101 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2083 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2102 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2084 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, buddy_page); 2103 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, buddy_page);
2085 } 2104 }
2086 2105
2087 void prefs_build_convo() 2106 void prefs_build_convo()
2088 { 2107 {
2089 GtkCTreeNode *parent, *node, *node2; 2108 GtkCTreeNode *parent, *node, *node2;
2090 char *text[1]; 2109 char *text[1];
2091 2110
2092 text[0] = _("Conversations"); 2111 text[0] = _("Conversations");
2093 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2112 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2094 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2113 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2095 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, convo_page); 2114 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, convo_page);
2096 2115
2097 text[0] = _("IM Window"); 2116 text[0] = _("IM Window");
2098 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 2117 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
2099 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2118 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2100 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, im_page); 2119 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, im_page);
2101 2120
2102 text[0] = _("Chat Window"); 2121 text[0] = _("Chat Window");
2103 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 2122 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
2104 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2123 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2105 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, chat_page); 2124 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, chat_page);
2106 2125
2107 text[0] = _("Chat Rooms"); 2126 text[0] = _("Chat Rooms");
2108 node2 = gtk_ctree_insert_node(GTK_CTREE(preftree), node, NULL, 2127 node2 = gtk_ctree_insert_node(GTK_CTREE(preftree), node, NULL,
2109 text, 5, NULL, NULL, NULL, NULL, 1, 0); 2128 text, 5, NULL, NULL, NULL, NULL, 1, 0);
2110 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node2, room_page); 2129 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node2, room_page);
2111 2130
2112 text[0] = _("Font Options"); 2131 text[0] = _("Font Options");
2113 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 2132 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
2114 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2133 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2115 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, font_page); 2134 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, font_page);
2116 } 2135 }
2117 2136
2118 void prefs_build_sound() 2137 void prefs_build_sound()
2119 { 2138 {
2120 GtkCTreeNode *parent, *node; 2139 GtkCTreeNode *parent, *node;
2121 char *text[1]; 2140 char *text[1];
2122 2141
2123 text[0] = _("Sounds"); 2142 text[0] = _("Sounds");
2124 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2143 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2125 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2144 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2126 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, sound_page); 2145 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, sound_page);
2127 2146
2128 text[0] = _("Events"); 2147 text[0] = _("Events");
2129 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL, 2148 node = gtk_ctree_insert_node(GTK_CTREE(preftree), parent, NULL,
2130 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2149 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2131 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, event_page); 2150 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), node, event_page);
2132 } 2151 }
2133 2152
2134 void prefs_build_away() 2153 void prefs_build_away()
2135 { 2154 {
2136 GtkCTreeNode *parent; 2155 GtkCTreeNode *parent;
2137 char *text[1]; 2156 char *text[1];
2138 2157
2139 text[0] = _("Away Messages"); 2158 text[0] = _("Away Messages");
2140 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2159 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2141 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2160 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2142 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, away_page); 2161 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, away_page);
2143 } 2162 }
2144 2163
2145 void prefs_build_browser() 2164 void prefs_build_browser()
2146 { 2165 {
2147 GtkCTreeNode *parent; 2166 GtkCTreeNode *parent;
2148 char *text[1]; 2167 char *text[1];
2149 2168
2150 text[0] = _("Browser"); 2169 text[0] = _("Browser");
2151 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2170 parent = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2152 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2171 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2153 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, browser_page); 2172 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), parent, browser_page);
2154 } 2173 }
2155 2174
2156 void prefs_build_deny() 2175 void prefs_build_deny()
2157 { 2176 {
2158 char *text[1]; 2177 char *text[1];
2159 2178
2160 if (connections && !deny_node) { 2179 if (connections && !deny_node) {
2161 text[0] = _("Privacy"); 2180 text[0] = _("Privacy");
2162 deny_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL, 2181 deny_node = gtk_ctree_insert_node(GTK_CTREE(preftree), NULL, NULL,
2163 text, 5, NULL, NULL, NULL, NULL, 0, 1); 2182 text, 5, NULL, NULL, NULL, NULL, 0, 1);
2164 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), deny_node, deny_page); 2183 gtk_ctree_node_set_row_data(GTK_CTREE(preftree), deny_node, deny_page);
2165 } 2184 }
2166 } 2185 }