Mercurial > pidgin.yaz
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 } |