Mercurial > pidgin.yaz
comparison src/dialogs.c @ 2372:2927c2c26fe6
[gaim-migrate @ 2385]
reformatting. nothing else.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 27 Sep 2001 19:17:11 +0000 |
parents | 25e7c2a68ed2 |
children | 466b29d35b85 |
comparison
equal
deleted
inserted
replaced
2371:db02399a9ad7 | 2372:2927c2c26fe6 |
---|---|
30 #include <sys/stat.h> | 30 #include <sys/stat.h> |
31 #include <fcntl.h> | 31 #include <fcntl.h> |
32 #include <ctype.h> | 32 #include <ctype.h> |
33 #include <sys/socket.h> | 33 #include <sys/socket.h> |
34 #include <netdb.h> | 34 #include <netdb.h> |
35 #include <netinet/in.h> | 35 #include <netinet/in.h> |
36 #include <unistd.h> | 36 #include <unistd.h> |
37 #include <netinet/in.h> | 37 #include <netinet/in.h> |
38 #include <arpa/inet.h> | 38 #include <arpa/inet.h> |
39 #include <errno.h> | 39 #include <errno.h> |
40 | 40 |
79 | 79 |
80 int smiley_array[FACE_TOTAL]; | 80 int smiley_array[FACE_TOTAL]; |
81 GdkColor bgcolor; | 81 GdkColor bgcolor; |
82 GdkColor fgcolor; | 82 GdkColor fgcolor; |
83 | 83 |
84 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ | 84 static GtkWidget *imdialog = NULL; /*I only want ONE of these :) */ |
85 static GtkWidget *infodialog = NULL; | 85 static GtkWidget *infodialog = NULL; |
86 static GList *dialogwindows = NULL; | 86 static GList *dialogwindows = NULL; |
87 static GtkWidget *exportdialog, *importdialog; | 87 static GtkWidget *exportdialog, *importdialog; |
88 static GtkWidget *icondlg; | 88 static GtkWidget *icondlg; |
89 static GtkWidget *aliasdlg = NULL; | 89 static GtkWidget *aliasdlg = NULL; |
91 static GtkWidget *aliasname = NULL; | 91 static GtkWidget *aliasname = NULL; |
92 static GtkWidget *rename_dialog = NULL; | 92 static GtkWidget *rename_dialog = NULL; |
93 static GtkWidget *rename_bud_dialog = NULL; | 93 static GtkWidget *rename_bud_dialog = NULL; |
94 | 94 |
95 struct create_away { | 95 struct create_away { |
96 GtkWidget *window; | 96 GtkWidget *window; |
97 GtkWidget *entry; | 97 GtkWidget *entry; |
98 GtkWidget *text; | 98 GtkWidget *text; |
99 struct away_message *mess; | 99 struct away_message *mess; |
100 }; | 100 }; |
101 | 101 |
102 | 102 |
103 struct warning { | 103 struct warning { |
104 GtkWidget *window; | 104 GtkWidget *window; |
105 GtkWidget *anon; | 105 GtkWidget *anon; |
106 char *who; | 106 char *who; |
107 struct gaim_connection *gc; | 107 struct gaim_connection *gc; |
108 }; | 108 }; |
109 | 109 |
110 struct addbuddy { | 110 struct addbuddy { |
111 GtkWidget *window; | 111 GtkWidget *window; |
112 GtkWidget *combo; | 112 GtkWidget *combo; |
113 GtkWidget *entry; | 113 GtkWidget *entry; |
114 GtkWidget *entry_for_alias; | 114 GtkWidget *entry_for_alias; |
115 struct gaim_connection *gc; | 115 struct gaim_connection *gc; |
116 }; | 116 }; |
117 | 117 |
118 struct addperm { | 118 struct addperm { |
119 GtkWidget *window; | 119 GtkWidget *window; |
120 GtkWidget *entry; | 120 GtkWidget *entry; |
121 struct gaim_connection *gc; | 121 struct gaim_connection *gc; |
122 gboolean permit; | 122 gboolean permit; |
123 }; | 123 }; |
124 | 124 |
125 struct addbp { | 125 struct addbp { |
126 GtkWidget *window; | 126 GtkWidget *window; |
127 GtkWidget *nameentry; | 127 GtkWidget *nameentry; |
128 GtkWidget *messentry; | 128 GtkWidget *messentry; |
129 GtkWidget *commentry; | 129 GtkWidget *commentry; |
130 GtkWidget *command; | 130 GtkWidget *command; |
131 GtkWidget *sendim; | 131 GtkWidget *sendim; |
132 GtkWidget *openwindow; | 132 GtkWidget *openwindow; |
133 GtkWidget *p_signon; | 133 GtkWidget *p_signon; |
224 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct conversation *c) | 224 static gint delete_event_dialog(GtkWidget *w, GdkEventAny *e, struct conversation *c) |
225 { | 225 { |
226 gchar *object_data; | 226 gchar *object_data; |
227 object_data = gtk_object_get_user_data(GTK_OBJECT(w)); | 227 object_data = gtk_object_get_user_data(GTK_OBJECT(w)); |
228 | 228 |
229 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) | 229 if (GTK_IS_COLOR_SELECTION_DIALOG(w)) { |
230 { | |
231 set_state_lock(1); | 230 set_state_lock(1); |
232 if (w == c->fg_color_dialog) { | 231 if (w == c->fg_color_dialog) { |
233 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); | 232 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); |
234 c->fg_color_dialog = NULL; | 233 c->fg_color_dialog = NULL; |
235 } else { | 234 } else { |
236 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); | 235 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); |
237 c->bg_color_dialog = NULL; | 236 c->bg_color_dialog = NULL; |
238 } | 237 } |
239 set_state_lock(0); | 238 set_state_lock(0); |
240 } | 239 } else if (GTK_IS_FONT_SELECTION_DIALOG(w)) { |
241 else if (GTK_IS_FONT_SELECTION_DIALOG(w)) | |
242 { | |
243 set_state_lock(1); | 240 set_state_lock(1); |
244 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); | 241 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); |
245 set_state_lock(0); | 242 set_state_lock(0); |
246 c->font_dialog = NULL; | 243 c->font_dialog = NULL; |
247 } | 244 } else if (!g_strcasecmp(object_data, "smiley dialog")) { |
248 else if (!g_strcasecmp(object_data, "smiley dialog")) | |
249 { | |
250 set_state_lock(1); | 245 set_state_lock(1); |
251 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); | 246 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); |
252 set_state_lock(0); | 247 set_state_lock(0); |
253 c->smiley_dialog = NULL; | 248 c->smiley_dialog = NULL; |
254 } | 249 } else if (!g_strcasecmp(object_data, "log dialog")) { |
255 else if (!g_strcasecmp(object_data, "log dialog")) | |
256 { | |
257 set_state_lock(1); | 250 set_state_lock(1); |
258 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE); | 251 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE); |
259 set_state_lock(0); | 252 set_state_lock(0); |
260 c->log_dialog = NULL; | 253 c->log_dialog = NULL; |
261 } | 254 } |
262 | 255 |
263 dialogwindows = g_list_remove(dialogwindows, w); | 256 dialogwindows = g_list_remove(dialogwindows, w); |
264 gtk_widget_destroy(w); | 257 gtk_widget_destroy(w); |
265 | 258 |
266 return FALSE; | 259 return FALSE; |
267 } | 260 } |
268 | 261 |
269 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) | 262 static void destroy_dialog(GtkWidget *w, GtkWidget *w2) |
270 { | 263 { |
271 GtkWidget *dest; | 264 GtkWidget *dest; |
272 | 265 |
273 if (!GTK_IS_WIDGET(w2)) | 266 if (!GTK_IS_WIDGET(w2)) |
274 dest = w; | 267 dest = w; |
275 else | 268 else |
276 dest = w2; | 269 dest = w2; |
277 | 270 |
278 if (dest == imdialog) | 271 if (dest == imdialog) |
279 imdialog = NULL; | 272 imdialog = NULL; |
280 | 273 |
281 if (dest == infodialog) | 274 if (dest == infodialog) |
282 infodialog = NULL; | 275 infodialog = NULL; |
283 | 276 |
296 aliasname = NULL; | 289 aliasname = NULL; |
297 } | 290 } |
298 | 291 |
299 if (dest == rename_dialog) | 292 if (dest == rename_dialog) |
300 rename_dialog = NULL; | 293 rename_dialog = NULL; |
301 | 294 |
302 if (dest == rename_bud_dialog) | 295 if (dest == rename_bud_dialog) |
303 rename_bud_dialog = NULL; | 296 rename_bud_dialog = NULL; |
304 | 297 |
305 dialogwindows = g_list_remove(dialogwindows, dest); | 298 dialogwindows = g_list_remove(dialogwindows, dest); |
306 gtk_widget_destroy(dest); | 299 gtk_widget_destroy(dest); |
307 | 300 |
308 } | 301 } |
309 | 302 |
310 | 303 |
311 void destroy_all_dialogs() | 304 void destroy_all_dialogs() |
312 { | 305 { |
313 GList *d = dialogwindows; | 306 GList *d = dialogwindows; |
314 | 307 |
315 while(d) { | 308 while (d) { |
316 destroy_dialog(NULL, d->data); | 309 destroy_dialog(NULL, d->data); |
317 d = d->next; | 310 d = d->next; |
318 } | 311 } |
319 | 312 |
320 g_list_free(dialogwindows); | 313 g_list_free(dialogwindows); |
321 dialogwindows = NULL; | 314 dialogwindows = NULL; |
322 | 315 |
323 if (awaymessage) | 316 if (awaymessage) |
324 do_im_back(NULL, NULL); | 317 do_im_back(NULL, NULL); |
325 | 318 |
326 if (imdialog) { | 319 if (imdialog) { |
327 destroy_dialog(NULL, imdialog); | 320 destroy_dialog(NULL, imdialog); |
328 imdialog = NULL; | 321 imdialog = NULL; |
329 } | 322 } |
330 | 323 |
331 if (infodialog) { | 324 if (infodialog) { |
332 destroy_dialog(NULL, infodialog); | 325 destroy_dialog(NULL, infodialog); |
333 infodialog = NULL; | 326 infodialog = NULL; |
334 } | 327 } |
335 | 328 |
336 if (exportdialog) { | 329 if (exportdialog) { |
337 destroy_dialog(NULL, exportdialog); | 330 destroy_dialog(NULL, exportdialog); |
338 exportdialog = NULL; | 331 exportdialog = NULL; |
339 } | 332 } |
340 | 333 |
341 if (importdialog) { | 334 if (importdialog) { |
342 destroy_dialog(NULL, importdialog); | 335 destroy_dialog(NULL, importdialog); |
343 importdialog = NULL; | 336 importdialog = NULL; |
344 } | 337 } |
345 | 338 |
346 if (icondlg) { | 339 if (icondlg) { |
347 destroy_dialog(NULL, icondlg); | 340 destroy_dialog(NULL, icondlg); |
348 icondlg = NULL; | 341 icondlg = NULL; |
349 } | 342 } |
350 } | 343 } |
351 | 344 |
352 static void do_warn(GtkWidget *widget, struct warning *w) | 345 static void do_warn(GtkWidget *widget, struct warning *w) |
353 { | 346 { |
354 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? | 347 serv_warn(w->gc, w->who, (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon))) ? 1 : 0); |
355 1 : 0); | 348 |
356 | 349 destroy_dialog(NULL, w->window); |
357 destroy_dialog(NULL, w->window); | |
358 } | 350 } |
359 | 351 |
360 static void free_warn_data(GtkObject *obj, struct warning *w) | 352 static void free_warn_data(GtkObject *obj, struct warning *w) |
361 { | 353 { |
362 g_free(w); | 354 g_free(w); |
366 { | 358 { |
367 GtkWidget *cancel; | 359 GtkWidget *cancel; |
368 GtkWidget *warn; | 360 GtkWidget *warn; |
369 GtkWidget *label; | 361 GtkWidget *label; |
370 GtkWidget *vbox; | 362 GtkWidget *vbox; |
371 GtkWidget *bbox; | 363 GtkWidget *bbox; |
372 GtkWidget *frame; | 364 GtkWidget *frame; |
373 GtkWidget *fbox; | 365 GtkWidget *fbox; |
374 char buf[128]; | 366 char buf[128]; |
375 | 367 |
376 struct warning *w = g_new0(struct warning, 1); | 368 struct warning *w = g_new0(struct warning, 1); |
377 w->who = who; | 369 w->who = who; |
378 w->gc = gc; | 370 w->gc = gc; |
379 | 371 |
380 w->window = gtk_window_new(GTK_WINDOW_DIALOG); | 372 w->window = gtk_window_new(GTK_WINDOW_DIALOG); |
381 dialogwindows = g_list_prepend(dialogwindows, w->window); | 373 dialogwindows = g_list_prepend(dialogwindows, w->window); |
382 gtk_window_set_wmclass(GTK_WINDOW(w->window), "warning", "Gaim"); | 374 gtk_window_set_wmclass(GTK_WINDOW(w->window), "warning", "Gaim"); |
383 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE); | 375 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE); |
384 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?")); | 376 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?")); |
385 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5); | 377 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5); |
386 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", | 378 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", |
387 GTK_SIGNAL_FUNC(destroy_dialog), w->window); | 379 GTK_SIGNAL_FUNC(destroy_dialog), w->window); |
388 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", | 380 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", GTK_SIGNAL_FUNC(free_warn_data), w); |
389 GTK_SIGNAL_FUNC(free_warn_data), w); | |
390 gtk_widget_realize(w->window); | 381 gtk_widget_realize(w->window); |
391 aol_icon(w->window->window); | 382 aol_icon(w->window->window); |
392 | 383 |
393 fbox = gtk_vbox_new(FALSE, 5); | 384 fbox = gtk_vbox_new(FALSE, 5); |
394 gtk_container_add(GTK_CONTAINER(w->window), fbox); | 385 gtk_container_add(GTK_CONTAINER(w->window), fbox); |
395 gtk_widget_show(fbox); | 386 gtk_widget_show(fbox); |
396 | 387 |
397 frame = gtk_frame_new(_("Warn")); | 388 frame = gtk_frame_new(_("Warn")); |
398 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); | 389 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); |
399 gtk_widget_show(frame); | 390 gtk_widget_show(frame); |
400 | 391 |
401 vbox = gtk_vbox_new(FALSE, 5); | 392 vbox = gtk_vbox_new(FALSE, 5); |
402 gtk_container_add(GTK_CONTAINER(frame), vbox); | 393 gtk_container_add(GTK_CONTAINER(frame), vbox); |
403 gtk_widget_show(vbox); | 394 gtk_widget_show(vbox); |
404 | 395 |
405 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); | 396 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); |
406 label = gtk_label_new(buf); | 397 label = gtk_label_new(buf); |
407 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); | 398 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
408 gtk_widget_show(label); | 399 gtk_widget_show(label); |
409 | 400 |
410 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); | 401 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); |
411 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5); | 402 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5); |
412 gtk_widget_show(w->anon); | 403 gtk_widget_show(w->anon); |
413 | 404 |
414 label = gtk_label_new(_("Anonymous warnings are less harsh.")); | 405 label = gtk_label_new(_("Anonymous warnings are less harsh.")); |
415 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); | 406 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
416 gtk_widget_show(label); | 407 gtk_widget_show(label); |
417 | 408 |
418 bbox = gtk_hbox_new(TRUE, 10); | 409 bbox = gtk_hbox_new(TRUE, 10); |
419 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5); | 410 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5); |
420 gtk_widget_show(bbox); | 411 gtk_widget_show(bbox); |
421 | 412 |
422 warn = picture_button(w->window, _("Warn"), warn_xpm); | 413 warn = picture_button(w->window, _("Warn"), warn_xpm); |
423 gtk_box_pack_start(GTK_BOX(bbox), warn, FALSE, FALSE, 5); | 414 gtk_box_pack_start(GTK_BOX(bbox), warn, FALSE, FALSE, 5); |
424 gtk_signal_connect(GTK_OBJECT(warn), "clicked", | 415 gtk_signal_connect(GTK_OBJECT(warn), "clicked", GTK_SIGNAL_FUNC(do_warn), w); |
425 GTK_SIGNAL_FUNC(do_warn), w); | |
426 | 416 |
427 cancel = picture_button(w->window, _("Cancel"), cancel_xpm); | 417 cancel = picture_button(w->window, _("Cancel"), cancel_xpm); |
428 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | 418 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
429 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 419 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), w->window); |
430 GTK_SIGNAL_FUNC(destroy_dialog), w->window); | 420 |
431 | 421 gtk_widget_show(w->window); |
432 gtk_widget_show(w->window); | |
433 } | 422 } |
434 | 423 |
435 | 424 |
436 /*------------------------------------------------------------------------*/ | 425 /*------------------------------------------------------------------------*/ |
437 /* The dialog for getting an error */ | 426 /* The dialog for getting an error */ |
438 /*------------------------------------------------------------------------*/ | 427 /*------------------------------------------------------------------------*/ |
439 | 428 |
440 GtkWidget* | 429 GtkWidget *do_error_dialog(char *message, char *title) |
441 do_error_dialog(char *message, char *title) | 430 { |
442 { | 431 GtkWidget *d; |
443 GtkWidget *d; | |
444 GtkWidget *label; | 432 GtkWidget *label; |
445 GtkWidget *close; | 433 GtkWidget *close; |
446 | 434 |
447 | 435 |
448 d = gtk_dialog_new(); | 436 d = gtk_dialog_new(); |
449 gtk_window_set_policy(GTK_WINDOW(d), FALSE, FALSE, TRUE); | 437 gtk_window_set_policy(GTK_WINDOW(d), FALSE, FALSE, TRUE); |
450 gtk_widget_realize(d); | 438 gtk_widget_realize(d); |
451 label = gtk_label_new(message); | 439 label = gtk_label_new(message); |
452 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 440 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
453 gtk_widget_show(label); | 441 gtk_widget_show(label); |
454 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), | 442 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); |
455 label, FALSE, FALSE, 5); | 443 |
456 | |
457 close = picture_button(d, _("Close"), cancel_xpm); | 444 close = picture_button(d, _("Close"), cancel_xpm); |
458 | 445 |
459 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), | 446 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), close, FALSE, FALSE, 5); |
460 close, FALSE, FALSE, 5); | |
461 | 447 |
462 gtk_container_set_border_width(GTK_CONTAINER(d), 5); | 448 gtk_container_set_border_width(GTK_CONTAINER(d), 5); |
463 gtk_window_set_title(GTK_WINDOW(d), title); | 449 gtk_window_set_title(GTK_WINDOW(d), title); |
464 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), d); | 450 gtk_signal_connect(GTK_OBJECT(close), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), d); |
465 aol_icon(d->window); | 451 aol_icon(d->window); |
473 | 459 |
474 static void do_im(GtkWidget *widget, GtkWidget *imentry) | 460 static void do_im(GtkWidget *widget, GtkWidget *imentry) |
475 { | 461 { |
476 char *who; | 462 char *who; |
477 struct conversation *c; | 463 struct conversation *c; |
478 | 464 |
479 who = g_strdup(gtk_entry_get_text(GTK_ENTRY(imentry))); | 465 who = g_strdup(gtk_entry_get_text(GTK_ENTRY(imentry))); |
480 destroy_dialog(NULL, imdialog); | 466 destroy_dialog(NULL, imdialog); |
481 imdialog = NULL; | 467 imdialog = NULL; |
482 | 468 |
483 if (!g_strcasecmp(who, "")) { | 469 if (!g_strcasecmp(who, "")) { |
484 g_free(who); | 470 g_free(who); |
485 return; | 471 return; |
486 } | 472 } |
487 | 473 |
496 } | 482 } |
497 | 483 |
498 static void do_info(GtkWidget *widget, GtkWidget *infoentry) | 484 static void do_info(GtkWidget *widget, GtkWidget *infoentry) |
499 { | 485 { |
500 char *who; | 486 char *who; |
501 | 487 |
502 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(infoentry)))); | 488 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(infoentry)))); |
503 destroy_dialog(NULL, infodialog); | 489 destroy_dialog(NULL, infodialog); |
504 infodialog = NULL; | 490 infodialog = NULL; |
505 | 491 |
506 if (!g_strcasecmp(who, "")) { | 492 if (!g_strcasecmp(who, "")) { |
507 g_free(who); | 493 g_free(who); |
508 return; | 494 return; |
509 } | 495 } |
510 | 496 |
511 /* what do we want to do about this case? */ | 497 /* what do we want to do about this case? */ |
512 if (connections) | 498 if (connections) |
513 serv_get_info(connections->data, who); | 499 serv_get_info(connections->data, who); |
514 | 500 |
515 g_free(who); | 501 g_free(who); |
545 gtk_widget_show(box); | 531 gtk_widget_show(box); |
546 | 532 |
547 gtk_container_add(GTK_CONTAINER(eedialog), box); | 533 gtk_container_add(GTK_CONTAINER(eedialog), box); |
548 gtk_window_set_title(GTK_WINDOW(eedialog), "Gaim - SUPRISE!"); | 534 gtk_window_set_title(GTK_WINDOW(eedialog), "Gaim - SUPRISE!"); |
549 | 535 |
550 gtk_signal_connect(GTK_OBJECT(ok), "clicked", | 536 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), eedialog); |
551 GTK_SIGNAL_FUNC(destroy_dialog), eedialog); | |
552 gtk_widget_realize(eedialog); | 537 gtk_widget_realize(eedialog); |
553 aol_icon(eedialog->window); | 538 aol_icon(eedialog->window); |
554 | 539 |
555 gtk_widget_show(eedialog); | 540 gtk_widget_show(eedialog); |
556 } | 541 } |
557 | 542 |
558 void show_im_dialog() | 543 void show_im_dialog() |
559 { | 544 { |
560 GtkWidget *mainbox; | 545 GtkWidget *mainbox; |
561 GtkWidget *frame; | 546 GtkWidget *frame; |
562 GtkWidget *fbox; | 547 GtkWidget *fbox; |
563 GtkWidget *bbox; | 548 GtkWidget *bbox; |
564 GtkWidget *button; | 549 GtkWidget *button; |
565 GtkWidget *imentry; | 550 GtkWidget *imentry; |
566 GtkWidget *label; | 551 GtkWidget *label; |
567 | 552 |
568 if (!imdialog) { | 553 if (!imdialog) { |
569 imdialog = gtk_window_new(GTK_WINDOW_DIALOG); | 554 imdialog = gtk_window_new(GTK_WINDOW_DIALOG); |
570 gtk_window_set_wmclass(GTK_WINDOW(imdialog), "imdialog", | 555 gtk_window_set_wmclass(GTK_WINDOW(imdialog), "imdialog", "Gaim"); |
571 "Gaim"); | |
572 gtk_window_set_policy(GTK_WINDOW(imdialog), FALSE, TRUE, TRUE); | 556 gtk_window_set_policy(GTK_WINDOW(imdialog), FALSE, TRUE, TRUE); |
573 gtk_window_set_title(GTK_WINDOW(imdialog), _("Gaim - IM user")); | 557 gtk_window_set_title(GTK_WINDOW(imdialog), _("Gaim - IM user")); |
574 gtk_signal_connect(GTK_OBJECT(imdialog), "destroy", | 558 gtk_signal_connect(GTK_OBJECT(imdialog), "destroy", |
575 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); | 559 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); |
576 gtk_widget_realize(imdialog); | 560 gtk_widget_realize(imdialog); |
590 label = gtk_label_new(_("IM who:")); | 574 label = gtk_label_new(_("IM who:")); |
591 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); | 575 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
592 | 576 |
593 imentry = gtk_entry_new(); | 577 imentry = gtk_entry_new(); |
594 gtk_box_pack_start(GTK_BOX(fbox), imentry, TRUE, TRUE, 0); | 578 gtk_box_pack_start(GTK_BOX(fbox), imentry, TRUE, TRUE, 0); |
595 gtk_signal_connect(GTK_OBJECT(imentry), "activate", | 579 gtk_signal_connect(GTK_OBJECT(imentry), "activate", GTK_SIGNAL_FUNC(do_im), imentry); |
596 GTK_SIGNAL_FUNC(do_im), imentry); | |
597 gtk_widget_grab_focus(imentry); | 580 gtk_widget_grab_focus(imentry); |
598 | 581 |
599 bbox = gtk_hbox_new(FALSE, 5); | 582 bbox = gtk_hbox_new(FALSE, 5); |
600 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); | 583 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
601 | 584 |
604 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 587 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
605 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); | 588 GTK_SIGNAL_FUNC(destroy_dialog), imdialog); |
606 | 589 |
607 button = picture_button(imdialog, _("OK"), ok_xpm); | 590 button = picture_button(imdialog, _("OK"), ok_xpm); |
608 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 591 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
609 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 592 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_im), imentry); |
610 GTK_SIGNAL_FUNC(do_im), imentry); | 593 } |
611 } | 594 |
612 | 595 gtk_widget_show_all(imdialog); |
613 gtk_widget_show_all(imdialog); | |
614 } | 596 } |
615 | 597 |
616 void show_info_dialog() | 598 void show_info_dialog() |
617 { | 599 { |
618 GtkWidget *mainbox; | 600 GtkWidget *mainbox; |
619 GtkWidget *frame; | 601 GtkWidget *frame; |
620 GtkWidget *fbox; | 602 GtkWidget *fbox; |
621 GtkWidget *bbox; | 603 GtkWidget *bbox; |
622 GtkWidget *button; | 604 GtkWidget *button; |
623 GtkWidget *infoentry; | 605 GtkWidget *infoentry; |
624 GtkWidget *label; | 606 GtkWidget *label; |
625 | 607 |
626 if (!infodialog) { | 608 if (!infodialog) { |
627 | 609 |
628 infodialog = gtk_window_new(GTK_WINDOW_DIALOG); | 610 infodialog = gtk_window_new(GTK_WINDOW_DIALOG); |
629 gtk_window_set_wmclass(GTK_WINDOW(infodialog), "infodialog", | 611 gtk_window_set_wmclass(GTK_WINDOW(infodialog), "infodialog", "Gaim"); |
630 "Gaim"); | |
631 gtk_window_set_policy(GTK_WINDOW(infodialog), FALSE, TRUE, TRUE); | 612 gtk_window_set_policy(GTK_WINDOW(infodialog), FALSE, TRUE, TRUE); |
632 gtk_widget_realize(infodialog); | 613 gtk_widget_realize(infodialog); |
633 | 614 |
634 mainbox = gtk_vbox_new(FALSE, 5); | 615 mainbox = gtk_vbox_new(FALSE, 5); |
635 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); | 616 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
636 gtk_container_add(GTK_CONTAINER(infodialog), mainbox); | 617 gtk_container_add(GTK_CONTAINER(infodialog), mainbox); |
637 | 618 |
638 frame = gtk_frame_new(_("Get User Info")); | 619 frame = gtk_frame_new(_("Get User Info")); |
639 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); | 620 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
640 | 621 |
641 fbox = gtk_hbox_new(FALSE, 5); | 622 fbox = gtk_hbox_new(FALSE, 5); |
642 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); | 623 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
643 gtk_container_add(GTK_CONTAINER(frame), fbox); | 624 gtk_container_add(GTK_CONTAINER(frame), fbox); |
644 | 625 |
645 label = gtk_label_new(_("User:")); | 626 label = gtk_label_new(_("User:")); |
646 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); | 627 gtk_box_pack_start(GTK_BOX(fbox), label, FALSE, FALSE, 0); |
647 gtk_widget_show(label); | 628 gtk_widget_show(label); |
648 | 629 |
649 infoentry = gtk_entry_new(); | 630 infoentry = gtk_entry_new(); |
650 gtk_box_pack_start(GTK_BOX(fbox), infoentry, TRUE, TRUE, 0); | 631 gtk_box_pack_start(GTK_BOX(fbox), infoentry, TRUE, TRUE, 0); |
651 | 632 |
652 /* Handle closes right */ | 633 /* Handle closes right */ |
653 gtk_signal_connect(GTK_OBJECT(infoentry), "activate", | 634 gtk_signal_connect(GTK_OBJECT(infoentry), "activate", |
654 GTK_SIGNAL_FUNC(do_info), infoentry); | 635 GTK_SIGNAL_FUNC(do_info), infoentry); |
655 gtk_signal_connect(GTK_OBJECT(infodialog), "destroy", | 636 gtk_signal_connect(GTK_OBJECT(infodialog), "destroy", |
656 GTK_SIGNAL_FUNC(destroy_dialog), infodialog); | 637 GTK_SIGNAL_FUNC(destroy_dialog), infodialog); |
657 | 638 |
658 /* Buttons */ | 639 /* Buttons */ |
659 bbox = gtk_hbox_new(FALSE, 5); | 640 bbox = gtk_hbox_new(FALSE, 5); |
660 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); | 641 gtk_box_pack_start(GTK_BOX(mainbox), bbox, FALSE, FALSE, 0); |
661 | 642 |
662 button = picture_button(infodialog, _("Cancel"), cancel_xpm); | 643 button = picture_button(infodialog, _("Cancel"), cancel_xpm); |
663 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 644 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
664 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 645 gtk_signal_connect(GTK_OBJECT(button), "clicked", |
665 GTK_SIGNAL_FUNC(destroy_dialog), infodialog); | 646 GTK_SIGNAL_FUNC(destroy_dialog), infodialog); |
666 | 647 |
667 button = picture_button(infodialog, _("OK"), ok_xpm); | 648 button = picture_button(infodialog, _("OK"), ok_xpm); |
668 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 649 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
669 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 650 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_info), infoentry); |
670 GTK_SIGNAL_FUNC(do_info), infoentry); | |
671 | 651 |
672 /* Finish up */ | 652 /* Finish up */ |
673 gtk_window_set_title(GTK_WINDOW(infodialog), _("Gaim - Get User Info")); | 653 gtk_window_set_title(GTK_WINDOW(infodialog), _("Gaim - Get User Info")); |
674 gtk_widget_grab_focus(infoentry); | 654 gtk_widget_grab_focus(infoentry); |
675 | 655 |
676 aol_icon(infodialog->window); | 656 aol_icon(infodialog->window); |
677 } | 657 } |
678 gtk_widget_show_all(infodialog); | 658 gtk_widget_show_all(infodialog); |
679 } | 659 } |
680 | 660 |
681 | 661 |
682 /*------------------------------------------------------------------------*/ | 662 /*------------------------------------------------------------------------*/ |
686 extern void add_callback(GtkWidget *, struct conversation *); | 666 extern void add_callback(GtkWidget *, struct conversation *); |
687 | 667 |
688 void do_add_buddy(GtkWidget *w, struct addbuddy *a) | 668 void do_add_buddy(GtkWidget *w, struct addbuddy *a) |
689 { | 669 { |
690 char *grp, *who, *whoalias; | 670 char *grp, *who, *whoalias; |
691 struct conversation *c; | 671 struct conversation *c; |
692 | 672 |
693 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); | 673 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
694 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); | 674 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); |
695 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); | 675 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); |
696 | 676 |
697 c = find_conversation(who); | 677 c = find_conversation(who); |
698 | 678 |
699 if (a->gc) { | 679 if (a->gc) { |
700 add_buddy(a->gc, grp, who, whoalias); | 680 add_buddy(a->gc, grp, who, whoalias); |
701 serv_add_buddy(a->gc, who); | 681 serv_add_buddy(a->gc, who); |
702 } else if (connections) { | 682 } else if (connections) { |
703 add_buddy(connections->data, grp, who, whoalias); | 683 add_buddy(connections->data, grp, who, whoalias); |
704 serv_add_buddy(connections->data, who); | 684 serv_add_buddy(connections->data, who); |
705 a->gc = connections->data; | 685 a->gc = connections->data; |
706 } | 686 } |
707 | 687 |
708 if (c != NULL) { | 688 if (c != NULL) { |
709 update_buttons_by_protocol(c); | 689 update_buttons_by_protocol(c); |
710 } | 690 } |
711 | 691 |
712 do_export(a->gc); | 692 do_export(a->gc); |
713 | 693 |
714 destroy_dialog(NULL, a->window); | 694 destroy_dialog(NULL, a->window); |
715 } | 695 } |
716 | 696 |
717 void do_add_group(GtkWidget *w, struct addbuddy *a) | 697 void do_add_group(GtkWidget *w, struct addbuddy *a) |
718 { | 698 { |
719 char *grp; | 699 char *grp; |
720 | 700 |
721 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); | 701 grp = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
722 | 702 |
723 if (a->gc) add_group(a->gc, grp); | 703 if (a->gc) |
704 add_group(a->gc, grp); | |
724 else if (connections) { | 705 else if (connections) { |
725 add_group(connections->data, grp); | 706 add_group(connections->data, grp); |
726 a->gc = connections->data; | 707 a->gc = connections->data; |
727 } | 708 } |
728 | 709 |
732 } | 713 } |
733 | 714 |
734 | 715 |
735 static GList *groups_tree(struct gaim_connection *gc) | 716 static GList *groups_tree(struct gaim_connection *gc) |
736 { | 717 { |
737 GList *tmp=NULL; | 718 GList *tmp = NULL; |
738 char *tmp2; | 719 char *tmp2; |
739 struct group *g; | 720 struct group *g; |
740 GSList *grp = gc->groups; | 721 GSList *grp = gc->groups; |
741 | 722 |
742 if (!grp) { | 723 if (!grp) { |
743 tmp2 = g_strdup(_("Buddies")); | 724 tmp2 = g_strdup(_("Buddies")); |
744 tmp = g_list_append(tmp, tmp2); | 725 tmp = g_list_append(tmp, tmp2); |
745 } else { | 726 } else { |
746 while(grp) { | 727 while (grp) { |
747 g = (struct group *)grp->data; | 728 g = (struct group *)grp->data; |
748 tmp2 = g->name; | 729 tmp2 = g->name; |
749 tmp=g_list_append(tmp, tmp2); | 730 tmp = g_list_append(tmp, tmp2); |
750 grp = g_slist_next(grp); | 731 grp = g_slist_next(grp); |
751 } | 732 } |
752 } | 733 } |
753 return tmp; | 734 return tmp; |
754 } | 735 } |
764 GtkWidget *cancel; | 745 GtkWidget *cancel; |
765 GtkWidget *add; | 746 GtkWidget *add; |
766 GtkWidget *label; | 747 GtkWidget *label; |
767 GtkWidget *bbox; | 748 GtkWidget *bbox; |
768 GtkWidget *vbox; | 749 GtkWidget *vbox; |
769 GtkWidget *topbox; | 750 GtkWidget *topbox; |
770 GtkWidget *frame; | 751 GtkWidget *frame; |
771 | 752 |
772 struct addbuddy *a = g_new0(struct addbuddy, 1); | 753 struct addbuddy *a = g_new0(struct addbuddy, 1); |
773 a->gc = gc; | 754 a->gc = gc; |
774 | 755 |
775 a->window = gtk_window_new(GTK_WINDOW_DIALOG); | 756 a->window = gtk_window_new(GTK_WINDOW_DIALOG); |
776 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_group", "Gaim"); | 757 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_group", "Gaim"); |
777 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); | 758 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); |
778 gtk_widget_realize(a->window); | 759 gtk_widget_realize(a->window); |
779 dialogwindows = g_list_prepend(dialogwindows, a->window); | 760 dialogwindows = g_list_prepend(dialogwindows, a->window); |
780 | 761 |
781 bbox = gtk_hbox_new(TRUE, 10); | 762 bbox = gtk_hbox_new(TRUE, 10); |
782 topbox = gtk_hbox_new(FALSE, 5); | 763 topbox = gtk_hbox_new(FALSE, 5); |
783 vbox = gtk_vbox_new(FALSE, 5); | 764 vbox = gtk_vbox_new(FALSE, 5); |
784 | 765 |
785 a->entry = gtk_entry_new(); | 766 a->entry = gtk_entry_new(); |
786 /* Put the buttons in the box */ | 767 /* Put the buttons in the box */ |
787 | 768 |
788 add = picture_button(a->window, _("Add"), add_xpm); | 769 add = picture_button(a->window, _("Add"), add_xpm); |
789 | 770 |
790 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | 771 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); |
791 | 772 |
792 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); | 773 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
793 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | 774 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
794 | 775 |
795 frame = gtk_frame_new(NULL); | 776 frame = gtk_frame_new(NULL); |
796 gtk_frame_set_label(GTK_FRAME(frame), _("Add Group")); | 777 gtk_frame_set_label(GTK_FRAME(frame), _("Add Group")); |
797 | 778 |
798 label = gtk_label_new(_("Group")); | 779 label = gtk_label_new(_("Group")); |
799 gtk_widget_show(label); | 780 gtk_widget_show(label); |
800 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | 781 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
801 gtk_box_pack_start(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5); | 782 gtk_box_pack_start(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5); |
802 | 783 |
803 /* And the boxes in the box */ | 784 /* And the boxes in the box */ |
804 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | 785 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
805 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); | 786 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
806 | 787 |
807 /* Handle closes right */ | 788 /* Handle closes right */ |
808 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | 789 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
809 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | 790 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(free_dialog), a); |
810 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | 791 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
811 GTK_SIGNAL_FUNC(free_dialog), a); | 792 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_group), a); |
812 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 793 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", GTK_SIGNAL_FUNC(do_add_group), a); |
813 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | 794 /* Finish up */ |
814 gtk_signal_connect(GTK_OBJECT(add), "clicked", | 795 gtk_widget_show(add); |
815 GTK_SIGNAL_FUNC(do_add_group), a); | 796 gtk_widget_show(cancel); |
816 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", | 797 gtk_widget_show(a->entry); |
817 GTK_SIGNAL_FUNC(do_add_group), a); | 798 gtk_widget_show(topbox); |
818 /* Finish up */ | 799 gtk_widget_show(bbox); |
819 gtk_widget_show(add); | 800 gtk_widget_show(vbox); |
820 gtk_widget_show(cancel); | |
821 gtk_widget_show(a->entry); | |
822 gtk_widget_show(topbox); | |
823 gtk_widget_show(bbox); | |
824 gtk_widget_show(vbox); | |
825 gtk_widget_show(frame); | 801 gtk_widget_show(frame); |
826 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Group")); | 802 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Group")); |
827 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); | 803 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); |
828 gtk_container_add(GTK_CONTAINER(frame), vbox); | 804 gtk_container_add(GTK_CONTAINER(frame), vbox); |
829 gtk_container_add(GTK_CONTAINER(a->window), frame); | 805 gtk_container_add(GTK_CONTAINER(a->window), frame); |
830 gtk_container_set_border_width(GTK_CONTAINER(a->window), 5); | 806 gtk_container_set_border_width(GTK_CONTAINER(a->window), 5); |
831 gtk_widget_realize(a->window); | 807 gtk_widget_realize(a->window); |
832 aol_icon(a->window->window); | 808 aol_icon(a->window->window); |
833 | 809 |
834 gtk_widget_show(a->window); | 810 gtk_widget_show(a->window); |
835 } | 811 } |
836 | 812 |
837 void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group) | 813 void show_add_buddy(struct gaim_connection *gc, char *buddy, char *group) |
838 { | 814 { |
839 GtkWidget *mainbox; | 815 GtkWidget *mainbox; |
840 GtkWidget *frame; | 816 GtkWidget *frame; |
841 GtkWidget *table; | 817 GtkWidget *table; |
842 GtkWidget *bbox; | 818 GtkWidget *bbox; |
843 GtkWidget *cancel; | 819 GtkWidget *cancel; |
844 GtkWidget *add; | 820 GtkWidget *add; |
845 GtkWidget *label; | 821 GtkWidget *label; |
846 | 822 |
847 struct addbuddy *a = g_new0(struct addbuddy, 1); | 823 struct addbuddy *a = g_new0(struct addbuddy, 1); |
848 a->gc = gc; | 824 a->gc = gc; |
849 | 825 |
850 a->window = gtk_window_new(GTK_WINDOW_DIALOG); | 826 a->window = gtk_window_new(GTK_WINDOW_DIALOG); |
851 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_buddy", "Gaim"); | 827 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_buddy", "Gaim"); |
852 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); | 828 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); |
853 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); | 829 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); |
854 | 830 |
855 gtk_widget_realize(a->window); | 831 gtk_widget_realize(a->window); |
856 aol_icon(a->window->window); | 832 aol_icon(a->window->window); |
857 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | 833 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
858 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | 834 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", GTK_SIGNAL_FUNC(free_dialog), a); |
859 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | |
860 GTK_SIGNAL_FUNC(free_dialog), a); | |
861 dialogwindows = g_list_prepend(dialogwindows, a->window); | 835 dialogwindows = g_list_prepend(dialogwindows, a->window); |
862 | 836 |
863 mainbox = gtk_vbox_new(FALSE, 5); | 837 mainbox = gtk_vbox_new(FALSE, 5); |
864 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); | 838 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); |
865 gtk_container_add(GTK_CONTAINER(a->window), mainbox); | 839 gtk_container_add(GTK_CONTAINER(a->window), mainbox); |
866 | 840 |
867 frame = gtk_frame_new(_("Add Buddy")); | 841 frame = gtk_frame_new(_("Add Buddy")); |
868 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); | 842 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); |
869 gtk_widget_show(frame); | 843 gtk_widget_show(frame); |
870 | 844 |
871 table = gtk_table_new(3, 2, FALSE); | 845 table = gtk_table_new(3, 2, FALSE); |
872 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | 846 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
873 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | 847 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
874 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | 848 gtk_container_set_border_width(GTK_CONTAINER(table), 5); |
875 gtk_container_add(GTK_CONTAINER(frame), table); | 849 gtk_container_add(GTK_CONTAINER(frame), table); |
876 | 850 |
877 label = gtk_label_new(_("Contact")); | 851 label = gtk_label_new(_("Contact")); |
878 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | 852 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
879 | 853 |
880 a->entry = gtk_entry_new(); | 854 a->entry = gtk_entry_new(); |
881 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); | 855 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); |
882 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); | 856 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); |
883 if (buddy != NULL) | 857 if (buddy != NULL) |
884 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); | 858 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); |
885 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", | 859 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", GTK_SIGNAL_FUNC(do_add_buddy), a); |
886 GTK_SIGNAL_FUNC(do_add_buddy), a); | 860 |
887 | 861 label = gtk_label_new(_("Alias")); |
888 label = gtk_label_new(_("Alias")); | 862 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
889 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | 863 |
890 | 864 a->entry_for_alias = gtk_entry_new(); |
891 a->entry_for_alias = gtk_entry_new(); | 865 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); |
892 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); | 866 |
893 | 867 label = gtk_label_new(_("Group")); |
894 label = gtk_label_new(_("Group")); | 868 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); |
895 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); | 869 |
896 | 870 a->combo = gtk_combo_new(); |
897 a->combo = gtk_combo_new(); | 871 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(gc ? gc : connections->data)); |
898 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), | 872 if (group != NULL) |
899 groups_tree(gc ? gc : connections->data)); | 873 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); |
900 if (group != NULL) | 874 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); |
901 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
902 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); | |
903 | 875 |
904 bbox = gtk_hbox_new(FALSE, 5); | 876 bbox = gtk_hbox_new(FALSE, 5); |
905 gtk_box_pack_start(GTK_BOX(mainbox), bbox, TRUE, TRUE, 0); | 877 gtk_box_pack_start(GTK_BOX(mainbox), bbox, TRUE, TRUE, 0); |
906 | 878 |
907 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | 879 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); |
908 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); | 880 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
909 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 881 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
910 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | |
911 | 882 |
912 add = picture_button(a->window, _("Add"), add_xpm); | 883 add = picture_button(a->window, _("Add"), add_xpm); |
913 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0); | 884 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0); |
914 gtk_signal_connect(GTK_OBJECT(add), "clicked", | 885 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_buddy), a); |
915 GTK_SIGNAL_FUNC(do_add_buddy), a); | 886 |
916 | |
917 gtk_widget_show_all(a->window); | 887 gtk_widget_show_all(a->window); |
918 } | 888 } |
919 | 889 |
920 | 890 |
921 /*------------------------------------------------------------------------*/ | 891 /*------------------------------------------------------------------------*/ |
923 /*------------------------------------------------------------------------*/ | 893 /*------------------------------------------------------------------------*/ |
924 | 894 |
925 | 895 |
926 void do_new_bp(GtkWidget *w, struct addbp *b) | 896 void do_new_bp(GtkWidget *w, struct addbp *b) |
927 { | 897 { |
928 struct buddy_pounce *bp = g_new0(struct buddy_pounce, 1); | 898 struct buddy_pounce *bp = g_new0(struct buddy_pounce, 1); |
929 | 899 |
930 if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) { | 900 if (strlen(gtk_entry_get_text(GTK_ENTRY(b->nameentry))) == 0) { |
931 do_error_dialog(_("Please enter a buddy to pounce."), _("Buddy Pounce Error")); | 901 do_error_dialog(_("Please enter a buddy to pounce."), _("Buddy Pounce Error")); |
932 g_free(bp); | 902 g_free(bp); |
933 return; | 903 return; |
934 } | 904 } |
935 | 905 |
936 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry))); | 906 g_snprintf(bp->name, 80, "%s", gtk_entry_get_text(GTK_ENTRY(b->nameentry))); |
937 g_snprintf(bp->message, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->messentry))); | 907 g_snprintf(bp->message, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->messentry))); |
938 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry))); | 908 g_snprintf(bp->command, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->commentry))); |
939 g_snprintf(bp->sound, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->soundentry))); | 909 g_snprintf(bp->sound, 2048, "%s", gtk_entry_get_text(GTK_ENTRY(b->soundentry))); |
940 g_snprintf(bp->pouncer, 80, "%s", b->user->username); | 910 g_snprintf(bp->pouncer, 80, "%s", b->user->username); |
946 if (GTK_TOGGLE_BUTTON(b->openwindow)->active) | 916 if (GTK_TOGGLE_BUTTON(b->openwindow)->active) |
947 bp->options |= OPT_POUNCE_POPUP; | 917 bp->options |= OPT_POUNCE_POPUP; |
948 | 918 |
949 if (GTK_TOGGLE_BUTTON(b->sendim)->active) | 919 if (GTK_TOGGLE_BUTTON(b->sendim)->active) |
950 bp->options |= OPT_POUNCE_SEND_IM; | 920 bp->options |= OPT_POUNCE_SEND_IM; |
951 | 921 |
952 if (GTK_TOGGLE_BUTTON(b->command)->active) | 922 if (GTK_TOGGLE_BUTTON(b->command)->active) |
953 bp->options |= OPT_POUNCE_COMMAND; | 923 bp->options |= OPT_POUNCE_COMMAND; |
954 | 924 |
955 if (GTK_TOGGLE_BUTTON(b->sound)->active) | 925 if (GTK_TOGGLE_BUTTON(b->sound)->active) |
956 bp->options |= OPT_POUNCE_SOUND; | 926 bp->options |= OPT_POUNCE_SOUND; |
957 | 927 |
958 if (GTK_TOGGLE_BUTTON(b->p_signon)->active) | 928 if (GTK_TOGGLE_BUTTON(b->p_signon)->active) |
959 bp->options |= OPT_POUNCE_SIGNON; | 929 bp->options |= OPT_POUNCE_SIGNON; |
960 | 930 |
961 if (GTK_TOGGLE_BUTTON(b->p_unaway)->active) | 931 if (GTK_TOGGLE_BUTTON(b->p_unaway)->active) |
962 bp->options |= OPT_POUNCE_UNAWAY; | 932 bp->options |= OPT_POUNCE_UNAWAY; |
963 | 933 |
964 if (GTK_TOGGLE_BUTTON(b->p_unidle)->active) | 934 if (GTK_TOGGLE_BUTTON(b->p_unidle)->active) |
965 bp->options |= OPT_POUNCE_UNIDLE; | 935 bp->options |= OPT_POUNCE_UNIDLE; |
966 | 936 |
967 if (GTK_TOGGLE_BUTTON(b->save)->active) | 937 if (GTK_TOGGLE_BUTTON(b->save)->active) |
968 bp->options |= OPT_POUNCE_SAVE; | 938 bp->options |= OPT_POUNCE_SAVE; |
969 | 939 |
970 buddy_pounces = g_list_append(buddy_pounces, bp); | 940 buddy_pounces = g_list_append(buddy_pounces, bp); |
971 | 941 |
972 do_bp_menu(); | 942 do_bp_menu(); |
973 | 943 |
974 destroy_dialog(NULL, b->window); | 944 destroy_dialog(NULL, b->window); |
975 | 945 |
976 save_prefs(); | 946 save_prefs(); |
977 g_free(b); | 947 g_free(b); |
978 } | 948 } |
979 | 949 |
980 static void pounce_choose(GtkWidget *opt, struct addbp *b) | 950 static void pounce_choose(GtkWidget *opt, struct addbp *b) |
981 { | 951 { |
982 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); | 952 struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); |
1023 u = u->next; | 993 u = u->next; |
1024 } | 994 } |
1025 | 995 |
1026 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); | 996 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); |
1027 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), | 997 gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), |
1028 g_list_index(aim_users, ((struct gaim_connection *)connections->data)->user)); | 998 g_list_index(aim_users, |
999 ((struct gaim_connection *)connections->data)->user)); | |
1029 b->user = ((struct gaim_connection *)connections->data)->user; | 1000 b->user = ((struct gaim_connection *)connections->data)->user; |
1030 | 1001 |
1031 b->menu = optmenu; | 1002 b->menu = optmenu; |
1032 } | 1003 } |
1033 | 1004 |
1038 GtkWidget *bbox; | 1009 GtkWidget *bbox; |
1039 GtkWidget *vbox; | 1010 GtkWidget *vbox; |
1040 GtkWidget *hbox; | 1011 GtkWidget *hbox; |
1041 GtkWidget *button; | 1012 GtkWidget *button; |
1042 GtkWidget *sep; | 1013 GtkWidget *sep; |
1043 | 1014 |
1044 struct addbp *b = g_new0(struct addbp, 1); | 1015 struct addbp *b = g_new0(struct addbp, 1); |
1045 | 1016 |
1046 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1017 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1047 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1018 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1048 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 1019 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
1049 gtk_window_set_wmclass(GTK_WINDOW(b->window), "new_bp", "Gaim"); | 1020 gtk_window_set_wmclass(GTK_WINDOW(b->window), "new_bp", "Gaim"); |
1050 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); | 1021 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - New Buddy Pounce")); |
1051 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1022 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1052 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1053 gtk_widget_realize(b->window); | 1023 gtk_widget_realize(b->window); |
1054 aol_icon(b->window->window); | 1024 aol_icon(b->window->window); |
1055 | 1025 |
1056 vbox = gtk_vbox_new(FALSE, 5); | 1026 vbox = gtk_vbox_new(FALSE, 5); |
1057 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 1027 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
1058 gtk_container_add(GTK_CONTAINER(b->window), vbox); | 1028 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
1059 gtk_widget_show(vbox); | 1029 gtk_widget_show(vbox); |
1060 | 1030 |
1061 pounce_user_menu(b, vbox); | 1031 pounce_user_menu(b, vbox); |
1062 | 1032 |
1063 hbox = gtk_hbox_new(FALSE, 5); | 1033 hbox = gtk_hbox_new(FALSE, 5); |
1064 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); | 1034 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); |
1065 gtk_widget_show(hbox); | 1035 gtk_widget_show(hbox); |
1066 | 1036 |
1067 label = gtk_label_new(_("Buddy:")); | 1037 label = gtk_label_new(_("Buddy:")); |
1068 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1038 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1069 gtk_widget_show(label); | 1039 gtk_widget_show(label); |
1070 | 1040 |
1071 b->nameentry = gtk_entry_new(); | 1041 b->nameentry = gtk_entry_new(); |
1072 gtk_box_pack_start(GTK_BOX(hbox), b->nameentry, TRUE, TRUE, 0); | 1042 gtk_box_pack_start(GTK_BOX(hbox), b->nameentry, TRUE, TRUE, 0); |
1073 if (name != NULL) | 1043 if (name !=NULL) |
1074 gtk_entry_set_text(GTK_ENTRY(b->nameentry), name); | 1044 gtk_entry_set_text(GTK_ENTRY(b->nameentry), name); |
1075 gtk_window_set_focus(GTK_WINDOW(b->window), b->nameentry); | 1045 gtk_window_set_focus(GTK_WINDOW(b->window), b->nameentry); |
1076 gtk_widget_show(b->nameentry); | 1046 gtk_widget_show(b->nameentry); |
1077 | 1047 |
1078 sep = gtk_hseparator_new(); | 1048 sep = gtk_hseparator_new(); |
1079 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | 1049 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
1080 gtk_widget_show(sep); | 1050 gtk_widget_show(sep); |
1081 | 1051 |
1082 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); | 1052 b->p_signon = gtk_check_button_new_with_label(_("Pounce on sign on")); |
1098 | 1068 |
1099 b->openwindow = gtk_check_button_new_with_label(_("Open IM window on pounce")); | 1069 b->openwindow = gtk_check_button_new_with_label(_("Open IM window on pounce")); |
1100 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); | 1070 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->openwindow), FALSE); |
1101 gtk_box_pack_start(GTK_BOX(vbox), b->openwindow, FALSE, FALSE, 0); | 1071 gtk_box_pack_start(GTK_BOX(vbox), b->openwindow, FALSE, FALSE, 0); |
1102 gtk_widget_show(b->openwindow); | 1072 gtk_widget_show(b->openwindow); |
1103 | 1073 |
1104 b->sendim = gtk_check_button_new_with_label(_("Send IM on pounce")); | 1074 b->sendim = gtk_check_button_new_with_label(_("Send IM on pounce")); |
1105 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), TRUE); | 1075 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sendim), TRUE); |
1106 gtk_box_pack_start(GTK_BOX(vbox), b->sendim, FALSE, FALSE, 0); | 1076 gtk_box_pack_start(GTK_BOX(vbox), b->sendim, FALSE, FALSE, 0); |
1107 gtk_widget_show(b->sendim); | 1077 gtk_widget_show(b->sendim); |
1108 | 1078 |
1109 hbox = gtk_hbox_new(FALSE, 5); | 1079 hbox = gtk_hbox_new(FALSE, 5); |
1110 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); | 1080 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); |
1111 gtk_widget_show(hbox); | 1081 gtk_widget_show(hbox); |
1112 | 1082 |
1113 label = gtk_label_new(_("Message:")); | 1083 label = gtk_label_new(_("Message:")); |
1114 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1084 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1115 gtk_widget_show(label); | 1085 gtk_widget_show(label); |
1116 | 1086 |
1117 b->messentry = gtk_entry_new(); | 1087 b->messentry = gtk_entry_new(); |
1118 gtk_box_pack_start(GTK_BOX(hbox), b->messentry, TRUE, TRUE, 0); | 1088 gtk_box_pack_start(GTK_BOX(hbox), b->messentry, TRUE, TRUE, 0); |
1119 gtk_signal_connect(GTK_OBJECT(b->messentry), "activate", | 1089 gtk_signal_connect(GTK_OBJECT(b->messentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
1120 GTK_SIGNAL_FUNC(do_new_bp), b); | 1090 gtk_widget_show(b->messentry); |
1121 gtk_widget_show(b->messentry); | 1091 |
1122 | 1092 gtk_signal_connect(GTK_OBJECT(b->sendim), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), |
1123 gtk_signal_connect(GTK_OBJECT(b->sendim), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->messentry); | 1093 b->messentry); |
1124 | 1094 |
1125 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); | 1095 b->command = gtk_check_button_new_with_label(_("Execute command on pounce")); |
1126 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), FALSE); | 1096 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->command), FALSE); |
1127 gtk_box_pack_start(GTK_BOX(vbox), b->command, FALSE, FALSE, 0); | 1097 gtk_box_pack_start(GTK_BOX(vbox), b->command, FALSE, FALSE, 0); |
1128 gtk_widget_show(b->command); | 1098 gtk_widget_show(b->command); |
1129 | 1099 |
1130 hbox = gtk_hbox_new(FALSE, 5); | 1100 hbox = gtk_hbox_new(FALSE, 5); |
1131 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); | 1101 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); |
1132 gtk_widget_show(hbox); | 1102 gtk_widget_show(hbox); |
1133 | 1103 |
1134 label = gtk_label_new(_("Command:")); | 1104 label = gtk_label_new(_("Command:")); |
1135 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1105 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1136 gtk_widget_show(label); | 1106 gtk_widget_show(label); |
1137 | 1107 |
1138 b->commentry = gtk_entry_new(); | 1108 b->commentry = gtk_entry_new(); |
1139 gtk_box_pack_start(GTK_BOX(hbox), b->commentry, TRUE, TRUE, 0); | 1109 gtk_box_pack_start(GTK_BOX(hbox), b->commentry, TRUE, TRUE, 0); |
1140 gtk_signal_connect(GTK_OBJECT(b->commentry), "activate", | 1110 gtk_signal_connect(GTK_OBJECT(b->commentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
1141 GTK_SIGNAL_FUNC(do_new_bp), b); | 1111 gtk_widget_show(b->commentry); |
1142 gtk_widget_show(b->commentry); | |
1143 | 1112 |
1144 gtk_widget_set_sensitive(b->commentry, FALSE); | 1113 gtk_widget_set_sensitive(b->commentry, FALSE); |
1145 gtk_signal_connect(GTK_OBJECT(b->command), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->commentry); | 1114 gtk_signal_connect(GTK_OBJECT(b->command), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), |
1146 | 1115 b->commentry); |
1116 | |
1147 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); | 1117 b->sound = gtk_check_button_new_with_label(_("Play sound on pounce")); |
1148 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), FALSE); | 1118 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->sound), FALSE); |
1149 gtk_box_pack_start(GTK_BOX(vbox), b->sound, FALSE, FALSE, 0); | 1119 gtk_box_pack_start(GTK_BOX(vbox), b->sound, FALSE, FALSE, 0); |
1150 gtk_widget_show(b->sound); | 1120 gtk_widget_show(b->sound); |
1151 | 1121 |
1153 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); | 1123 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); |
1154 gtk_widget_show(hbox); | 1124 gtk_widget_show(hbox); |
1155 | 1125 |
1156 label = gtk_label_new(_("Sound:")); | 1126 label = gtk_label_new(_("Sound:")); |
1157 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1127 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1158 gtk_widget_show(label); | 1128 gtk_widget_show(label); |
1159 | 1129 |
1160 b->soundentry = gtk_entry_new(); | 1130 b->soundentry = gtk_entry_new(); |
1161 gtk_box_pack_start(GTK_BOX(hbox), b->soundentry, TRUE, TRUE, 0); | 1131 gtk_box_pack_start(GTK_BOX(hbox), b->soundentry, TRUE, TRUE, 0); |
1162 gtk_signal_connect(GTK_OBJECT(b->soundentry), "activate", | 1132 gtk_signal_connect(GTK_OBJECT(b->soundentry), "activate", GTK_SIGNAL_FUNC(do_new_bp), b); |
1163 GTK_SIGNAL_FUNC(do_new_bp), b); | |
1164 gtk_widget_show(b->soundentry); | 1133 gtk_widget_show(b->soundentry); |
1165 | 1134 |
1166 gtk_widget_set_sensitive(b->soundentry, FALSE); | 1135 gtk_widget_set_sensitive(b->soundentry, FALSE); |
1167 gtk_signal_connect(GTK_OBJECT(b->sound), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), b->soundentry); | 1136 gtk_signal_connect(GTK_OBJECT(b->sound), "clicked", GTK_SIGNAL_FUNC(toggle_sensitive), |
1137 b->soundentry); | |
1168 | 1138 |
1169 sep = gtk_hseparator_new(); | 1139 sep = gtk_hseparator_new(); |
1170 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | 1140 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
1171 gtk_widget_show(sep); | 1141 gtk_widget_show(sep); |
1172 | 1142 |
1173 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); | 1143 b->save = gtk_check_button_new_with_label(_("Save this pounce after activation")); |
1174 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), FALSE); | 1144 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(b->save), FALSE); |
1175 gtk_box_pack_start(GTK_BOX(vbox), b->save, FALSE, FALSE, 0); | 1145 gtk_box_pack_start(GTK_BOX(vbox), b->save, FALSE, FALSE, 0); |
1176 gtk_widget_show(b->save); | 1146 gtk_widget_show(b->save); |
1177 | 1147 |
1178 sep = gtk_hseparator_new(); | 1148 sep = gtk_hseparator_new(); |
1179 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); | 1149 gtk_box_pack_start(GTK_BOX(vbox), sep, FALSE, FALSE, 0); |
1180 gtk_widget_show(sep); | 1150 gtk_widget_show(sep); |
1181 | 1151 |
1182 bbox = gtk_hbox_new(FALSE, 5); | 1152 bbox = gtk_hbox_new(FALSE, 5); |
1183 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); | 1153 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
1184 gtk_widget_show(bbox); | 1154 gtk_widget_show(bbox); |
1185 | 1155 |
1186 button = picture_button(b->window, _("Cancel"), cancel_xpm); | 1156 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
1187 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 1157 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1188 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1189 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 1158 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
1190 | 1159 |
1191 button = picture_button(b->window, _("OK"), ok_xpm); | 1160 button = picture_button(b->window, _("OK"), ok_xpm); |
1192 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 1161 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_new_bp), b); |
1193 GTK_SIGNAL_FUNC(do_new_bp), b); | |
1194 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 1162 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
1195 | 1163 |
1196 gtk_widget_show(b->window); | 1164 gtk_widget_show(b->window); |
1197 } | 1165 } |
1198 | 1166 |
1199 | 1167 |
1200 | 1168 |
1201 /*------------------------------------------------------------------------*/ | 1169 /*------------------------------------------------------------------------*/ |
1210 junk = gtk_editable_get_chars(GTK_EDITABLE(b->text), 0, -1); | 1178 junk = gtk_editable_get_chars(GTK_EDITABLE(b->text), 0, -1); |
1211 | 1179 |
1212 if (b->user) { | 1180 if (b->user) { |
1213 strncpy_withhtml(b->user->user_info, junk, sizeof b->user->user_info); | 1181 strncpy_withhtml(b->user->user_info, junk, sizeof b->user->user_info); |
1214 gc = b->user->gc; | 1182 gc = b->user->gc; |
1215 | 1183 |
1216 save_prefs(); | 1184 save_prefs(); |
1217 | 1185 |
1218 if (gc) | 1186 if (gc) |
1219 serv_set_info(gc, b->user->user_info); | 1187 serv_set_info(gc, b->user->user_info); |
1220 } | 1188 } |
1223 g_free(b); | 1191 g_free(b); |
1224 } | 1192 } |
1225 | 1193 |
1226 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b) | 1194 void do_set_dir(GtkWidget *widget, struct set_dir_dlg *b) |
1227 { | 1195 { |
1228 char *first = gtk_entry_get_text(GTK_ENTRY(b->first)); | 1196 char *first = gtk_entry_get_text(GTK_ENTRY(b->first)); |
1229 int web = GTK_TOGGLE_BUTTON(b->web)->active; | 1197 int web = GTK_TOGGLE_BUTTON(b->web)->active; |
1230 char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle)); | 1198 char *middle = gtk_entry_get_text(GTK_ENTRY(b->middle)); |
1231 char *last = gtk_entry_get_text(GTK_ENTRY(b->last)); | 1199 char *last = gtk_entry_get_text(GTK_ENTRY(b->last)); |
1232 char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden)); | 1200 char *maiden = gtk_entry_get_text(GTK_ENTRY(b->maiden)); |
1233 char *city = gtk_entry_get_text(GTK_ENTRY(b->city)); | 1201 char *city = gtk_entry_get_text(GTK_ENTRY(b->city)); |
1234 char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); | 1202 char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); |
1235 char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); | 1203 char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); |
1236 | 1204 |
1237 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); | 1205 serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); |
1238 | 1206 |
1239 destroy_dialog(NULL, b->window); | 1207 destroy_dialog(NULL, b->window); |
1240 g_free(b); | 1208 g_free(b); |
1241 } | 1209 } |
1242 | 1210 |
1243 void show_set_dir(struct gaim_connection *gc) | 1211 void show_set_dir(struct gaim_connection *gc) |
1244 { | 1212 { |
1258 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1226 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1259 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1227 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1260 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_dir", "Gaim"); | 1228 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_dir", "Gaim"); |
1261 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 1229 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
1262 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); | 1230 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); |
1263 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1231 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1264 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 1232 gtk_widget_realize(b->window); |
1265 gtk_widget_realize(b->window); | |
1266 aol_icon(b->window->window); | 1233 aol_icon(b->window->window); |
1267 | 1234 |
1268 fbox = gtk_vbox_new(FALSE, 5); | 1235 fbox = gtk_vbox_new(FALSE, 5); |
1269 gtk_container_add(GTK_CONTAINER(b->window), fbox); | 1236 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
1270 gtk_widget_show(fbox); | 1237 gtk_widget_show(fbox); |
1271 | 1238 |
1272 frame = gtk_frame_new(_("Directory Info")); | 1239 frame = gtk_frame_new(_("Directory Info")); |
1273 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); | 1240 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
1274 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); | 1241 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
1275 gtk_widget_show(frame); | 1242 gtk_widget_show(frame); |
1276 | 1243 |
1277 vbox = gtk_vbox_new(FALSE, 5); | 1244 vbox = gtk_vbox_new(FALSE, 5); |
1278 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 1245 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
1279 gtk_container_add(GTK_CONTAINER(frame), vbox); | 1246 gtk_container_add(GTK_CONTAINER(frame), vbox); |
1280 gtk_widget_show(vbox); | 1247 gtk_widget_show(vbox); |
1281 | 1248 |
1282 g_snprintf(buf, sizeof(buf), "Setting Dir Info for %s:", gc->username); | 1249 g_snprintf(buf, sizeof(buf), "Setting Dir Info for %s:", gc->username); |
1283 label = gtk_label_new(buf); | 1250 label = gtk_label_new(buf); |
1291 b->city = gtk_entry_new(); | 1258 b->city = gtk_entry_new(); |
1292 b->state = gtk_entry_new(); | 1259 b->state = gtk_entry_new(); |
1293 b->country = gtk_entry_new(); | 1260 b->country = gtk_entry_new(); |
1294 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info")); | 1261 b->web = gtk_check_button_new_with_label(_("Allow Web Searches To Find Your Info")); |
1295 | 1262 |
1296 /* Line 1 */ | 1263 /* Line 1 */ |
1297 label = gtk_label_new(_("First Name")); | 1264 label = gtk_label_new(_("First Name")); |
1298 gtk_widget_show(label); | 1265 gtk_widget_show(label); |
1299 | 1266 |
1300 hbox = gtk_hbox_new(FALSE, 5); | 1267 hbox = gtk_hbox_new(FALSE, 5); |
1301 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1268 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1302 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0); | 1269 gtk_box_pack_end(GTK_BOX(hbox), b->first, FALSE, FALSE, 0); |
1303 | 1270 |
1304 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1271 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1305 gtk_widget_show(hbox); | 1272 gtk_widget_show(hbox); |
1306 | 1273 |
1307 /* Line 2 */ | 1274 /* Line 2 */ |
1308 label = gtk_label_new(_("Middle Name")); | 1275 label = gtk_label_new(_("Middle Name")); |
1309 gtk_widget_show(label); | 1276 gtk_widget_show(label); |
1310 | 1277 |
1311 hbox = gtk_hbox_new(FALSE, 5); | 1278 hbox = gtk_hbox_new(FALSE, 5); |
1312 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1279 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1313 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0); | 1280 gtk_box_pack_end(GTK_BOX(hbox), b->middle, FALSE, FALSE, 0); |
1314 | 1281 |
1315 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1282 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1316 gtk_widget_show(hbox); | 1283 gtk_widget_show(hbox); |
1317 | 1284 |
1318 | 1285 |
1319 /* Line 3 */ | 1286 /* Line 3 */ |
1320 label = gtk_label_new(_("Last Name")); | 1287 label = gtk_label_new(_("Last Name")); |
1321 gtk_widget_show(label); | 1288 gtk_widget_show(label); |
1322 | 1289 |
1323 hbox = gtk_hbox_new(FALSE, 5); | 1290 hbox = gtk_hbox_new(FALSE, 5); |
1324 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1291 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1325 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0); | 1292 gtk_box_pack_end(GTK_BOX(hbox), b->last, FALSE, FALSE, 0); |
1326 | 1293 |
1327 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1294 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1328 gtk_widget_show(hbox); | 1295 gtk_widget_show(hbox); |
1329 | 1296 |
1330 /* Line 4 */ | 1297 /* Line 4 */ |
1331 label = gtk_label_new(_("Maiden Name")); | 1298 label = gtk_label_new(_("Maiden Name")); |
1332 gtk_widget_show(label); | 1299 gtk_widget_show(label); |
1333 | 1300 |
1334 hbox = gtk_hbox_new(FALSE, 5); | 1301 hbox = gtk_hbox_new(FALSE, 5); |
1335 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1302 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1336 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0); | 1303 gtk_box_pack_end(GTK_BOX(hbox), b->maiden, FALSE, FALSE, 0); |
1337 | 1304 |
1338 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1305 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1339 gtk_widget_show(hbox); | 1306 gtk_widget_show(hbox); |
1340 | 1307 |
1341 /* Line 5 */ | 1308 /* Line 5 */ |
1342 label = gtk_label_new(_("City")); | 1309 label = gtk_label_new(_("City")); |
1343 gtk_widget_show(label); | 1310 gtk_widget_show(label); |
1344 | 1311 |
1345 hbox = gtk_hbox_new(FALSE, 5); | 1312 hbox = gtk_hbox_new(FALSE, 5); |
1346 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1313 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1347 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0); | 1314 gtk_box_pack_end(GTK_BOX(hbox), b->city, FALSE, FALSE, 0); |
1348 | 1315 |
1349 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1316 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1350 gtk_widget_show(hbox); | 1317 gtk_widget_show(hbox); |
1351 | 1318 |
1352 /* Line 6 */ | 1319 /* Line 6 */ |
1353 label = gtk_label_new(_("State")); | 1320 label = gtk_label_new(_("State")); |
1354 gtk_widget_show(label); | 1321 gtk_widget_show(label); |
1355 | 1322 |
1356 hbox = gtk_hbox_new(FALSE, 5); | 1323 hbox = gtk_hbox_new(FALSE, 5); |
1357 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1324 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1358 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0); | 1325 gtk_box_pack_end(GTK_BOX(hbox), b->state, FALSE, FALSE, 0); |
1359 | 1326 |
1360 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1327 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1361 gtk_widget_show(hbox); | 1328 gtk_widget_show(hbox); |
1362 | 1329 |
1363 /* Line 7 */ | 1330 /* Line 7 */ |
1364 label = gtk_label_new(_("Country")); | 1331 label = gtk_label_new(_("Country")); |
1365 gtk_widget_show(label); | 1332 gtk_widget_show(label); |
1366 | 1333 |
1367 hbox = gtk_hbox_new(FALSE, 5); | 1334 hbox = gtk_hbox_new(FALSE, 5); |
1368 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1335 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1369 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0); | 1336 gtk_box_pack_end(GTK_BOX(hbox), b->country, FALSE, FALSE, 0); |
1370 | 1337 |
1371 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1338 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1376 hbox = gtk_hbox_new(FALSE, 5); | 1343 hbox = gtk_hbox_new(FALSE, 5); |
1377 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0); | 1344 gtk_box_pack_start(GTK_BOX(hbox), b->web, TRUE, TRUE, 0); |
1378 gtk_widget_show(hbox); | 1345 gtk_widget_show(hbox); |
1379 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1346 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1380 | 1347 |
1381 gtk_widget_show(b->first); | 1348 gtk_widget_show(b->first); |
1382 gtk_widget_show(b->middle); | 1349 gtk_widget_show(b->middle); |
1383 gtk_widget_show(b->last); | 1350 gtk_widget_show(b->last); |
1384 gtk_widget_show(b->maiden); | 1351 gtk_widget_show(b->maiden); |
1385 gtk_widget_show(b->city); | 1352 gtk_widget_show(b->city); |
1386 gtk_widget_show(b->state); | 1353 gtk_widget_show(b->state); |
1387 gtk_widget_show(b->country); | 1354 gtk_widget_show(b->country); |
1388 gtk_widget_show(b->web); | 1355 gtk_widget_show(b->web); |
1389 | 1356 |
1390 /* And add the buttons */ | 1357 /* And add the buttons */ |
1393 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); | 1360 gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); |
1394 gtk_widget_show(bot); | 1361 gtk_widget_show(bot); |
1395 | 1362 |
1396 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); | 1363 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
1397 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); | 1364 gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); |
1398 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", | 1365 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1399 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1400 | 1366 |
1401 b->save = picture_button(b->window, _("Save"), save_xpm); | 1367 b->save = picture_button(b->window, _("Save"), save_xpm); |
1402 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); | 1368 gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); |
1403 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_set_dir), b); | 1369 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_set_dir), b); |
1404 | 1370 |
1405 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); | 1371 gtk_window_set_focus(GTK_WINDOW(b->window), b->first); |
1406 | 1372 |
1407 gtk_widget_show(b->window); | 1373 gtk_widget_show(b->window); |
1408 } | 1374 } |
1409 | 1375 |
1410 void do_change_password(GtkWidget *widget, struct passwddlg *b) | 1376 void do_change_password(GtkWidget *widget, struct passwddlg *b) |
1411 { | 1377 { |
1412 gchar *orig, *new1, *new2; | 1378 gchar *orig, *new1, *new2; |
1415 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1)); | 1381 new1 = gtk_entry_get_text(GTK_ENTRY(b->new1)); |
1416 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); | 1382 new2 = gtk_entry_get_text(GTK_ENTRY(b->new2)); |
1417 | 1383 |
1418 if (g_strcasecmp(new1, new2)) { | 1384 if (g_strcasecmp(new1, new2)) { |
1419 do_error_dialog(_("New Passwords Do Not Match"), _("Gaim - Change Password Error")); | 1385 do_error_dialog(_("New Passwords Do Not Match"), _("Gaim - Change Password Error")); |
1420 return ; | 1386 return; |
1421 } | 1387 } |
1422 | 1388 |
1423 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { | 1389 if ((strlen(orig) < 1) || (strlen(new1) < 1) || (strlen(new2) < 1)) { |
1424 do_error_dialog(_("Fill out all fields completely"), _("Gaim - Change Password Error")); | 1390 do_error_dialog(_("Fill out all fields completely"), _("Gaim - Change Password Error")); |
1425 return; | 1391 return; |
1426 } | 1392 } |
1427 | 1393 |
1428 serv_change_passwd(b->gc, orig, new1); | 1394 serv_change_passwd(b->gc, orig, new1); |
1429 | 1395 |
1430 destroy_dialog(NULL, b->window); | 1396 destroy_dialog(NULL, b->window); |
1431 g_free(b); | 1397 g_free(b); |
1432 } | 1398 } |
1433 | 1399 |
1434 void show_change_passwd(struct gaim_connection *gc) | 1400 void show_change_passwd(struct gaim_connection *gc) |
1447 | 1413 |
1448 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1414 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1449 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 1415 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
1450 gtk_window_set_wmclass(GTK_WINDOW(b->window), "change_passwd", "Gaim"); | 1416 gtk_window_set_wmclass(GTK_WINDOW(b->window), "change_passwd", "Gaim"); |
1451 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); | 1417 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Password Change")); |
1452 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1418 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1453 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1454 gtk_widget_realize(b->window); | 1419 gtk_widget_realize(b->window); |
1455 aol_icon(b->window->window); | 1420 aol_icon(b->window->window); |
1456 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1421 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1457 | 1422 |
1458 fbox = gtk_vbox_new(FALSE, 5); | 1423 fbox = gtk_vbox_new(FALSE, 5); |
1486 b->original = gtk_entry_new(); | 1451 b->original = gtk_entry_new(); |
1487 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); | 1452 gtk_entry_set_visibility(GTK_ENTRY(b->original), FALSE); |
1488 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0); | 1453 gtk_box_pack_end(GTK_BOX(hbox), b->original, FALSE, FALSE, 0); |
1489 gtk_widget_show(b->original); | 1454 gtk_widget_show(b->original); |
1490 | 1455 |
1491 /* Next Line */ | |
1492 hbox = gtk_hbox_new(FALSE, 5); | |
1493 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
1494 gtk_widget_show(hbox); | |
1495 | |
1496 label = gtk_label_new(_("New Password")); | |
1497 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
1498 gtk_widget_show(label); | |
1499 | |
1500 b->new1 = gtk_entry_new(); | |
1501 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); | |
1502 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 0); | |
1503 gtk_widget_show(b->new1); | |
1504 | |
1505 /* Next Line */ | 1456 /* Next Line */ |
1506 hbox = gtk_hbox_new(FALSE, 5); | 1457 hbox = gtk_hbox_new(FALSE, 5); |
1507 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 1458 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
1508 gtk_widget_show(hbox); | 1459 gtk_widget_show(hbox); |
1509 | 1460 |
1461 label = gtk_label_new(_("New Password")); | |
1462 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | |
1463 gtk_widget_show(label); | |
1464 | |
1465 b->new1 = gtk_entry_new(); | |
1466 gtk_entry_set_visibility(GTK_ENTRY(b->new1), FALSE); | |
1467 gtk_box_pack_end(GTK_BOX(hbox), b->new1, FALSE, FALSE, 0); | |
1468 gtk_widget_show(b->new1); | |
1469 | |
1470 /* Next Line */ | |
1471 hbox = gtk_hbox_new(FALSE, 5); | |
1472 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | |
1473 gtk_widget_show(hbox); | |
1474 | |
1510 label = gtk_label_new(_("New Password (again)")); | 1475 label = gtk_label_new(_("New Password (again)")); |
1511 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 1476 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
1512 gtk_widget_show(label); | 1477 gtk_widget_show(label); |
1513 | 1478 |
1514 b->new2 = gtk_entry_new(); | 1479 b->new2 = gtk_entry_new(); |
1515 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); | 1480 gtk_entry_set_visibility(GTK_ENTRY(b->new2), FALSE); |
1516 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 0); | 1481 gtk_box_pack_end(GTK_BOX(hbox), b->new2, FALSE, FALSE, 0); |
1517 gtk_widget_show(b->new2); | 1482 gtk_widget_show(b->new2); |
1518 | 1483 |
1519 /* Now do our row of buttons */ | 1484 /* Now do our row of buttons */ |
1520 hbox = gtk_hbox_new(FALSE, 5); | 1485 hbox = gtk_hbox_new(FALSE, 5); |
1521 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0); | 1486 gtk_box_pack_start(GTK_BOX(fbox), hbox, FALSE, FALSE, 0); |
1522 gtk_widget_show(hbox); | 1487 gtk_widget_show(hbox); |
1523 | 1488 |
1524 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); | 1489 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
1525 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0); | 1490 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 0); |
1526 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", | 1491 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1527 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1528 | 1492 |
1529 b->ok = picture_button(b->window, _("OK"), ok_xpm); | 1493 b->ok = picture_button(b->window, _("OK"), ok_xpm); |
1530 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0); | 1494 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 0); |
1531 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", | 1495 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_change_password), b); |
1532 GTK_SIGNAL_FUNC(do_change_password), b); | |
1533 | 1496 |
1534 | 1497 |
1535 gtk_widget_show(b->window); | 1498 gtk_widget_show(b->window); |
1536 } | 1499 } |
1537 | 1500 |
1555 } | 1518 } |
1556 | 1519 |
1557 void show_icon_dialog(GtkWidget *w, gpointer data) | 1520 void show_icon_dialog(GtkWidget *w, gpointer data) |
1558 { | 1521 { |
1559 struct set_icon_dlg *b = (struct set_icon_dlg *)data; | 1522 struct set_icon_dlg *b = (struct set_icon_dlg *)data; |
1560 char *buf = g_malloc(BUF_LEN); | 1523 char *buf = g_malloc(BUF_LEN); |
1561 | 1524 |
1562 if (!icondlg) { | 1525 if (!icondlg) { |
1563 icondlg = gtk_file_selection_new(_("Gaim - Load User Icon")); | 1526 icondlg = gtk_file_selection_new(_("Gaim - Load User Icon")); |
1564 | 1527 |
1565 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(icondlg)); | 1528 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(icondlg)); |
1566 | 1529 |
1567 g_snprintf(buf, BUF_LEN - 1, "%s/", getenv("HOME")); | 1530 g_snprintf(buf, BUF_LEN - 1, "%s/", getenv("HOME")); |
1568 | 1531 |
1569 gtk_file_selection_set_filename(GTK_FILE_SELECTION(icondlg), buf); | 1532 gtk_file_selection_set_filename(GTK_FILE_SELECTION(icondlg), buf); |
1570 gtk_signal_connect(GTK_OBJECT(icondlg), "destroy", | 1533 gtk_signal_connect(GTK_OBJECT(icondlg), "destroy", |
1571 GTK_SIGNAL_FUNC(destroy_dialog), icondlg); | 1534 GTK_SIGNAL_FUNC(destroy_dialog), icondlg); |
1572 | 1535 |
1573 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(icondlg)->ok_button), | 1536 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(icondlg)->ok_button), |
1574 "clicked", GTK_SIGNAL_FUNC(do_user_icon), b); | 1537 "clicked", GTK_SIGNAL_FUNC(do_user_icon), b); |
1575 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(icondlg)->cancel_button), | 1538 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(icondlg)->cancel_button), |
1576 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), icondlg); | 1539 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), icondlg); |
1577 | 1540 |
1578 | 1541 |
1579 } | 1542 } |
1580 | 1543 |
1581 g_free(buf); | 1544 g_free(buf); |
1582 gtk_widget_show(icondlg); | 1545 gtk_widget_show(icondlg); |
1583 gdk_window_raise(icondlg->window); | 1546 gdk_window_raise(icondlg->window); |
1584 } | 1547 } |
1585 | 1548 |
1586 void do_save_icon(GtkWidget *w, struct set_icon_dlg *b) | 1549 void do_save_icon(GtkWidget *w, struct set_icon_dlg *b) |
1587 { | 1550 { |
1588 char *file = gtk_entry_get_text(GTK_ENTRY(b->entry)); | 1551 char *file = gtk_entry_get_text(GTK_ENTRY(b->entry)); |
1625 | 1588 |
1626 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1589 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1627 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); | 1590 gtk_container_set_border_width(GTK_CONTAINER(b->window), 5); |
1628 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_icon", "Gaim"); | 1591 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_icon", "Gaim"); |
1629 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Icon")); | 1592 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Icon")); |
1630 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1593 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1631 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1632 gtk_widget_realize(b->window); | 1594 gtk_widget_realize(b->window); |
1633 aol_icon(b->window->window); | 1595 aol_icon(b->window->window); |
1634 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1596 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1635 | 1597 |
1636 /* the box that holds everything */ | 1598 /* the box that holds everything */ |
1648 hbox = gtk_hbox_new(FALSE, 0); | 1610 hbox = gtk_hbox_new(FALSE, 0); |
1649 gtk_widget_show(hbox); | 1611 gtk_widget_show(hbox); |
1650 gtk_container_add(GTK_CONTAINER(frame), hbox); | 1612 gtk_container_add(GTK_CONTAINER(frame), hbox); |
1651 | 1613 |
1652 /* | 1614 /* |
1653 sep = gtk_vseparator_new(); | 1615 sep = gtk_vseparator_new(); |
1654 gtk_widget_show(sep); | 1616 gtk_widget_show(sep); |
1655 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); | 1617 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 5); |
1656 */ | 1618 */ |
1657 | 1619 |
1658 /* A boxy */ | 1620 /* A boxy */ |
1659 rbox = gtk_vbox_new(FALSE, 5); | 1621 rbox = gtk_vbox_new(FALSE, 5); |
1660 gtk_widget_show(rbox); | 1622 gtk_widget_show(rbox); |
1661 gtk_box_pack_start(GTK_BOX(hbox), rbox, FALSE, FALSE, 5); | 1623 gtk_box_pack_start(GTK_BOX(hbox), rbox, FALSE, FALSE, 5); |
1666 gtk_box_pack_start(GTK_BOX(rbox), label, FALSE, FALSE, 5); | 1628 gtk_box_pack_start(GTK_BOX(rbox), label, FALSE, FALSE, 5); |
1667 | 1629 |
1668 hbox2 = gtk_hbox_new(FALSE, 5); | 1630 hbox2 = gtk_hbox_new(FALSE, 5); |
1669 gtk_widget_show(hbox2); | 1631 gtk_widget_show(hbox2); |
1670 gtk_box_pack_start(GTK_BOX(rbox), hbox2, FALSE, FALSE, 5); | 1632 gtk_box_pack_start(GTK_BOX(rbox), hbox2, FALSE, FALSE, 5); |
1671 | 1633 |
1672 b->entry = gtk_entry_new(); | 1634 b->entry = gtk_entry_new(); |
1673 | 1635 |
1674 if (strlen(gc->user->iconfile)) { | 1636 if (strlen(gc->user->iconfile)) { |
1675 gtk_entry_set_text(GTK_ENTRY(b->entry), gc->user->iconfile); | 1637 gtk_entry_set_text(GTK_ENTRY(b->entry), gc->user->iconfile); |
1676 } | 1638 } |
1677 | 1639 |
1678 gtk_widget_show(b->entry); | 1640 gtk_widget_show(b->entry); |
1679 gtk_box_pack_start(GTK_BOX(hbox2), b->entry, TRUE, TRUE, 5); | 1641 gtk_box_pack_start(GTK_BOX(hbox2), b->entry, TRUE, TRUE, 5); |
1680 | 1642 |
1681 button = gtk_button_new_with_label(_("Browse")); | 1643 button = gtk_button_new_with_label(_("Browse")); |
1682 gtk_box_pack_start(GTK_BOX(hbox2), button, FALSE, FALSE, 5); | 1644 gtk_box_pack_start(GTK_BOX(hbox2), button, FALSE, FALSE, 5); |
1683 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 1645 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(show_icon_dialog), b); |
1684 GTK_SIGNAL_FUNC(show_icon_dialog), b); | 1646 gtk_widget_show(button); |
1685 gtk_widget_show(button); | 1647 |
1686 | |
1687 button = gtk_button_new_with_label(_("Clear")); | 1648 button = gtk_button_new_with_label(_("Clear")); |
1688 gtk_box_pack_start(GTK_BOX(hbox2), button, FALSE, FALSE, 5); | 1649 gtk_box_pack_start(GTK_BOX(hbox2), button, FALSE, FALSE, 5); |
1689 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 1650 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_clear_icon), b); |
1690 GTK_SIGNAL_FUNC(do_clear_icon), b); | 1651 |
1691 | 1652 gtk_widget_show(button); |
1692 gtk_widget_show(button); | 1653 |
1693 | |
1694 /* button buttons */ | 1654 /* button buttons */ |
1695 buttons = gtk_hbox_new(FALSE, 5); | 1655 buttons = gtk_hbox_new(FALSE, 5); |
1696 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); | 1656 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); |
1697 gtk_widget_show(buttons); | 1657 gtk_widget_show(buttons); |
1698 | 1658 |
1699 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); | 1659 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
1700 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); | 1660 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
1701 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", | 1661 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1702 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1703 | 1662 |
1704 b->ok = picture_button(b->window, _("Ok"), ok_xpm); | 1663 b->ok = picture_button(b->window, _("Ok"), ok_xpm); |
1705 gtk_box_pack_end(GTK_BOX(buttons), b->ok, FALSE, FALSE, 0); | 1664 gtk_box_pack_end(GTK_BOX(buttons), b->ok, FALSE, FALSE, 0); |
1706 | 1665 |
1707 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", | 1666 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_save_icon), b); |
1708 GTK_SIGNAL_FUNC(do_save_icon), b); | |
1709 | 1667 |
1710 /* Show it */ | 1668 /* Show it */ |
1711 gtk_widget_show(b->window); | 1669 gtk_widget_show(b->window); |
1712 | 1670 |
1713 } | 1671 } |
1714 | 1672 |
1715 void show_set_info(struct gaim_connection *gc) | 1673 void show_set_info(struct gaim_connection *gc) |
1716 { | 1674 { |
1717 GtkWidget *buttons; | 1675 GtkWidget *buttons; |
1725 gc = connections->data; | 1683 gc = connections->data; |
1726 tmp = gc->user; | 1684 tmp = gc->user; |
1727 b->user = tmp; | 1685 b->user = tmp; |
1728 | 1686 |
1729 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1687 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1730 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim"); | 1688 gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim"); |
1731 dialogwindows = g_list_prepend(dialogwindows, b->window); | 1689 dialogwindows = g_list_prepend(dialogwindows, b->window); |
1732 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); | 1690 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); |
1733 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1691 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1734 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1735 gtk_widget_realize(b->window); | 1692 gtk_widget_realize(b->window); |
1736 aol_icon(b->window->window); | 1693 aol_icon(b->window->window); |
1737 | 1694 |
1738 vbox = gtk_vbox_new(FALSE, 5); | 1695 vbox = gtk_vbox_new(FALSE, 5); |
1739 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 1696 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
1740 gtk_container_add(GTK_CONTAINER(b->window), vbox); | 1697 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
1741 gtk_widget_show(vbox); | 1698 gtk_widget_show(vbox); |
1742 | 1699 |
1743 buf = g_malloc(256); | 1700 buf = g_malloc(256); |
1744 g_snprintf(buf, 256, "Changing info for %s:", tmp->username); | 1701 g_snprintf(buf, 256, "Changing info for %s:", tmp->username); |
1745 label = gtk_label_new(buf); | 1702 label = gtk_label_new(buf); |
1746 g_free(buf); | 1703 g_free(buf); |
1747 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); | 1704 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); |
1748 gtk_widget_show(label); | 1705 gtk_widget_show(label); |
1749 | 1706 |
1750 b->text = gtk_text_new(NULL, NULL); | 1707 b->text = gtk_text_new(NULL, NULL); |
1751 gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE); | 1708 gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE); |
1752 gtk_text_set_editable(GTK_TEXT(b->text), TRUE); | 1709 gtk_text_set_editable(GTK_TEXT(b->text), TRUE); |
1753 gtk_widget_set_usize(b->text, 300, 200); | 1710 gtk_widget_set_usize(b->text, 300, 200); |
1754 buf = g_malloc(strlen(tmp->user_info)+1); | 1711 buf = g_malloc(strlen(tmp->user_info) + 1); |
1755 strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info)+1); | 1712 strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info) + 1); |
1756 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); | 1713 gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); |
1757 g_free(buf); | 1714 g_free(buf); |
1758 gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); | 1715 gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); |
1759 gtk_widget_show(b->text); | 1716 gtk_widget_show(b->text); |
1760 gtk_window_set_focus(GTK_WINDOW(b->window), b->text); | 1717 gtk_window_set_focus(GTK_WINDOW(b->window), b->text); |
1763 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); | 1720 gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); |
1764 gtk_widget_show(buttons); | 1721 gtk_widget_show(buttons); |
1765 | 1722 |
1766 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); | 1723 b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
1767 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); | 1724 gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); |
1768 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", | 1725 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1769 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
1770 | 1726 |
1771 b->save = picture_button(b->window, _("Save"), save_xpm); | 1727 b->save = picture_button(b->window, _("Save"), save_xpm); |
1772 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); | 1728 gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); |
1773 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", | 1729 gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_save_info), b); |
1774 GTK_SIGNAL_FUNC(do_save_info), b); | |
1775 | 1730 |
1776 gtk_widget_show(b->window); | 1731 gtk_widget_show(b->window); |
1777 | 1732 |
1778 } | 1733 } |
1779 | 1734 |
1780 /*------------------------------------------------------------------------*/ | 1735 /*------------------------------------------------------------------------*/ |
1781 /* The dialog for the info requests */ | 1736 /* The dialog for the info requests */ |
1782 /*------------------------------------------------------------------------*/ | 1737 /*------------------------------------------------------------------------*/ |
1783 | 1738 |
1784 static void info_dlg_free(GtkWidget *b, struct info_dlg *d) { | 1739 static void info_dlg_free(GtkWidget *b, struct info_dlg *d) |
1740 { | |
1785 g_free(d); | 1741 g_free(d); |
1786 } | 1742 } |
1787 | 1743 |
1788 gchar **info_img_handler(gchar *url) | 1744 gchar **info_img_handler(gchar *url) |
1789 { | 1745 { |
1798 return NULL; | 1754 return NULL; |
1799 } | 1755 } |
1800 | 1756 |
1801 void g_show_info_text(char *info, ...) | 1757 void g_show_info_text(char *info, ...) |
1802 { | 1758 { |
1803 GtkWidget *ok; | 1759 GtkWidget *ok; |
1804 GtkWidget *label; | 1760 GtkWidget *label; |
1805 GtkWidget *text; | 1761 GtkWidget *text; |
1806 GtkWidget *bbox; | 1762 GtkWidget *bbox; |
1807 GtkWidget *sw; | 1763 GtkWidget *sw; |
1808 gint options = 0; | 1764 gint options = 0; |
1809 char *more_info; | 1765 char *more_info; |
1810 va_list ap; | 1766 va_list ap; |
1811 | 1767 |
1812 struct info_dlg *b = g_new0(struct info_dlg, 1); | 1768 struct info_dlg *b = g_new0(struct info_dlg, 1); |
1813 | 1769 |
1814 va_start(ap, info); | 1770 va_start(ap, info); |
1815 | 1771 |
1816 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1772 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1817 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); | 1773 gtk_window_set_title(GTK_WINDOW(b->window), "Gaim"); |
1818 gtk_container_border_width(GTK_CONTAINER(b->window), 5); | 1774 gtk_container_border_width(GTK_CONTAINER(b->window), 5); |
1819 bbox = gtk_vbox_new(FALSE, 5); | 1775 bbox = gtk_vbox_new(FALSE, 5); |
1820 gtk_container_add(GTK_CONTAINER(b->window), bbox); | 1776 gtk_container_add(GTK_CONTAINER(b->window), bbox); |
1821 gtk_widget_realize(GTK_WIDGET(b->window)); | 1777 gtk_widget_realize(GTK_WIDGET(b->window)); |
1822 ok = picture_button(b->window, _("OK"), ok_xpm); | 1778 ok = picture_button(b->window, _("OK"), ok_xpm); |
1823 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1779 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1824 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 1780 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(info_dlg_free), b); |
1825 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 1781 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
1826 GTK_SIGNAL_FUNC(info_dlg_free), b); | 1782 |
1827 gtk_signal_connect(GTK_OBJECT(ok), "clicked", | 1783 label = gtk_label_new(_("Below are the results of your search: ")); |
1828 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 1784 |
1829 | 1785 sw = gtk_scrolled_window_new(NULL, NULL); |
1830 label = gtk_label_new(_("Below are the results of your search: ")); | 1786 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); |
1831 | |
1832 sw = gtk_scrolled_window_new (NULL, NULL); | |
1833 gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), | |
1834 GTK_POLICY_NEVER, | |
1835 GTK_POLICY_ALWAYS); | |
1836 text = gtk_imhtml_new(NULL, NULL); | 1787 text = gtk_imhtml_new(NULL, NULL); |
1837 b->text = text; | 1788 b->text = text; |
1838 gtk_container_add(GTK_CONTAINER(sw), text); | 1789 gtk_container_add(GTK_CONTAINER(sw), text); |
1839 | 1790 |
1840 GTK_LAYOUT(text)->hadjustment->step_increment = 10.0; | 1791 GTK_LAYOUT(text)->hadjustment->step_increment = 10.0; |
1860 options ^= GTK_IMHTML_NO_TITLE; | 1811 options ^= GTK_IMHTML_NO_TITLE; |
1861 options ^= GTK_IMHTML_NO_NEWLINE; | 1812 options ^= GTK_IMHTML_NO_NEWLINE; |
1862 options ^= GTK_IMHTML_NO_SCROLL; | 1813 options ^= GTK_IMHTML_NO_SCROLL; |
1863 gtk_imhtml_append_text(GTK_IMHTML(b->text), info, options); | 1814 gtk_imhtml_append_text(GTK_IMHTML(b->text), info, options); |
1864 while ((more_info = va_arg(ap, char *)) != NULL) | 1815 while ((more_info = va_arg(ap, char *)) != NULL) |
1865 gtk_imhtml_append_text(GTK_IMHTML(b->text), more_info, options); | 1816 gtk_imhtml_append_text(GTK_IMHTML(b->text), more_info, options); |
1866 va_end(ap); | 1817 va_end(ap); |
1867 gtk_imhtml_append_text(GTK_IMHTML(b->text), "<BR>", 0); | 1818 gtk_imhtml_append_text(GTK_IMHTML(b->text), "<BR>", 0); |
1868 | 1819 |
1869 gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0); | 1820 gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0); |
1870 } | 1821 } |
1875 | 1826 |
1876 | 1827 |
1877 static void do_add_perm(GtkWidget *w, struct addperm *p) | 1828 static void do_add_perm(GtkWidget *w, struct addperm *p) |
1878 { | 1829 { |
1879 | 1830 |
1880 char *who; | 1831 char *who; |
1881 char *name; | 1832 char *name; |
1882 | 1833 |
1883 | 1834 |
1884 who = gtk_entry_get_text(GTK_ENTRY(p->entry)); | 1835 who = gtk_entry_get_text(GTK_ENTRY(p->entry)); |
1885 | 1836 |
1886 name = g_malloc(strlen(who) + 2); | 1837 name = g_malloc(strlen(who) + 2); |
1887 g_snprintf(name, strlen(who) + 2, "%s", who); | 1838 g_snprintf(name, strlen(who) + 2, "%s", who); |
1888 | 1839 |
1889 if (!p->permit) { | 1840 if (!p->permit) { |
1890 GSList *d = p->gc->deny; | 1841 GSList *d = p->gc->deny; |
1891 char *n; | 1842 char *n; |
1892 n = g_strdup(normalize(name)); | 1843 n = g_strdup(normalize(name)); |
1893 while (d) { | 1844 while (d) { |
1894 if (!g_strcasecmp(n, normalize(d->data))) | 1845 if (!g_strcasecmp(n, normalize(d->data))) |
1901 build_block_list(); | 1852 build_block_list(); |
1902 serv_add_deny(p->gc, name); | 1853 serv_add_deny(p->gc, name); |
1903 do_export(p->gc); | 1854 do_export(p->gc); |
1904 } else | 1855 } else |
1905 g_free(name); | 1856 g_free(name); |
1906 } else { | 1857 } else { |
1907 GSList *d = p->gc->permit; | 1858 GSList *d = p->gc->permit; |
1908 char *n; | 1859 char *n; |
1909 n = g_strdup(normalize(name)); | 1860 n = g_strdup(normalize(name)); |
1910 while (d) { | 1861 while (d) { |
1911 if (!g_strcasecmp(n, normalize(d->data))) | 1862 if (!g_strcasecmp(n, normalize(d->data))) |
1918 build_allow_list(); | 1869 build_allow_list(); |
1919 serv_add_permit(p->gc, name); | 1870 serv_add_permit(p->gc, name); |
1920 do_export(p->gc); | 1871 do_export(p->gc); |
1921 } else | 1872 } else |
1922 g_free(name); | 1873 g_free(name); |
1923 } | 1874 } |
1924 | 1875 |
1925 destroy_dialog(NULL, p->window); | 1876 destroy_dialog(NULL, p->window); |
1926 } | 1877 } |
1927 | 1878 |
1928 | 1879 |
1929 | 1880 |
1930 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit) | 1881 void show_add_perm(struct gaim_connection *gc, char *who, gboolean permit) |
1931 { | 1882 { |
1932 GtkWidget *cancel; | 1883 GtkWidget *cancel; |
1933 GtkWidget *add; | 1884 GtkWidget *add; |
1934 GtkWidget *label; | 1885 GtkWidget *label; |
1935 GtkWidget *bbox; | 1886 GtkWidget *bbox; |
1936 GtkWidget *vbox; | 1887 GtkWidget *vbox; |
1937 GtkWidget *topbox; | 1888 GtkWidget *topbox; |
1938 GtkWidget *frame; | 1889 GtkWidget *frame; |
1939 | 1890 |
1940 struct addperm *p = g_new0(struct addperm, 1); | 1891 struct addperm *p = g_new0(struct addperm, 1); |
1941 p->gc = gc; | 1892 p->gc = gc; |
1942 p->permit = permit; | 1893 p->permit = permit; |
1943 | 1894 |
1944 p->window = gtk_window_new(GTK_WINDOW_DIALOG); | 1895 p->window = gtk_window_new(GTK_WINDOW_DIALOG); |
1945 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); | 1896 gtk_container_set_border_width(GTK_CONTAINER(p->window), 5); |
1946 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE); | 1897 gtk_window_set_policy(GTK_WINDOW(p->window), FALSE, FALSE, TRUE); |
1947 gtk_widget_realize(p->window); | 1898 gtk_widget_realize(p->window); |
1948 | 1899 |
1949 dialogwindows = g_list_prepend(dialogwindows, p->window); | 1900 dialogwindows = g_list_prepend(dialogwindows, p->window); |
1950 | 1901 |
1951 bbox = gtk_hbox_new(TRUE, 10); | 1902 bbox = gtk_hbox_new(TRUE, 10); |
1952 topbox = gtk_hbox_new(FALSE, 5); | 1903 topbox = gtk_hbox_new(FALSE, 5); |
1953 vbox = gtk_vbox_new(FALSE, 5); | 1904 vbox = gtk_vbox_new(FALSE, 5); |
1954 p->entry = gtk_entry_new(); | 1905 p->entry = gtk_entry_new(); |
1955 | 1906 |
1956 if (permit) | 1907 if (permit) |
1957 frame = gtk_frame_new(_("Permit")); | 1908 frame = gtk_frame_new(_("Permit")); |
1958 else | 1909 else |
1959 frame = gtk_frame_new(_("Deny")); | 1910 frame = gtk_frame_new(_("Deny")); |
1963 if (permit) | 1914 if (permit) |
1964 add = picture_button(p->window, _("Permit"), add_xpm); | 1915 add = picture_button(p->window, _("Permit"), add_xpm); |
1965 else | 1916 else |
1966 add = picture_button(p->window, _("Deny"), add_xpm); | 1917 add = picture_button(p->window, _("Deny"), add_xpm); |
1967 cancel = picture_button(p->window, _("Cancel"), cancel_xpm); | 1918 cancel = picture_button(p->window, _("Cancel"), cancel_xpm); |
1968 | 1919 |
1969 /* End of Cancel Button */ | 1920 /* End of Cancel Button */ |
1970 if (who != NULL) | 1921 if (who != NULL) |
1971 gtk_entry_set_text(GTK_ENTRY(p->entry), who); | 1922 gtk_entry_set_text(GTK_ENTRY(p->entry), who); |
1972 | 1923 |
1973 /* Put the buttons in the box */ | 1924 /* Put the buttons in the box */ |
1974 | 1925 |
1975 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); | 1926 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
1976 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | 1927 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
1977 | 1928 |
1978 label = gtk_label_new(_("Add")); | 1929 label = gtk_label_new(_("Add")); |
1979 gtk_widget_show(label); | 1930 gtk_widget_show(label); |
1980 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | 1931 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
1981 gtk_box_pack_start(GTK_BOX(topbox), p->entry, FALSE, FALSE, 5); | 1932 gtk_box_pack_start(GTK_BOX(topbox), p->entry, FALSE, FALSE, 5); |
1982 /* And the boxes in the box */ | 1933 /* And the boxes in the box */ |
1983 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | 1934 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
1984 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | 1935 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); |
1985 gtk_container_add(GTK_CONTAINER(frame), vbox); | 1936 gtk_container_add(GTK_CONTAINER(frame), vbox); |
1986 | 1937 |
1987 | 1938 |
1988 /* Handle closes right */ | 1939 /* Handle closes right */ |
1989 gtk_signal_connect(GTK_OBJECT(p->window), "destroy", | 1940 gtk_signal_connect(GTK_OBJECT(p->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), p->window); |
1990 GTK_SIGNAL_FUNC(destroy_dialog), p->window); | 1941 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), p->window); |
1991 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 1942 gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_add_perm), p); |
1992 GTK_SIGNAL_FUNC(destroy_dialog), p->window); | 1943 gtk_signal_connect(GTK_OBJECT(p->entry), "activate", GTK_SIGNAL_FUNC(do_add_perm), p); |
1993 gtk_signal_connect(GTK_OBJECT(add), "clicked", | 1944 |
1994 GTK_SIGNAL_FUNC(do_add_perm), p); | 1945 /* Finish up */ |
1995 gtk_signal_connect(GTK_OBJECT(p->entry), "activate", | 1946 gtk_widget_show(add); |
1996 GTK_SIGNAL_FUNC(do_add_perm), p); | 1947 gtk_widget_show(cancel); |
1997 | 1948 gtk_widget_show(p->entry); |
1998 /* Finish up */ | 1949 gtk_widget_show(topbox); |
1999 gtk_widget_show(add); | 1950 gtk_widget_show(bbox); |
2000 gtk_widget_show(cancel); | 1951 gtk_widget_show(vbox); |
2001 gtk_widget_show(p->entry); | |
2002 gtk_widget_show(topbox); | |
2003 gtk_widget_show(bbox); | |
2004 gtk_widget_show(vbox); | |
2005 gtk_widget_show(frame); | 1952 gtk_widget_show(frame); |
2006 if (permit) | 1953 if (permit) |
2007 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit")); | 1954 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Permit")); |
2008 else | 1955 else |
2009 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Deny")); | 1956 gtk_window_set_title(GTK_WINDOW(p->window), _("Gaim - Add Deny")); |
2010 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry); | 1957 gtk_window_set_focus(GTK_WINDOW(p->window), p->entry); |
2011 gtk_container_add(GTK_CONTAINER(p->window), frame); | 1958 gtk_container_add(GTK_CONTAINER(p->window), frame); |
2012 gtk_widget_realize(p->window); | 1959 gtk_widget_realize(p->window); |
2013 aol_icon(p->window->window); | 1960 aol_icon(p->window->window); |
2014 | 1961 |
2015 gtk_widget_show(p->window); | 1962 gtk_widget_show(p->window); |
2016 } | 1963 } |
2017 | 1964 |
2018 | 1965 |
2019 /*------------------------------------------------------------------------*/ | 1966 /*------------------------------------------------------------------------*/ |
2020 /* Functions Called To Add A Log */ | 1967 /* Functions Called To Add A Log */ |
2021 /*------------------------------------------------------------------------*/ | 1968 /*------------------------------------------------------------------------*/ |
2022 | 1969 |
2023 void cancel_log(GtkWidget *widget, struct conversation *c) | 1970 void cancel_log(GtkWidget *widget, struct conversation *c) |
2024 { | 1971 { |
2025 if (c->wood) | 1972 if (c->wood) { |
2026 { | |
2027 set_state_lock(1); | 1973 set_state_lock(1); |
2028 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE); | 1974 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->wood), FALSE); |
2029 set_state_lock(0); | 1975 set_state_lock(0); |
2030 } | 1976 } |
2031 dialogwindows = g_list_remove(dialogwindows, c->log_dialog); | 1977 dialogwindows = g_list_remove(dialogwindows, c->log_dialog); |
2032 gtk_widget_destroy(c->log_dialog); | 1978 gtk_widget_destroy(c->log_dialog); |
2033 c->log_dialog = NULL; | 1979 c->log_dialog = NULL; |
2034 } | 1980 } |
2035 | 1981 |
2036 void do_log(GtkWidget *w, struct conversation *c) | 1982 void do_log(GtkWidget *w, struct conversation *c) |
2037 { | 1983 { |
2038 struct log_conversation *l; | 1984 struct log_conversation *l; |
2039 char buf[128]; | 1985 char buf[128]; |
2040 char *file; | 1986 char *file; |
2041 char path[PATHSIZE]; | 1987 char path[PATHSIZE]; |
2042 | 1988 |
2043 if (!find_log_info(c->name)) { | 1989 if (!find_log_info(c->name)) { |
2044 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->log_dialog)); | 1990 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(c->log_dialog)); |
2045 strncpy( path, file, PATHSIZE - 1 ); | 1991 strncpy(path, file, PATHSIZE - 1); |
2046 if (file_is_dir(path, c->log_dialog)) { | 1992 if (file_is_dir(path, c->log_dialog)) { |
2047 return; | 1993 return; |
2048 } | 1994 } |
2049 | 1995 |
2050 l = (struct log_conversation *)g_new0(struct log_conversation, 1); | 1996 l = (struct log_conversation *)g_new0(struct log_conversation, 1); |
2051 strcpy(l->name, c->name); | 1997 strcpy(l->name, c->name); |
2052 strcpy(l->filename, file); | 1998 strcpy(l->filename, file); |
2053 log_conversations = g_list_append(log_conversations, l); | 1999 log_conversations = g_list_append(log_conversations, l); |
2054 | 2000 |
2055 if (c != NULL) | 2001 if (c != NULL) { |
2056 { | 2002 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name); |
2057 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, c->name); | 2003 gtk_window_set_title(GTK_WINDOW(c->window), buf); |
2058 gtk_window_set_title(GTK_WINDOW(c->window), buf); | 2004 } |
2059 } | 2005 } |
2060 } | 2006 |
2061 | 2007 save_prefs(); |
2062 save_prefs(); | 2008 cancel_log(NULL, c); |
2063 cancel_log(NULL, c); | 2009 } |
2064 } | |
2065 | 2010 |
2066 void show_log_dialog(struct conversation *c) | 2011 void show_log_dialog(struct conversation *c) |
2067 { | 2012 { |
2068 char *buf = g_malloc(BUF_LEN); | 2013 char *buf = g_malloc(BUF_LEN); |
2069 | 2014 |
2070 if (!c->log_dialog) { | 2015 if (!c->log_dialog) { |
2071 c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation")); | 2016 c->log_dialog = gtk_file_selection_new(_("Gaim - Log Conversation")); |
2072 | 2017 |
2073 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->log_dialog)); | 2018 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(c->log_dialog)); |
2074 | 2019 |
2075 g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), c->name); | 2020 g_snprintf(buf, BUF_LEN - 1, "%s/%s.log", getenv("HOME"), c->name); |
2076 gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog"); | 2021 gtk_object_set_user_data(GTK_OBJECT(c->log_dialog), "log dialog"); |
2077 gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf); | 2022 gtk_file_selection_set_filename(GTK_FILE_SELECTION(c->log_dialog), buf); |
2078 gtk_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | 2023 gtk_signal_connect(GTK_OBJECT(c->log_dialog), "delete_event", |
2079 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_log), c); | 2024 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
2080 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_log), c); | 2025 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->ok_button), "clicked", |
2026 GTK_SIGNAL_FUNC(do_log), c); | |
2027 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(c->log_dialog)->cancel_button), | |
2028 "clicked", GTK_SIGNAL_FUNC(cancel_log), c); | |
2081 } | 2029 } |
2082 | 2030 |
2083 g_free(buf); | 2031 g_free(buf); |
2084 | 2032 |
2085 gtk_widget_show(c->log_dialog); | 2033 gtk_widget_show(c->log_dialog); |
2090 /* Find Buddy By Email */ | 2038 /* Find Buddy By Email */ |
2091 /*------------------------------------------------------*/ | 2039 /*------------------------------------------------------*/ |
2092 | 2040 |
2093 void do_find_info(GtkWidget *w, struct findbyinfo *b) | 2041 void do_find_info(GtkWidget *w, struct findbyinfo *b) |
2094 { | 2042 { |
2095 char *first; | 2043 char *first; |
2096 char *middle; | 2044 char *middle; |
2097 char *last; | 2045 char *last; |
2098 char *maiden; | 2046 char *maiden; |
2099 char *city; | 2047 char *city; |
2100 char *state; | 2048 char *state; |
2101 char *country; | 2049 char *country; |
2102 | 2050 |
2103 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry)); | 2051 first = gtk_entry_get_text(GTK_ENTRY(b->firstentry)); |
2104 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry)); | 2052 middle = gtk_entry_get_text(GTK_ENTRY(b->middleentry)); |
2105 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry)); | 2053 last = gtk_entry_get_text(GTK_ENTRY(b->lastentry)); |
2106 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry)); | 2054 maiden = gtk_entry_get_text(GTK_ENTRY(b->maidenentry)); |
2107 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry)); | 2055 city = gtk_entry_get_text(GTK_ENTRY(b->cityentry)); |
2108 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry)); | 2056 state = gtk_entry_get_text(GTK_ENTRY(b->stateentry)); |
2109 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry)); | 2057 country = gtk_entry_get_text(GTK_ENTRY(b->countryentry)); |
2110 | 2058 |
2111 /* FIXME : dir search. not sure if even works; not important */ | 2059 /* FIXME : dir search. not sure if even works; not important */ |
2112 if (connections) | 2060 if (connections) |
2113 serv_dir_search(connections->data, first, middle, last, maiden, city, state, country, ""); | 2061 serv_dir_search(connections->data, first, middle, last, maiden, city, state, country, |
2114 destroy_dialog(NULL, b->window); | 2062 ""); |
2115 } | 2063 destroy_dialog(NULL, b->window); |
2064 } | |
2116 | 2065 |
2117 void do_find_email(GtkWidget *w, struct findbyemail *b) | 2066 void do_find_email(GtkWidget *w, struct findbyemail *b) |
2118 { | 2067 { |
2119 char *email; | 2068 char *email; |
2120 | 2069 |
2121 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry)); | 2070 email = gtk_entry_get_text(GTK_ENTRY(b->emailentry)); |
2122 | 2071 |
2123 if (b->gc) | 2072 if (b->gc) |
2124 serv_dir_search(b->gc, "","","","","","","", email); | 2073 serv_dir_search(b->gc, "", "", "", "", "", "", "", email); |
2125 else | 2074 else |
2126 serv_dir_search(connections->data, "","","","","","","", email); | 2075 serv_dir_search(connections->data, "", "", "", "", "", "", "", email); |
2127 | 2076 |
2128 destroy_dialog(NULL, b->window); | 2077 destroy_dialog(NULL, b->window); |
2129 } | 2078 } |
2130 | 2079 |
2131 void show_find_info() | 2080 void show_find_info() |
2132 { | 2081 { |
2133 GtkWidget *cancel; | 2082 GtkWidget *cancel; |
2134 GtkWidget *ok; | 2083 GtkWidget *ok; |
2135 GtkWidget *label; | 2084 GtkWidget *label; |
2136 GtkWidget *bbox; | 2085 GtkWidget *bbox; |
2137 GtkWidget *vbox; | 2086 GtkWidget *vbox; |
2138 GtkWidget *hbox; | 2087 GtkWidget *hbox; |
2139 GtkWidget *fbox; | 2088 GtkWidget *fbox; |
2140 GtkWidget *frame; | 2089 GtkWidget *frame; |
2141 | 2090 |
2142 struct findbyinfo *b = g_new0(struct findbyinfo, 1); | 2091 struct findbyinfo *b = g_new0(struct findbyinfo, 1); |
2143 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 2092 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
2144 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2093 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
2145 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_info", "Gaim"); | 2094 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_info", "Gaim"); |
2146 gtk_widget_show(b->window); | 2095 gtk_widget_show(b->window); |
2147 | 2096 |
2148 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2097 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2153 /* Build OK Button */ | 2102 /* Build OK Button */ |
2154 | 2103 |
2155 ok = picture_button(b->window, _("OK"), ok_xpm); | 2104 ok = picture_button(b->window, _("OK"), ok_xpm); |
2156 cancel = picture_button(b->window, _("Cancel"), cancel_xpm); | 2105 cancel = picture_button(b->window, _("Cancel"), cancel_xpm); |
2157 | 2106 |
2158 bbox = gtk_hbox_new(FALSE, 5); | 2107 bbox = gtk_hbox_new(FALSE, 5); |
2159 vbox = gtk_vbox_new(FALSE, 5); | 2108 vbox = gtk_vbox_new(FALSE, 5); |
2160 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 2109 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
2161 | 2110 |
2162 b->firstentry = gtk_entry_new(); | 2111 b->firstentry = gtk_entry_new(); |
2163 b->middleentry = gtk_entry_new(); | 2112 b->middleentry = gtk_entry_new(); |
2164 b->lastentry = gtk_entry_new(); | 2113 b->lastentry = gtk_entry_new(); |
2165 b->maidenentry = gtk_entry_new(); | 2114 b->maidenentry = gtk_entry_new(); |
2166 b->cityentry = gtk_entry_new(); | 2115 b->cityentry = gtk_entry_new(); |
2167 b->stateentry = gtk_entry_new(); | 2116 b->stateentry = gtk_entry_new(); |
2168 b->countryentry = gtk_entry_new(); | 2117 b->countryentry = gtk_entry_new(); |
2169 | 2118 |
2170 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); | 2119 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); |
2171 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0); | 2120 gtk_box_pack_end(GTK_BOX(bbox), ok, FALSE, FALSE, 0); |
2172 | 2121 |
2173 /* Line 1 */ | 2122 /* Line 1 */ |
2174 label = gtk_label_new(_("First Name")); | 2123 label = gtk_label_new(_("First Name")); |
2175 gtk_widget_show(label); | 2124 gtk_widget_show(label); |
2176 | 2125 |
2177 hbox = gtk_hbox_new(FALSE, 5); | 2126 hbox = gtk_hbox_new(FALSE, 5); |
2178 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2127 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2179 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0); | 2128 gtk_box_pack_end(GTK_BOX(hbox), b->firstentry, FALSE, FALSE, 0); |
2180 | 2129 |
2181 gtk_widget_show(hbox); | 2130 gtk_widget_show(hbox); |
2182 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2131 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2183 | 2132 |
2184 /* Line 2 */ | 2133 /* Line 2 */ |
2185 | 2134 |
2186 label = gtk_label_new(_("Middle Name")); | 2135 label = gtk_label_new(_("Middle Name")); |
2187 gtk_widget_show(label); | 2136 gtk_widget_show(label); |
2188 | 2137 |
2189 hbox = gtk_hbox_new(FALSE, 5); | 2138 hbox = gtk_hbox_new(FALSE, 5); |
2190 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2139 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2191 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0); | 2140 gtk_box_pack_end(GTK_BOX(hbox), b->middleentry, FALSE, FALSE, 0); |
2192 | 2141 |
2193 gtk_widget_show(hbox); | 2142 gtk_widget_show(hbox); |
2194 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2143 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2195 | 2144 |
2196 /* Line 3 */ | 2145 /* Line 3 */ |
2197 | 2146 |
2198 label = gtk_label_new(_("Last Name")); | 2147 label = gtk_label_new(_("Last Name")); |
2199 gtk_widget_show(label); | 2148 gtk_widget_show(label); |
2200 | 2149 |
2201 hbox = gtk_hbox_new(FALSE, 5); | 2150 hbox = gtk_hbox_new(FALSE, 5); |
2202 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2151 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2203 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0); | 2152 gtk_box_pack_end(GTK_BOX(hbox), b->lastentry, FALSE, FALSE, 0); |
2204 | 2153 |
2205 gtk_widget_show(hbox); | 2154 gtk_widget_show(hbox); |
2206 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2155 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2207 | 2156 |
2208 /* Line 4 */ | 2157 /* Line 4 */ |
2209 | 2158 |
2210 label = gtk_label_new(_("Maiden Name")); | 2159 label = gtk_label_new(_("Maiden Name")); |
2211 gtk_widget_show(label); | 2160 gtk_widget_show(label); |
2212 | 2161 |
2213 hbox = gtk_hbox_new(FALSE, 5); | 2162 hbox = gtk_hbox_new(FALSE, 5); |
2214 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2163 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2215 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0); | 2164 gtk_box_pack_end(GTK_BOX(hbox), b->maidenentry, FALSE, FALSE, 0); |
2216 | 2165 |
2217 gtk_widget_show(hbox); | 2166 gtk_widget_show(hbox); |
2218 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2167 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2219 | 2168 |
2220 /* Line 5 */ | 2169 /* Line 5 */ |
2221 | 2170 |
2222 label = gtk_label_new(_("City")); | 2171 label = gtk_label_new(_("City")); |
2223 gtk_widget_show(label); | 2172 gtk_widget_show(label); |
2224 | 2173 |
2225 hbox = gtk_hbox_new(FALSE, 5); | 2174 hbox = gtk_hbox_new(FALSE, 5); |
2226 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2175 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2227 gtk_box_pack_end(GTK_BOX(hbox), b->cityentry, FALSE, FALSE, 0); | 2176 gtk_box_pack_end(GTK_BOX(hbox), b->cityentry, FALSE, FALSE, 0); |
2228 | 2177 |
2229 gtk_widget_show(hbox); | 2178 gtk_widget_show(hbox); |
2230 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2179 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2231 | 2180 |
2232 /* Line 6 */ | 2181 /* Line 6 */ |
2233 label = gtk_label_new(_("State")); | 2182 label = gtk_label_new(_("State")); |
2234 gtk_widget_show(label); | 2183 gtk_widget_show(label); |
2235 | 2184 |
2236 hbox = gtk_hbox_new(FALSE, 5); | 2185 hbox = gtk_hbox_new(FALSE, 5); |
2237 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2186 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2238 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0); | 2187 gtk_box_pack_end(GTK_BOX(hbox), b->stateentry, FALSE, FALSE, 0); |
2239 | 2188 |
2240 gtk_widget_show(hbox); | 2189 gtk_widget_show(hbox); |
2241 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2190 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2242 | 2191 |
2243 /* Line 7 */ | 2192 /* Line 7 */ |
2244 label = gtk_label_new(_("Country")); | 2193 label = gtk_label_new(_("Country")); |
2245 gtk_widget_show(label); | 2194 gtk_widget_show(label); |
2246 | 2195 |
2247 hbox = gtk_hbox_new(FALSE, 5); | 2196 hbox = gtk_hbox_new(FALSE, 5); |
2248 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); | 2197 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
2249 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0); | 2198 gtk_box_pack_end(GTK_BOX(hbox), b->countryentry, FALSE, FALSE, 0); |
2250 | 2199 |
2251 gtk_widget_show(hbox); | 2200 gtk_widget_show(hbox); |
2252 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); | 2201 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
2253 | 2202 |
2254 /* Merge The Boxes */ | 2203 /* Merge The Boxes */ |
2255 | 2204 |
2256 gtk_container_add(GTK_CONTAINER(frame), vbox); | 2205 gtk_container_add(GTK_CONTAINER(frame), vbox); |
2257 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); | 2206 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); |
2258 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0); | 2207 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 0); |
2259 | 2208 |
2260 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 2209 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
2261 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 2210 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
2262 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 2211 gtk_signal_connect(GTK_OBJECT(ok), "clicked", GTK_SIGNAL_FUNC(do_find_info), b); |
2263 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 2212 |
2264 gtk_signal_connect(GTK_OBJECT(ok), "clicked", | 2213 gtk_widget_show(ok); |
2265 GTK_SIGNAL_FUNC(do_find_info), b); | 2214 gtk_widget_show(cancel); |
2266 | 2215 gtk_widget_show(b->firstentry); |
2267 gtk_widget_show(ok); | |
2268 gtk_widget_show(cancel); | |
2269 gtk_widget_show(b->firstentry); | |
2270 gtk_widget_show(b->middleentry); | 2216 gtk_widget_show(b->middleentry); |
2271 gtk_widget_show(b->lastentry); | 2217 gtk_widget_show(b->lastentry); |
2272 gtk_widget_show(b->maidenentry); | 2218 gtk_widget_show(b->maidenentry); |
2273 gtk_widget_show(b->cityentry); | 2219 gtk_widget_show(b->cityentry); |
2274 gtk_widget_show(b->stateentry); | 2220 gtk_widget_show(b->stateentry); |
2275 gtk_widget_show(b->countryentry); | 2221 gtk_widget_show(b->countryentry); |
2276 gtk_widget_show(bbox); | 2222 gtk_widget_show(bbox); |
2277 gtk_widget_show(vbox); | 2223 gtk_widget_show(vbox); |
2278 gtk_widget_show(frame); | 2224 gtk_widget_show(frame); |
2279 gtk_widget_show(fbox); | 2225 gtk_widget_show(fbox); |
2280 | 2226 |
2281 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Info")); | 2227 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Info")); |
2282 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); | 2228 gtk_window_set_focus(GTK_WINDOW(b->window), b->firstentry); |
2283 gtk_container_add(GTK_CONTAINER(b->window), fbox); | 2229 gtk_container_add(GTK_CONTAINER(b->window), fbox); |
2284 gtk_container_border_width(GTK_CONTAINER(b->window), 5); | 2230 gtk_container_border_width(GTK_CONTAINER(b->window), 5); |
2285 gtk_widget_realize(b->window); | 2231 gtk_widget_realize(b->window); |
2286 aol_icon(b->window->window); | 2232 aol_icon(b->window->window); |
2287 | 2233 |
2288 gtk_widget_show(b->window); | 2234 gtk_widget_show(b->window); |
2289 } | 2235 } |
2290 | 2236 |
2291 void show_find_email(struct gaim_connection *gc) | 2237 void show_find_email(struct gaim_connection *gc) |
2292 { | 2238 { |
2293 GtkWidget *label; | 2239 GtkWidget *label; |
2294 GtkWidget *bbox; | 2240 GtkWidget *bbox; |
2295 GtkWidget *vbox; | 2241 GtkWidget *vbox; |
2296 GtkWidget *frame; | 2242 GtkWidget *frame; |
2297 GtkWidget *topbox; | 2243 GtkWidget *topbox; |
2298 GtkWidget *button; | 2244 GtkWidget *button; |
2299 | 2245 |
2300 struct findbyemail *b = g_new0(struct findbyemail, 1); | 2246 struct findbyemail *b = g_new0(struct findbyemail, 1); |
2301 if (g_slist_find(connections, gc)) | 2247 if (g_slist_find(connections, gc)) |
2302 b->gc = gc; | 2248 b->gc = gc; |
2303 b->window = gtk_window_new(GTK_WINDOW_DIALOG); | 2249 b->window = gtk_window_new(GTK_WINDOW_DIALOG); |
2304 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); | 2250 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); |
2305 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_email", "Gaim"); | 2251 gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_email", "Gaim"); |
2306 gtk_widget_realize(b->window); | 2252 gtk_widget_realize(b->window); |
2307 aol_icon(b->window->window); | 2253 aol_icon(b->window->window); |
2308 dialogwindows = g_list_prepend(dialogwindows, b->window); | 2254 dialogwindows = g_list_prepend(dialogwindows, b->window); |
2309 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", | 2255 gtk_signal_connect(GTK_OBJECT(b->window), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
2310 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | 2256 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); |
2311 gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); | 2257 |
2312 | 2258 vbox = gtk_vbox_new(FALSE, 5); |
2313 vbox = gtk_vbox_new(FALSE, 5); | 2259 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
2314 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); | 2260 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
2315 gtk_container_add(GTK_CONTAINER(b->window), vbox); | |
2316 | 2261 |
2317 frame = gtk_frame_new(_("Search for Buddy")); | 2262 frame = gtk_frame_new(_("Search for Buddy")); |
2318 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); | 2263 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
2319 | 2264 |
2320 topbox = gtk_hbox_new(FALSE, 5); | 2265 topbox = gtk_hbox_new(FALSE, 5); |
2321 gtk_container_add(GTK_CONTAINER(frame), topbox); | 2266 gtk_container_add(GTK_CONTAINER(frame), topbox); |
2322 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); | 2267 gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); |
2323 | 2268 |
2324 label = gtk_label_new(_("Email")); | 2269 label = gtk_label_new(_("Email")); |
2325 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); | 2270 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); |
2326 | 2271 |
2327 b->emailentry = gtk_entry_new(); | 2272 b->emailentry = gtk_entry_new(); |
2328 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); | 2273 gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); |
2329 gtk_signal_connect(GTK_OBJECT(b->emailentry), "activate", | 2274 gtk_signal_connect(GTK_OBJECT(b->emailentry), "activate", GTK_SIGNAL_FUNC(do_find_email), b); |
2330 GTK_SIGNAL_FUNC(do_find_email), b); | 2275 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); |
2331 gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); | |
2332 | 2276 |
2333 bbox = gtk_hbox_new(FALSE, 5); | 2277 bbox = gtk_hbox_new(FALSE, 5); |
2334 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); | 2278 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); |
2335 | 2279 |
2336 button = picture_button(b->window, _("Cancel"), cancel_xpm); | 2280 button = picture_button(b->window, _("Cancel"), cancel_xpm); |
2337 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 2281 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
2338 GTK_SIGNAL_FUNC(destroy_dialog), b->window); | |
2339 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 2282 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
2340 | 2283 |
2341 button = picture_button(b->window, _("OK"), ok_xpm); | 2284 button = picture_button(b->window, _("OK"), ok_xpm); |
2342 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 2285 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_find_email), b); |
2343 GTK_SIGNAL_FUNC(do_find_email), b); | |
2344 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); | 2286 gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); |
2345 | 2287 |
2346 gtk_widget_show_all(b->window); | 2288 gtk_widget_show_all(b->window); |
2347 } | 2289 } |
2348 | 2290 |
2349 /*------------------------------------------------------*/ | 2291 /*------------------------------------------------------*/ |
2350 /* Link Dialog */ | 2292 /* Link Dialog */ |
2351 /*------------------------------------------------------*/ | 2293 /*------------------------------------------------------*/ |
2354 { | 2296 { |
2355 if (c->link) { | 2297 if (c->link) { |
2356 set_state_lock(1); | 2298 set_state_lock(1); |
2357 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE); | 2299 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->link), FALSE); |
2358 set_state_lock(0); | 2300 set_state_lock(0); |
2359 } | 2301 } |
2360 destroy_dialog(NULL, c->link_dialog); | 2302 destroy_dialog(NULL, c->link_dialog); |
2361 c->link_dialog = NULL; | 2303 c->link_dialog = NULL; |
2362 } | 2304 } |
2363 | 2305 |
2364 void do_add_link(GtkWidget *widget, struct linkdlg *b) | 2306 void do_add_link(GtkWidget *widget, struct linkdlg *b) |
2365 { | 2307 { |
2366 char *open_tag; | 2308 char *open_tag; |
2367 char *urltext, *showtext; | 2309 char *urltext, *showtext; |
2368 open_tag = g_malloc(2048); | 2310 open_tag = g_malloc(2048); |
2369 | 2311 |
2370 | 2312 |
2371 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); | 2313 urltext = gtk_entry_get_text(GTK_ENTRY(b->url)); |
2372 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); | 2314 showtext = gtk_entry_get_text(GTK_ENTRY(b->text)); |
2373 | 2315 |
2374 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); | 2316 g_snprintf(open_tag, 2048, "<A HREF=\"%s\">%s", urltext, showtext); |
2375 surround(b->entry, open_tag, "</A>"); | 2317 surround(b->entry, open_tag, "</A>"); |
2376 | 2318 |
2377 g_free(open_tag); | 2319 g_free(open_tag); |
2378 destroy_dialog(NULL, b->window); | 2320 destroy_dialog(NULL, b->window); |
2389 GtkWidget *fbox; | 2331 GtkWidget *fbox; |
2390 | 2332 |
2391 if (!c->link_dialog) { | 2333 if (!c->link_dialog) { |
2392 struct linkdlg *b = g_new0(struct linkdlg, 1); | 2334 struct linkdlg *b = g_new0(struct linkdlg, 1); |
2393 c->link_dialog = gtk_window_new(GTK_WINDOW_DIALOG); | 2335 c->link_dialog = gtk_window_new(GTK_WINDOW_DIALOG); |
2394 gtk_window_set_wmclass(GTK_WINDOW(c->link_dialog), | 2336 gtk_window_set_wmclass(GTK_WINDOW(c->link_dialog), "add_link", "Gaim"); |
2395 "add_link", "Gaim"); | |
2396 dialogwindows = g_list_prepend(dialogwindows, c->link_dialog); | 2337 dialogwindows = g_list_prepend(dialogwindows, c->link_dialog); |
2397 | 2338 |
2398 gtk_widget_set_usize(c->link_dialog, 270, 165); | 2339 gtk_widget_set_usize(c->link_dialog, 270, 165); |
2399 gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE); | 2340 gtk_window_set_policy(GTK_WINDOW(c->link_dialog), FALSE, FALSE, TRUE); |
2400 gtk_widget_show(c->link_dialog); | 2341 gtk_widget_show(c->link_dialog); |
2424 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | 2365 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
2425 gtk_box_pack_end(GTK_BOX(hbox), b->url, FALSE, FALSE, 5); | 2366 gtk_box_pack_end(GTK_BOX(hbox), b->url, FALSE, FALSE, 5); |
2426 gtk_widget_show(label); | 2367 gtk_widget_show(label); |
2427 gtk_widget_show(hbox); | 2368 gtk_widget_show(hbox); |
2428 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | 2369 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); |
2429 | 2370 |
2430 hbox = gtk_hbox_new(FALSE, 5); | 2371 hbox = gtk_hbox_new(FALSE, 5); |
2431 label = gtk_label_new(_("Description")); | 2372 label = gtk_label_new(_("Description")); |
2432 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); | 2373 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); |
2433 gtk_box_pack_end(GTK_BOX(hbox), b->text, FALSE, FALSE, 5); | 2374 gtk_box_pack_end(GTK_BOX(hbox), b->text, FALSE, FALSE, 5); |
2434 gtk_widget_show(label); | 2375 gtk_widget_show(label); |
2435 gtk_widget_show(hbox); | 2376 gtk_widget_show(hbox); |
2436 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); | 2377 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); |
2437 | 2378 |
2438 gtk_widget_show(b->url); | 2379 gtk_widget_show(b->url); |
2439 gtk_widget_show(b->text); | 2380 gtk_widget_show(b->text); |
2440 gtk_widget_show(frame); | 2381 gtk_widget_show(frame); |
2441 gtk_widget_show(fbox); | 2382 gtk_widget_show(fbox); |
2442 | 2383 |
2445 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5); | 2386 gtk_box_pack_start(GTK_BOX(fbox), bbox, TRUE, TRUE, 5); |
2446 gtk_widget_show(vbox); | 2387 gtk_widget_show(vbox); |
2447 | 2388 |
2448 gtk_signal_connect(GTK_OBJECT(c->link_dialog), "destroy", | 2389 gtk_signal_connect(GTK_OBJECT(c->link_dialog), "destroy", |
2449 GTK_SIGNAL_FUNC(cancel_link), c); | 2390 GTK_SIGNAL_FUNC(cancel_link), c); |
2450 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", | 2391 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(cancel_link), c); |
2451 GTK_SIGNAL_FUNC(cancel_link), c); | 2392 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_add_link), b); |
2452 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", | 2393 |
2453 GTK_SIGNAL_FUNC(do_add_link), b); | 2394 gtk_container_add(GTK_CONTAINER(c->link_dialog), fbox); |
2454 | 2395 gtk_container_border_width(GTK_CONTAINER(c->link_dialog), 10); |
2455 gtk_container_add(GTK_CONTAINER(c->link_dialog ), fbox); | 2396 gtk_window_set_title(GTK_WINDOW(c->link_dialog), _("GAIM - Add URL")); |
2456 gtk_container_border_width(GTK_CONTAINER(c->link_dialog ), 10); | 2397 gtk_window_set_focus(GTK_WINDOW(c->link_dialog), b->url); |
2457 gtk_window_set_title(GTK_WINDOW(c->link_dialog ), _("GAIM - Add URL")); | |
2458 gtk_window_set_focus(GTK_WINDOW(c->link_dialog ), b->url); | |
2459 b->window = c->link_dialog; | 2398 b->window = c->link_dialog; |
2460 b->toggle = linky; | 2399 b->toggle = linky; |
2461 b->entry = c->entry; | 2400 b->entry = c->entry; |
2462 gtk_widget_realize(c->link_dialog); | 2401 gtk_widget_realize(c->link_dialog); |
2463 aol_icon(c->link_dialog->window); | 2402 aol_icon(c->link_dialog->window); |
2464 | 2403 |
2465 } | 2404 } |
2466 | 2405 |
2467 gtk_widget_show(c->link_dialog); | 2406 gtk_widget_show(c->link_dialog); |
2476 static GtkWidget *fgcseld = NULL; | 2415 static GtkWidget *fgcseld = NULL; |
2477 static GtkWidget *bgcseld = NULL; | 2416 static GtkWidget *bgcseld = NULL; |
2478 | 2417 |
2479 void cancel_fgcolor(GtkWidget *widget, struct conversation *c) | 2418 void cancel_fgcolor(GtkWidget *widget, struct conversation *c) |
2480 { | 2419 { |
2481 if (c->fgcolorbtn && widget) | 2420 if (c->fgcolorbtn && widget) { |
2482 { | |
2483 set_state_lock(1); | 2421 set_state_lock(1); |
2484 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); | 2422 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->fgcolorbtn), FALSE); |
2485 set_state_lock(0); | 2423 set_state_lock(0); |
2486 } | 2424 } |
2487 dialogwindows = g_list_remove(dialogwindows, c->fg_color_dialog); | 2425 dialogwindows = g_list_remove(dialogwindows, c->fg_color_dialog); |
2489 c->fg_color_dialog = NULL; | 2427 c->fg_color_dialog = NULL; |
2490 } | 2428 } |
2491 | 2429 |
2492 void cancel_bgcolor(GtkWidget *widget, struct conversation *c) | 2430 void cancel_bgcolor(GtkWidget *widget, struct conversation *c) |
2493 { | 2431 { |
2494 if (c->bgcolorbtn && widget) | 2432 if (c->bgcolorbtn && widget) { |
2495 { | |
2496 set_state_lock(1); | 2433 set_state_lock(1); |
2497 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); | 2434 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->bgcolorbtn), FALSE); |
2498 set_state_lock(0); | 2435 set_state_lock(0); |
2499 } | 2436 } |
2500 dialogwindows = g_list_remove(dialogwindows, c->bg_color_dialog); | 2437 dialogwindows = g_list_remove(dialogwindows, c->bg_color_dialog); |
2509 struct conversation *c; | 2446 struct conversation *c; |
2510 char *open_tag; | 2447 char *open_tag; |
2511 | 2448 |
2512 open_tag = g_malloc(30); | 2449 open_tag = g_malloc(30); |
2513 | 2450 |
2514 gtk_color_selection_get_color (colorsel, color); | 2451 gtk_color_selection_get_color(colorsel, color); |
2515 | 2452 |
2516 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); | 2453 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); |
2517 /* GTK_IS_EDITABLE(c->entry); huh? */ | 2454 /* GTK_IS_EDITABLE(c->entry); huh? */ |
2518 | 2455 |
2519 text_color.red = ((guint16)(color[0]*65535))>>8; | 2456 text_color.red = ((guint16)(color[0] * 65535)) >> 8; |
2520 text_color.green = ((guint16)(color[1]*65535))>>8; | 2457 text_color.green = ((guint16)(color[1] * 65535)) >> 8; |
2521 text_color.blue = ((guint16)(color[2]*65535))>>8; | 2458 text_color.blue = ((guint16)(color[2] * 65535)) >> 8; |
2522 | 2459 |
2523 c->fgcol = text_color; | 2460 c->fgcol = text_color; |
2524 c->hasfg = 1; | 2461 c->hasfg = 1; |
2525 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, text_color.blue); | 2462 g_snprintf(open_tag, 23, "<FONT COLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, |
2463 text_color.blue); | |
2526 surround(c->entry, open_tag, "</FONT>"); | 2464 surround(c->entry, open_tag, "</FONT>"); |
2527 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); | 2465 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); |
2528 g_free(open_tag); | 2466 g_free(open_tag); |
2529 cancel_fgcolor(NULL, c); | 2467 cancel_fgcolor(NULL, c); |
2530 } | 2468 } |
2536 struct conversation *c; | 2474 struct conversation *c; |
2537 char *open_tag; | 2475 char *open_tag; |
2538 | 2476 |
2539 open_tag = g_malloc(30); | 2477 open_tag = g_malloc(30); |
2540 | 2478 |
2541 gtk_color_selection_get_color (colorsel, color); | 2479 gtk_color_selection_get_color(colorsel, color); |
2542 | 2480 |
2543 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); | 2481 c = gtk_object_get_user_data(GTK_OBJECT(colorsel)); |
2544 /* GTK_IS_EDITABLE(c->entry); huh? */ | 2482 /* GTK_IS_EDITABLE(c->entry); huh? */ |
2545 | 2483 |
2546 text_color.red = ((guint16)(color[0]*65535))>>8; | 2484 text_color.red = ((guint16)(color[0] * 65535)) >> 8; |
2547 text_color.green = ((guint16)(color[1]*65535))>>8; | 2485 text_color.green = ((guint16)(color[1] * 65535)) >> 8; |
2548 text_color.blue = ((guint16)(color[2]*65535))>>8; | 2486 text_color.blue = ((guint16)(color[2] * 65535)) >> 8; |
2549 | 2487 |
2550 c->bgcol = text_color; | 2488 c->bgcol = text_color; |
2551 c->hasbg = 1; | 2489 c->hasbg = 1; |
2552 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, text_color.blue); | 2490 g_snprintf(open_tag, 25, "<BODY BGCOLOR=\"#%02X%02X%02X\">", text_color.red, text_color.green, |
2491 text_color.blue); | |
2553 surround(c->entry, open_tag, "</BODY>"); | 2492 surround(c->entry, open_tag, "</BODY>"); |
2554 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); | 2493 debug_printf("#%02X%02X%02X\n", text_color.red, text_color.green, text_color.blue); |
2555 g_free(open_tag); | 2494 g_free(open_tag); |
2556 cancel_bgcolor(NULL, c); | 2495 cancel_bgcolor(NULL, c); |
2557 } | 2496 } |
2569 | 2508 |
2570 static void apply_color_dlg(GtkWidget *w, gpointer d) | 2509 static void apply_color_dlg(GtkWidget *w, gpointer d) |
2571 { | 2510 { |
2572 gdouble color[3]; | 2511 gdouble color[3]; |
2573 if ((int)d == 1) { | 2512 if ((int)d == 1) { |
2574 gtk_color_selection_get_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), color); | 2513 gtk_color_selection_get_color(GTK_COLOR_SELECTION |
2514 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), color); | |
2575 destroy_colorsel(NULL, (void *)1); | 2515 destroy_colorsel(NULL, (void *)1); |
2576 | 2516 |
2577 fgcolor.red = ((guint16)(color[0]*65535))>>8; | 2517 fgcolor.red = ((guint16)(color[0] * 65535)) >> 8; |
2578 fgcolor.green = ((guint16)(color[1]*65535))>>8; | 2518 fgcolor.green = ((guint16)(color[1] * 65535)) >> 8; |
2579 fgcolor.blue = ((guint16)(color[2]*65535))>>8; | 2519 fgcolor.blue = ((guint16)(color[2] * 65535)) >> 8; |
2580 update_color(NULL, pref_fg_picture); | 2520 update_color(NULL, pref_fg_picture); |
2581 update_convo_color(TRUE); | 2521 update_convo_color(TRUE); |
2582 } else { | 2522 } else { |
2583 gtk_color_selection_get_color(GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), color); | 2523 gtk_color_selection_get_color(GTK_COLOR_SELECTION |
2524 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), color); | |
2584 destroy_colorsel(NULL, (void *)0); | 2525 destroy_colorsel(NULL, (void *)0); |
2585 | 2526 |
2586 bgcolor.red = ((guint16)(color[0]*65535))>>8; | 2527 bgcolor.red = ((guint16)(color[0] * 65535)) >> 8; |
2587 bgcolor.green = ((guint16)(color[1]*65535))>>8; | 2528 bgcolor.green = ((guint16)(color[1] * 65535)) >> 8; |
2588 bgcolor.blue = ((guint16)(color[2]*65535))>>8; | 2529 bgcolor.blue = ((guint16)(color[2] * 65535)) >> 8; |
2589 update_color(NULL, pref_bg_picture); | 2530 update_color(NULL, pref_bg_picture); |
2590 update_convo_color(FALSE); | 2531 update_convo_color(FALSE); |
2591 } | 2532 } |
2592 } | 2533 } |
2593 | 2534 |
2594 void show_fgcolor_dialog(struct conversation *c, GtkWidget *color) | 2535 void show_fgcolor_dialog(struct conversation *c, GtkWidget *color) |
2595 { | 2536 { |
2596 GtkWidget *colorsel; | 2537 GtkWidget *colorsel; |
2597 gdouble fgclr[3]; | 2538 gdouble fgclr[3]; |
2598 | 2539 |
2599 if (color == NULL) { /* we came from the prefs */ | 2540 if (color == NULL) { /* we came from the prefs */ |
2600 if (fgcseld) return; | 2541 if (fgcseld) |
2601 fgclr[0]=(gdouble)(fgcolor.red)/255; | 2542 return; |
2602 fgclr[1]=(gdouble)(fgcolor.green)/255; | 2543 fgclr[0] = (gdouble)(fgcolor.red) / 255; |
2603 fgclr[2]=(gdouble)(fgcolor.blue)/255; | 2544 fgclr[1] = (gdouble)(fgcolor.green) / 255; |
2545 fgclr[2] = (gdouble)(fgcolor.blue) / 255; | |
2604 | 2546 |
2605 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); | 2547 fgcseld = gtk_color_selection_dialog_new(_("Select Text Color")); |
2606 gtk_color_selection_set_color (GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), fgclr); | 2548 gtk_color_selection_set_color(GTK_COLOR_SELECTION |
2607 gtk_signal_connect(GTK_OBJECT(fgcseld), "delete_event", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); | 2549 (GTK_COLOR_SELECTION_DIALOG(fgcseld)->colorsel), fgclr); |
2608 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); | 2550 gtk_signal_connect(GTK_OBJECT(fgcseld), "delete_event", |
2609 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_color_dlg), (void *)1); | 2551 GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); |
2552 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->cancel_button), | |
2553 "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), (void *)1); | |
2554 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(fgcseld)->ok_button), "clicked", | |
2555 GTK_SIGNAL_FUNC(apply_color_dlg), (void *)1); | |
2610 gtk_widget_realize(fgcseld); | 2556 gtk_widget_realize(fgcseld); |
2611 aol_icon(fgcseld->window); | 2557 aol_icon(fgcseld->window); |
2612 gtk_widget_show(fgcseld); | 2558 gtk_widget_show(fgcseld); |
2613 gdk_window_raise(fgcseld->window); | 2559 gdk_window_raise(fgcseld->window); |
2614 return; | 2560 return; |
2615 } | 2561 } |
2616 | 2562 |
2617 if (!c->fg_color_dialog) { | 2563 if (!c->fg_color_dialog) { |
2618 fgclr[0]=(gdouble)(c->fgcol.red)/255; | 2564 fgclr[0] = (gdouble)(c->fgcol.red) / 255; |
2619 fgclr[1]=(gdouble)(c->fgcol.green)/255; | 2565 fgclr[1] = (gdouble)(c->fgcol.green) / 255; |
2620 fgclr[2]=(gdouble)(c->fgcol.blue)/255; | 2566 fgclr[2] = (gdouble)(c->fgcol.blue) / 255; |
2621 | 2567 |
2622 c->fg_color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); | 2568 c->fg_color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); |
2623 colorsel = GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->colorsel; | 2569 colorsel = GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->colorsel; |
2624 gtk_color_selection_set_color (GTK_COLOR_SELECTION(colorsel), fgclr); | 2570 gtk_color_selection_set_color(GTK_COLOR_SELECTION(colorsel), fgclr); |
2625 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); | 2571 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); |
2626 | 2572 |
2627 gtk_signal_connect(GTK_OBJECT(c->fg_color_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | 2573 gtk_signal_connect(GTK_OBJECT(c->fg_color_dialog), "delete_event", |
2628 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_fgcolor), colorsel); | 2574 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
2629 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_fgcolor), c); | 2575 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->ok_button), |
2576 "clicked", GTK_SIGNAL_FUNC(do_fgcolor), colorsel); | |
2577 gtk_signal_connect(GTK_OBJECT | |
2578 (GTK_COLOR_SELECTION_DIALOG(c->fg_color_dialog)->cancel_button), | |
2579 "clicked", GTK_SIGNAL_FUNC(cancel_fgcolor), c); | |
2630 | 2580 |
2631 gtk_widget_realize(c->fg_color_dialog); | 2581 gtk_widget_realize(c->fg_color_dialog); |
2632 aol_icon(c->fg_color_dialog->window); | 2582 aol_icon(c->fg_color_dialog->window); |
2633 } | 2583 } |
2634 | 2584 |
2639 void show_bgcolor_dialog(struct conversation *c, GtkWidget *color) | 2589 void show_bgcolor_dialog(struct conversation *c, GtkWidget *color) |
2640 { | 2590 { |
2641 GtkWidget *colorsel; | 2591 GtkWidget *colorsel; |
2642 gdouble bgclr[3]; | 2592 gdouble bgclr[3]; |
2643 | 2593 |
2644 if (color == NULL) { /* we came from the prefs */ | 2594 if (color == NULL) { /* we came from the prefs */ |
2645 if (bgcseld) return; | 2595 if (bgcseld) |
2646 bgclr[0]=(gdouble)(bgcolor.red)/255; | 2596 return; |
2647 bgclr[1]=(gdouble)(bgcolor.green)/255; | 2597 bgclr[0] = (gdouble)(bgcolor.red) / 255; |
2648 bgclr[2]=(gdouble)(bgcolor.blue)/255; | 2598 bgclr[1] = (gdouble)(bgcolor.green) / 255; |
2599 bgclr[2] = (gdouble)(bgcolor.blue) / 255; | |
2649 | 2600 |
2650 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); | 2601 bgcseld = gtk_color_selection_dialog_new(_("Select Background Color")); |
2651 gtk_color_selection_set_color (GTK_COLOR_SELECTION(GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), bgclr); | 2602 gtk_color_selection_set_color(GTK_COLOR_SELECTION |
2652 gtk_signal_connect(GTK_OBJECT(bgcseld), "delete_event", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); | 2603 (GTK_COLOR_SELECTION_DIALOG(bgcseld)->colorsel), bgclr); |
2653 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); | 2604 gtk_signal_connect(GTK_OBJECT(bgcseld), "delete_event", |
2654 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_color_dlg), (void *)2); | 2605 GTK_SIGNAL_FUNC(destroy_colorsel), NULL); |
2606 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->cancel_button), | |
2607 "clicked", GTK_SIGNAL_FUNC(destroy_colorsel), NULL); | |
2608 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(bgcseld)->ok_button), "clicked", | |
2609 GTK_SIGNAL_FUNC(apply_color_dlg), (void *)2); | |
2655 gtk_widget_realize(bgcseld); | 2610 gtk_widget_realize(bgcseld); |
2656 aol_icon(bgcseld->window); | 2611 aol_icon(bgcseld->window); |
2657 gtk_widget_show(bgcseld); | 2612 gtk_widget_show(bgcseld); |
2658 gdk_window_raise(bgcseld->window); | 2613 gdk_window_raise(bgcseld->window); |
2659 return; | 2614 return; |
2660 } | 2615 } |
2661 | 2616 |
2662 if (!c->bg_color_dialog) { | 2617 if (!c->bg_color_dialog) { |
2663 bgclr[0]=(gdouble)(c->bgcol.red)/255; | 2618 bgclr[0] = (gdouble)(c->bgcol.red) / 255; |
2664 bgclr[1]=(gdouble)(c->bgcol.green)/255; | 2619 bgclr[1] = (gdouble)(c->bgcol.green) / 255; |
2665 bgclr[2]=(gdouble)(c->bgcol.blue)/255; | 2620 bgclr[2] = (gdouble)(c->bgcol.blue) / 255; |
2666 | 2621 |
2667 c->bg_color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); | 2622 c->bg_color_dialog = gtk_color_selection_dialog_new(_("Select Text Color")); |
2668 colorsel = GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->colorsel; | 2623 colorsel = GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->colorsel; |
2669 gtk_color_selection_set_color (GTK_COLOR_SELECTION(colorsel), bgclr); | 2624 gtk_color_selection_set_color(GTK_COLOR_SELECTION(colorsel), bgclr); |
2670 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); | 2625 gtk_object_set_user_data(GTK_OBJECT(colorsel), c); |
2671 | 2626 |
2672 gtk_signal_connect(GTK_OBJECT(c->bg_color_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | 2627 gtk_signal_connect(GTK_OBJECT(c->bg_color_dialog), "delete_event", |
2673 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(do_bgcolor), colorsel); | 2628 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
2674 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_bgcolor), c); | 2629 gtk_signal_connect(GTK_OBJECT(GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->ok_button), |
2630 "clicked", GTK_SIGNAL_FUNC(do_bgcolor), colorsel); | |
2631 gtk_signal_connect(GTK_OBJECT | |
2632 (GTK_COLOR_SELECTION_DIALOG(c->bg_color_dialog)->cancel_button), | |
2633 "clicked", GTK_SIGNAL_FUNC(cancel_bgcolor), c); | |
2675 | 2634 |
2676 gtk_widget_realize(c->bg_color_dialog); | 2635 gtk_widget_realize(c->bg_color_dialog); |
2677 aol_icon(c->bg_color_dialog->window); | 2636 aol_icon(c->bg_color_dialog->window); |
2678 } | 2637 } |
2679 | 2638 |
2684 /*------------------------------------------------------------------------*/ | 2643 /*------------------------------------------------------------------------*/ |
2685 /* Font Selection Dialog */ | 2644 /* Font Selection Dialog */ |
2686 /*------------------------------------------------------------------------*/ | 2645 /*------------------------------------------------------------------------*/ |
2687 | 2646 |
2688 void cancel_font(GtkWidget *widget, struct conversation *c) | 2647 void cancel_font(GtkWidget *widget, struct conversation *c) |
2689 { | 2648 { |
2690 if (c->font && widget) | 2649 if (c->font && widget) { |
2691 { | |
2692 set_state_lock(1); | 2650 set_state_lock(1); |
2693 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); | 2651 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->font), FALSE); |
2694 set_state_lock(0); | 2652 set_state_lock(0); |
2695 } | 2653 } |
2696 dialogwindows = g_list_remove(dialogwindows, c->font_dialog); | 2654 dialogwindows = g_list_remove(dialogwindows, c->font_dialog); |
2697 gtk_widget_destroy(c->font_dialog); | 2655 gtk_widget_destroy(c->font_dialog); |
2698 c->font_dialog = NULL; | 2656 c->font_dialog = NULL; |
2699 } | 2657 } |
2700 | 2658 |
2701 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) | 2659 void apply_font(GtkWidget *widget, GtkFontSelection *fontsel) |
2702 { | 2660 { |
2703 /* this could be expanded to include font size, weight, etc. | 2661 /* this could be expanded to include font size, weight, etc. |
2704 but for now only works with font face */ | 2662 but for now only works with font face */ |
2705 int i, j = 0, k = 0; | 2663 int i, j = 0, k = 0; |
2706 char *fontname; | 2664 char *fontname; |
2707 char font[64]; | 2665 char font[64]; |
2708 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(fontsel)); | 2666 struct conversation *c = gtk_object_get_user_data(GTK_OBJECT(fontsel)); |
2709 | 2667 |
2710 if (c) | 2668 if (c) { |
2711 { | |
2712 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); | 2669 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
2713 | 2670 |
2714 for (i = 0; i < strlen(fontname); i++) | 2671 for (i = 0; i < strlen(fontname); i++) { |
2715 { | 2672 if (fontname[i] == '-') { |
2716 if (fontname[i] == '-') | |
2717 { | |
2718 if (++j > 2) | 2673 if (++j > 2) |
2719 break; | 2674 break; |
2720 } | 2675 } else if (j == 2) |
2721 else if (j == 2) | |
2722 font[k++] = fontname[i]; | 2676 font[k++] = fontname[i]; |
2723 } | 2677 } |
2724 font[k] = '\0'; | 2678 font[k] = '\0'; |
2725 | 2679 |
2726 debug_printf("Setting font face %s\n", font); | 2680 debug_printf("Setting font face %s\n", font); |
2727 | 2681 |
2728 set_font_face(font, c); | 2682 set_font_face(font, c); |
2729 } | 2683 } else { |
2730 else | |
2731 { | |
2732 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); | 2684 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontsel)); |
2733 | 2685 |
2734 for (i = 0; i < strlen(fontname); i++) | 2686 for (i = 0; i < strlen(fontname); i++) { |
2735 { | 2687 if (fontname[i] == '-') { |
2736 if (fontname[i] == '-') | |
2737 { | |
2738 if (++j > 2) | 2688 if (++j > 2) |
2739 break; | 2689 break; |
2740 } | 2690 } else if (j == 2) |
2741 else if (j == 2) | |
2742 fontface[k++] = fontname[i]; | 2691 fontface[k++] = fontname[i]; |
2743 } | 2692 } |
2744 fontface[k] = '\0'; | 2693 fontface[k] = '\0'; |
2745 } | 2694 } |
2746 | 2695 |
2747 cancel_font(NULL, c); | 2696 cancel_font(NULL, c); |
2748 } | 2697 } |
2749 | 2698 |
2750 static GtkWidget *fontseld; | 2699 static GtkWidget *fontseld; |
2751 | 2700 |
2752 void destroy_fontsel(GtkWidget *w, gpointer d) { | 2701 void destroy_fontsel(GtkWidget *w, gpointer d) |
2702 { | |
2753 gtk_widget_destroy(fontseld); | 2703 gtk_widget_destroy(fontseld); |
2754 fontseld = NULL; | 2704 fontseld = NULL; |
2755 } | 2705 } |
2756 | 2706 |
2757 void apply_font_dlg(GtkWidget *w, GtkWidget *f) { | 2707 void apply_font_dlg(GtkWidget *w, GtkWidget *f) |
2708 { | |
2758 int i, j = 0, k = 0; | 2709 int i, j = 0, k = 0; |
2759 char *fontname; | 2710 char *fontname; |
2760 | 2711 |
2761 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontseld)); | 2712 fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(fontseld)); |
2762 destroy_fontsel(0, 0); | 2713 destroy_fontsel(0, 0); |
2763 for (i = 0; i < strlen(fontname); i++) { | 2714 for (i = 0; i < strlen(fontname); i++) { |
2764 if (fontname[i] == '-') { | 2715 if (fontname[i] == '-') { |
2765 if (++j > 2) break; | 2716 if (++j > 2) |
2717 break; | |
2766 } else if (j == 2) | 2718 } else if (j == 2) |
2767 fontface[k++] = fontname[i]; | 2719 fontface[k++] = fontname[i]; |
2768 } | 2720 } |
2769 fontface[k] = '\0'; | 2721 fontface[k] = '\0'; |
2770 update_convo_font(); | 2722 update_convo_font(); |
2771 } | 2723 } |
2772 | 2724 |
2773 void show_font_dialog(struct conversation *c, GtkWidget *font) | 2725 void show_font_dialog(struct conversation *c, GtkWidget *font) |
2774 { | 2726 { |
2775 | 2727 |
2776 if (!font) { /* we came from the prefs dialog */ | 2728 if (!font) { /* we came from the prefs dialog */ |
2777 if (fontseld) return; | 2729 if (fontseld) |
2730 return; | |
2778 fontseld = gtk_font_selection_dialog_new(_("Select Font")); | 2731 fontseld = gtk_font_selection_dialog_new(_("Select Font")); |
2779 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), DEFAULT_FONT_NAME); | 2732 gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(fontseld), |
2733 DEFAULT_FONT_NAME); | |
2780 | 2734 |
2781 gtk_object_set_user_data(GTK_OBJECT(fontseld), NULL); | 2735 gtk_object_set_user_data(GTK_OBJECT(fontseld), NULL); |
2782 gtk_signal_connect(GTK_OBJECT(fontseld), "delete_event", GTK_SIGNAL_FUNC(destroy_fontsel), NULL); | 2736 gtk_signal_connect(GTK_OBJECT(fontseld), "delete_event", |
2783 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), "clicked", GTK_SIGNAL_FUNC(destroy_fontsel), NULL); | 2737 GTK_SIGNAL_FUNC(destroy_fontsel), NULL); |
2784 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_font_dlg), NULL); | 2738 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->cancel_button), |
2739 "clicked", GTK_SIGNAL_FUNC(destroy_fontsel), NULL); | |
2740 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(fontseld)->ok_button), "clicked", | |
2741 GTK_SIGNAL_FUNC(apply_font_dlg), NULL); | |
2785 gtk_widget_realize(fontseld); | 2742 gtk_widget_realize(fontseld); |
2786 aol_icon(fontseld->window); | 2743 aol_icon(fontseld->window); |
2787 gtk_widget_show(fontseld); | 2744 gtk_widget_show(fontseld); |
2788 gdk_window_raise(fontseld->window); | 2745 gdk_window_raise(fontseld->window); |
2789 return; | 2746 return; |
2790 } | 2747 } |
2791 | 2748 |
2792 if (!c->font_dialog) | 2749 if (!c->font_dialog) { |
2793 { | |
2794 c->font_dialog = gtk_font_selection_dialog_new(_("Select Font")); | 2750 c->font_dialog = gtk_font_selection_dialog_new(_("Select Font")); |
2795 | 2751 |
2796 if (font) | 2752 if (font) |
2797 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), c); | 2753 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), c); |
2798 else | 2754 else |
2799 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), NULL); | 2755 gtk_object_set_user_data(GTK_OBJECT(c->font_dialog), NULL); |
2800 | 2756 |
2801 gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *)c->font_dialog, DEFAULT_FONT_NAME); | 2757 gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *) c->font_dialog, |
2802 | 2758 DEFAULT_FONT_NAME); |
2803 gtk_signal_connect(GTK_OBJECT(c->font_dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | 2759 |
2804 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(apply_font), c->font_dialog); | 2760 gtk_signal_connect(GTK_OBJECT(c->font_dialog), "delete_event", |
2805 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(cancel_font), c); | 2761 GTK_SIGNAL_FUNC(delete_event_dialog), c); |
2806 | 2762 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->ok_button), |
2807 gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *)c->font_dialog, DEFAULT_FONT_NAME); | 2763 "clicked", GTK_SIGNAL_FUNC(apply_font), c->font_dialog); |
2808 | 2764 gtk_signal_connect(GTK_OBJECT(GTK_FONT_SELECTION_DIALOG(c->font_dialog)->cancel_button), |
2765 "clicked", GTK_SIGNAL_FUNC(cancel_font), c); | |
2766 | |
2767 gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *) c->font_dialog, | |
2768 DEFAULT_FONT_NAME); | |
2769 | |
2809 gtk_widget_realize(c->font_dialog); | 2770 gtk_widget_realize(c->font_dialog); |
2810 | 2771 |
2811 aol_icon(c->font_dialog->window); | 2772 aol_icon(c->font_dialog->window); |
2812 } | 2773 } |
2813 gtk_widget_show(c->font_dialog); | 2774 gtk_widget_show(c->font_dialog); |
2814 gdk_window_raise(c->font_dialog->window); | 2775 gdk_window_raise(c->font_dialog->window); |
2815 } | 2776 } |
2816 | 2777 |
2817 /*------------------------------------------------------------------------*/ | 2778 /*------------------------------------------------------------------------*/ |
2834 return good; | 2795 return good; |
2835 } | 2796 } |
2836 | 2797 |
2837 /* see if a buddy list cache file for this user exists */ | 2798 /* see if a buddy list cache file for this user exists */ |
2838 | 2799 |
2839 gboolean | 2800 gboolean bud_list_cache_exists(struct gaim_connection *gc) |
2840 bud_list_cache_exists(struct gaim_connection *gc) | |
2841 { | 2801 { |
2842 gboolean ret = FALSE; | 2802 gboolean ret = FALSE; |
2843 char path[PATHSIZE]; | 2803 char path[PATHSIZE]; |
2844 char *file; | 2804 char *file; |
2845 struct stat sbuf; | 2805 struct stat sbuf; |
2846 char *g_screenname; | 2806 char *g_screenname; |
2847 | 2807 |
2848 g_screenname = get_screenname_filename(gc->username); | 2808 g_screenname = get_screenname_filename(gc->username); |
2849 | 2809 |
2850 file = gaim_user_dir(); | 2810 file = gaim_user_dir(); |
2851 if ( file != (char *) NULL ) { | 2811 if (file != (char *)NULL) { |
2852 g_snprintf(path, sizeof path, "%s/%s.%d.blist", file, g_screenname, | 2812 g_snprintf(path, sizeof path, "%s/%s.%d.blist", file, g_screenname, |
2853 (gc->protocol == PROTO_OSCAR) ? PROTO_TOC : gc->protocol); | 2813 (gc->protocol == PROTO_OSCAR) ? PROTO_TOC : gc->protocol); |
2854 if ( !stat(path, &sbuf) ) { | 2814 if (!stat(path, &sbuf)) { |
2855 debug_printf("%s exists.\n", path); | 2815 debug_printf("%s exists.\n", path); |
2856 ret = TRUE; | 2816 ret = TRUE; |
2857 } else { | 2817 } else { |
2858 char path2[PATHSIZE]; | 2818 char path2[PATHSIZE]; |
2859 debug_printf("%s does not exist.\n", path); | 2819 debug_printf("%s does not exist.\n", path); |
2876 * signed in user. Else, let user choose */ | 2836 * signed in user. Else, let user choose */ |
2877 | 2837 |
2878 void do_export(struct gaim_connection *g) | 2838 void do_export(struct gaim_connection *g) |
2879 { | 2839 { |
2880 FILE *dir; | 2840 FILE *dir; |
2881 FILE *f; | 2841 FILE *f; |
2882 char buf[32 * 1024]; | 2842 char buf[32 * 1024]; |
2883 char *file; | 2843 char *file; |
2884 char path[PATHSIZE]; | 2844 char path[PATHSIZE]; |
2885 char *g_screenname; | 2845 char *g_screenname; |
2886 | 2846 |
2887 /* | 2847 /* |
2888 if ( show_dialog == 1 ) { | 2848 if ( show_dialog == 1 ) { |
2889 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(exportdialog)); | 2849 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(exportdialog)); |
2890 strncpy( path, file, PATHSIZE - 1 ); | 2850 strncpy( path, file, PATHSIZE - 1 ); |
2891 if (file_is_dir(path, exportdialog)) { | 2851 if (file_is_dir(path, exportdialog)) { |
2892 return; | 2852 return; |
2893 } | 2853 } |
2894 if ((f = fopen(path,"w"))) { | 2854 if ((f = fopen(path,"w"))) { |
2895 toc_build_config(connections->data, buf, 8192 - 1, TRUE); | 2855 toc_build_config(connections->data, buf, 8192 - 1, TRUE); |
2896 fprintf(f, "%s\n", buf); | 2856 fprintf(f, "%s\n", buf); |
2897 fclose(f); | 2857 fclose(f); |
2898 chmod(buf, S_IRUSR | S_IWUSR); | 2858 chmod(buf, S_IRUSR | S_IWUSR); |
2899 } else { | 2859 } else { |
2900 g_snprintf(buf, BUF_LONG / 2, _("Error writing file %s"), file); | 2860 g_snprintf(buf, BUF_LONG / 2, _("Error writing file %s"), file); |
2901 do_error_dialog(buf, _("Error")); | 2861 do_error_dialog(buf, _("Error")); |
2902 } | 2862 } |
2903 destroy_dialog(NULL, exportdialog); | 2863 destroy_dialog(NULL, exportdialog); |
2904 exportdialog = NULL; | 2864 exportdialog = NULL; |
2905 } else { | 2865 } else { |
2906 */ | 2866 */ |
2907 | 2867 |
2908 file = gaim_user_dir(); | 2868 file = gaim_user_dir(); |
2909 if (!file) return; | 2869 if (!file) |
2870 return; | |
2910 | 2871 |
2911 strcpy(buf, file); | 2872 strcpy(buf, file); |
2912 dir = fopen(buf, "r"); | 2873 dir = fopen(buf, "r"); |
2913 if (!dir) | 2874 if (!dir) |
2914 mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR); | 2875 mkdir(buf, S_IRUSR | S_IWUSR | S_IXUSR); |
2916 fclose(dir); | 2877 fclose(dir); |
2917 | 2878 |
2918 g_screenname = get_screenname_filename(g->username); | 2879 g_screenname = get_screenname_filename(g->username); |
2919 | 2880 |
2920 sprintf(path, "%s/%s.%d.blist", file, g_screenname, | 2881 sprintf(path, "%s/%s.%d.blist", file, g_screenname, |
2921 (g->protocol == PROTO_OSCAR) ? PROTO_TOC : g->protocol); | 2882 (g->protocol == PROTO_OSCAR) ? PROTO_TOC : g->protocol); |
2922 if ((f = fopen(path,"w"))) { | 2883 if ((f = fopen(path, "w"))) { |
2923 debug_printf("writing %s\n", path); | 2884 debug_printf("writing %s\n", path); |
2924 toc_build_config(g, buf, 8192 - 1, TRUE); | 2885 toc_build_config(g, buf, 8192 - 1, TRUE); |
2925 fprintf(f, "%s\n", buf); | 2886 fprintf(f, "%s\n", buf); |
2926 fclose(f); | 2887 fclose(f); |
2927 chmod(buf, S_IRUSR | S_IWUSR); | 2888 chmod(buf, S_IRUSR | S_IWUSR); |
2968 /* if gc is non-NULL, then import from ~/.gaim/gc->username.blist, else let user | 2929 /* if gc is non-NULL, then import from ~/.gaim/gc->username.blist, else let user |
2969 choose */ | 2930 choose */ |
2970 | 2931 |
2971 void do_import(GtkWidget *w, struct gaim_connection *gc) | 2932 void do_import(GtkWidget *w, struct gaim_connection *gc) |
2972 { | 2933 { |
2973 char *buf = g_malloc(BUF_LONG * 2); | 2934 char *buf = g_malloc(BUF_LONG * 2); |
2974 char *buf2; | 2935 char *buf2; |
2975 char *first = g_malloc(64); | 2936 char *first = g_malloc(64); |
2976 char *file; | 2937 char *file; |
2977 char path[PATHSIZE]; | 2938 char path[PATHSIZE]; |
2978 char *g_screenname; | 2939 char *g_screenname; |
2979 int len; | 2940 int len; |
2980 FILE *f; | 2941 FILE *f; |
2981 gboolean from_dialog = FALSE; | 2942 gboolean from_dialog = FALSE; |
2982 | 2943 |
2983 if ( !gc ) { | 2944 if (!gc) { |
2984 debug_printf("want to import file "); | 2945 debug_printf("want to import file "); |
2985 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(importdialog)); | 2946 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(importdialog)); |
2986 debug_printf("%s", file); | 2947 debug_printf("%s", file); |
2987 if (file_is_dir(file, importdialog)) { | 2948 if (file_is_dir(file, importdialog)) { |
2988 debug_printf(" but it is a directory\n"); | 2949 debug_printf(" but it is a directory\n"); |
2989 g_free (buf); | 2950 g_free(buf); |
2990 g_free (first); | 2951 g_free(first); |
2991 return; | 2952 return; |
2992 } | 2953 } |
2993 strncpy( path, file, PATHSIZE - 1 ); | 2954 strncpy(path, file, PATHSIZE - 1); |
2994 /* FIXME : import buddy list file. moderately important */ | 2955 /* FIXME : import buddy list file. moderately important */ |
2995 gc = connections->data; | 2956 gc = connections->data; |
2996 from_dialog = TRUE; | 2957 from_dialog = TRUE; |
2997 } else { | 2958 } else { |
2998 g_screenname = get_screenname_filename(gc->username); | 2959 g_screenname = get_screenname_filename(gc->username); |
2999 | 2960 |
3000 file = gaim_user_dir(); | 2961 file = gaim_user_dir(); |
3001 if ( file != (char *) NULL ) { | 2962 if (file != (char *)NULL) { |
3002 sprintf( path, "%s/%s.%d.blist", file, g_screenname, | 2963 sprintf(path, "%s/%s.%d.blist", file, g_screenname, |
3003 (gc->protocol == PROTO_OSCAR) ? PROTO_TOC : gc->protocol); | 2964 (gc->protocol == PROTO_OSCAR) ? PROTO_TOC : gc->protocol); |
3004 g_free(file); | 2965 g_free(file); |
3005 g_free(g_screenname); | 2966 g_free(g_screenname); |
3006 } else { | 2967 } else { |
3007 g_free(g_screenname); | 2968 g_free(g_screenname); |
3008 g_free(buf); | 2969 g_free(buf); |
3009 g_free(first); | 2970 g_free(first); |
3010 return; | 2971 return; |
3011 } | 2972 } |
3012 } | 2973 } |
3013 | 2974 |
3014 if (!(f = fopen(path,"r"))) { | 2975 if (!(f = fopen(path, "r"))) { |
3015 if (from_dialog) { | 2976 if (from_dialog) { |
3016 debug_printf(" but it can't be opened\n"); | 2977 debug_printf(" but it can't be opened\n"); |
3017 g_snprintf(buf, BUF_LONG / 2, _("Error reading file %s"), path); | 2978 g_snprintf(buf, BUF_LONG / 2, _("Error reading file %s"), path); |
3018 do_error_dialog(buf, _("Error")); | 2979 do_error_dialog(buf, _("Error")); |
3019 destroy_dialog(NULL, importdialog); | 2980 destroy_dialog(NULL, importdialog); |
3020 importdialog = NULL; | 2981 importdialog = NULL; |
3021 } | 2982 } |
3022 debug_printf("Unable to open %s.\n", path); | 2983 debug_printf("Unable to open %s.\n", path); |
3023 g_free(buf); | 2984 g_free(buf); |
3024 g_free(first); | 2985 g_free(first); |
3025 return; | 2986 return; |
3026 } | 2987 } |
3027 | 2988 |
3028 fgets(first, 64, f); | 2989 fgets(first, 64, f); |
3029 | 2990 |
3030 /* AIM 4 buddy list */ | 2991 /* AIM 4 buddy list */ |
3031 if (!g_strncasecmp(first, "Config {", strlen("Config {"))) { | 2992 if (!g_strncasecmp(first, "Config {", strlen("Config {"))) { |
3032 debug_printf("aim 4\n"); | 2993 debug_printf("aim 4\n"); |
3033 rewind(f); | 2994 rewind(f); |
3034 translate_blt (f, buf); | 2995 translate_blt(f, buf); |
3035 debug_printf("%s\n", buf); | 2996 debug_printf("%s\n", buf); |
3036 buf2 = buf; | 2997 buf2 = buf; |
3037 buf = g_malloc(8193); | 2998 buf = g_malloc(8193); |
3038 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); | 2999 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); |
3039 g_free(buf2); | 3000 g_free(buf2); |
3040 /* AIM 3 buddy list */ | 3001 /* AIM 3 buddy list */ |
3041 } else if (strstr(first, "group") != NULL) { | 3002 } else if (strstr(first, "group") != NULL) { |
3042 debug_printf("aim 3\n"); | 3003 debug_printf("aim 3\n"); |
3043 rewind(f); | 3004 rewind(f); |
3044 translate_lst (f, buf); | 3005 translate_lst(f, buf); |
3045 debug_printf("%s\n", buf); | 3006 debug_printf("%s\n", buf); |
3046 buf2 = buf; | 3007 buf2 = buf; |
3047 buf = g_malloc(8193); | 3008 buf = g_malloc(8193); |
3048 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); | 3009 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); |
3049 g_free(buf2); | 3010 g_free(buf2); |
3050 /* GAIM buddy list - no translation */ | 3011 /* GAIM buddy list - no translation */ |
3051 } else if (first[0] == 'm') { | 3012 } else if (first[0] == 'm') { |
3052 rewind(f); | 3013 rewind(f); |
3053 len = fread(buf, 1, BUF_LONG * 2, f); | 3014 len = fread(buf, 1, BUF_LONG * 2, f); |
3054 buf[len] = '\0'; | 3015 buf[len] = '\0'; |
3055 buf2 = buf; | 3016 buf2 = buf; |
3056 buf = g_malloc(8193); | 3017 buf = g_malloc(8193); |
3057 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); | 3018 g_snprintf(buf, 8192, "toc_set_config {%s}\n", buf2); |
3058 g_free(buf2); | 3019 g_free(buf2); |
3059 /* Something else */ | 3020 /* Something else */ |
3060 } else { | 3021 } else { |
3061 if (from_dialog) { | 3022 if (from_dialog) { |
3062 debug_printf(" but I don't recognize the format\n"); | 3023 debug_printf(" but I don't recognize the format\n"); |
3063 destroy_dialog(NULL, importdialog); | 3024 destroy_dialog(NULL, importdialog); |
3064 importdialog = NULL; | 3025 importdialog = NULL; |
3065 } | 3026 } |
3066 g_free(buf); | 3027 g_free(buf); |
3067 g_free(first); | 3028 g_free(first); |
3068 fclose( f ); | 3029 fclose(f); |
3069 return; | 3030 return; |
3070 } | 3031 } |
3071 | 3032 |
3072 if (from_dialog) | 3033 if (from_dialog) |
3073 debug_printf("\n"); | 3034 debug_printf("\n"); |
3074 | 3035 |
3075 parse_toc_buddy_list(gc, buf, 1); | 3036 parse_toc_buddy_list(gc, buf, 1); |
3076 | 3037 |
3077 fclose( f ); | 3038 fclose(f); |
3078 | 3039 |
3079 if ( from_dialog ) { | 3040 if (from_dialog) { |
3080 /* save what we just did to cache */ | 3041 /* save what we just did to cache */ |
3081 | 3042 |
3082 do_export(gc); | 3043 do_export(gc); |
3083 destroy_dialog(NULL, importdialog); | 3044 destroy_dialog(NULL, importdialog); |
3084 importdialog = NULL; | 3045 importdialog = NULL; |
3085 } | 3046 } |
3086 | 3047 |
3087 g_free(buf); | 3048 g_free(buf); |
3088 g_free(first); | 3049 g_free(first); |
3089 } | 3050 } |
3090 | 3051 |
3091 void show_import_dialog() | 3052 void show_import_dialog() |
3092 { | 3053 { |
3093 char *buf = g_malloc(BUF_LEN); | 3054 char *buf = g_malloc(BUF_LEN); |
3094 if (!importdialog) { | 3055 if (!importdialog) { |
3095 importdialog = gtk_file_selection_new(_("Gaim - Import Buddy List")); | 3056 importdialog = gtk_file_selection_new(_("Gaim - Import Buddy List")); |
3096 | 3057 |
3097 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(importdialog)); | 3058 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(importdialog)); |
3098 | 3059 |
3099 g_snprintf(buf, BUF_LEN - 1, "%s/", getenv("HOME")); | 3060 g_snprintf(buf, BUF_LEN - 1, "%s/", getenv("HOME")); |
3100 | 3061 |
3101 gtk_file_selection_set_filename(GTK_FILE_SELECTION(importdialog), buf); | 3062 gtk_file_selection_set_filename(GTK_FILE_SELECTION(importdialog), buf); |
3102 gtk_signal_connect(GTK_OBJECT(importdialog), "destroy", | 3063 gtk_signal_connect(GTK_OBJECT(importdialog), "destroy", |
3103 GTK_SIGNAL_FUNC(destroy_dialog), importdialog); | 3064 GTK_SIGNAL_FUNC(destroy_dialog), importdialog); |
3104 | 3065 |
3105 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->ok_button), | 3066 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->ok_button), |
3106 "clicked", GTK_SIGNAL_FUNC(do_import), NULL); | 3067 "clicked", GTK_SIGNAL_FUNC(do_import), NULL); |
3107 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->cancel_button), | 3068 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(importdialog)->cancel_button), |
3108 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), importdialog); | 3069 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), importdialog); |
3109 | 3070 |
3110 | 3071 |
3111 } | 3072 } |
3112 | 3073 |
3113 g_free(buf); | 3074 g_free(buf); |
3114 gtk_widget_show(importdialog); | 3075 gtk_widget_show(importdialog); |
3115 gdk_window_raise(importdialog->window); | 3076 gdk_window_raise(importdialog->window); |
3116 } | 3077 } |
3117 | 3078 |
3118 | 3079 |
3119 /*------------------------------------------------------------------------*/ | 3080 /*------------------------------------------------------------------------*/ |
3120 /* The dialog for new away messages */ | 3081 /* The dialog for new away messages */ |
3123 static struct away_message *save_away_message(struct create_away *ca) | 3084 static struct away_message *save_away_message(struct create_away *ca) |
3124 { | 3085 { |
3125 struct away_message *am; | 3086 struct away_message *am; |
3126 guint text_len; | 3087 guint text_len; |
3127 gchar *away_message; | 3088 gchar *away_message; |
3128 | 3089 |
3129 if (!ca->mess) | 3090 if (!ca->mess) |
3130 am = g_new0(struct away_message, 1); | 3091 am = g_new0(struct away_message, 1); |
3131 else | 3092 else |
3132 am = ca->mess; | 3093 am = ca->mess; |
3133 | 3094 |
3141 if (!ca->mess) { | 3102 if (!ca->mess) { |
3142 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); | 3103 away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list); |
3143 } | 3104 } |
3144 | 3105 |
3145 save_prefs(); | 3106 save_prefs(); |
3146 do_away_menu(); | 3107 do_away_menu(); |
3147 if (prefs_away_list != NULL) | 3108 if (prefs_away_list != NULL) |
3148 gtk_list_select_item(GTK_LIST(prefs_away_list), g_slist_index(away_messages, am)); | 3109 gtk_list_select_item(GTK_LIST(prefs_away_list), g_slist_index(away_messages, am)); |
3149 | 3110 |
3150 return am; | 3111 return am; |
3151 } | 3112 } |
3152 | 3113 |
3153 int check_away_mess(struct create_away *ca, int type) | 3114 int check_away_mess(struct create_away *ca, int type) |
3154 { | 3115 { |
3155 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) | 3116 if ((strlen(gtk_entry_get_text(GTK_ENTRY(ca->entry))) == 0) && (type == 1)) { |
3156 { | |
3157 /* We shouldn't allow a blank title */ | 3117 /* We shouldn't allow a blank title */ |
3158 do_error_dialog(_("You cannot create an away message with a blank title"), _("Gaim - Error")); | 3118 do_error_dialog(_("You cannot create an away message with a blank title"), |
3119 _("Gaim - Error")); | |
3159 return 0; | 3120 return 0; |
3160 } | 3121 } |
3161 | 3122 |
3162 if ((gtk_text_get_length(GTK_TEXT(ca->text)) == 0) && (type <= 1)) | 3123 if ((gtk_text_get_length(GTK_TEXT(ca->text)) == 0) && (type <= 1)) { |
3163 { | |
3164 /* We shouldn't allow a blank message */ | 3124 /* We shouldn't allow a blank message */ |
3165 do_error_dialog(_("You cannot create an empty away message"), _("Gaim - Error")); | 3125 do_error_dialog(_("You cannot create an empty away message"), _("Gaim - Error")); |
3166 return 0; | 3126 return 0; |
3167 } | 3127 } |
3168 | 3128 |
3182 void use_away_mess(GtkWidget *widget, struct create_away *ca) | 3142 void use_away_mess(GtkWidget *widget, struct create_away *ca) |
3183 { | 3143 { |
3184 static struct away_message am; | 3144 static struct away_message am; |
3185 guint text_len; | 3145 guint text_len; |
3186 gchar *away_message; | 3146 gchar *away_message; |
3187 | 3147 |
3188 if (!check_away_mess(ca, 0)) | 3148 if (!check_away_mess(ca, 0)) |
3189 return; | 3149 return; |
3190 | 3150 |
3191 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); | 3151 g_snprintf(am.name, sizeof(am.name), "%s", gtk_entry_get_text(GTK_ENTRY(ca->entry))); |
3192 text_len = gtk_text_get_length(GTK_TEXT(ca->text)); | 3152 text_len = gtk_text_get_length(GTK_TEXT(ca->text)); |
3193 if (text_len < 0) return; | 3153 if (text_len < 0) |
3154 return; | |
3194 away_message = gtk_editable_get_chars(GTK_EDITABLE(ca->text), 0, text_len); | 3155 away_message = gtk_editable_get_chars(GTK_EDITABLE(ca->text), 0, text_len); |
3195 | 3156 |
3196 g_snprintf(am.message, sizeof(am.message), "%s", away_message); | 3157 g_snprintf(am.message, sizeof(am.message), "%s", away_message); |
3197 g_free(away_message); | 3158 g_free(away_message); |
3198 | 3159 |
3208 return; | 3169 return; |
3209 do_away_message(NULL, save_away_message(ca)); | 3170 do_away_message(NULL, save_away_message(ca)); |
3210 destroy_dialog(NULL, ca->window); | 3171 destroy_dialog(NULL, ca->window); |
3211 g_free(ca); | 3172 g_free(ca); |
3212 } | 3173 } |
3213 | 3174 |
3214 void create_away_mess(GtkWidget *widget, void *dummy) | 3175 void create_away_mess(GtkWidget *widget, void *dummy) |
3215 { | 3176 { |
3216 GtkWidget *hbox; | 3177 GtkWidget *hbox; |
3217 GtkWidget *titlebox; | 3178 GtkWidget *titlebox; |
3218 GtkWidget *tbox; | 3179 GtkWidget *tbox; |
3220 GtkWidget *label; | 3181 GtkWidget *label; |
3221 GtkWidget *frame; | 3182 GtkWidget *frame; |
3222 GtkWidget *fbox; | 3183 GtkWidget *fbox; |
3223 GtkWidget *button; | 3184 GtkWidget *button; |
3224 | 3185 |
3225 struct create_away *ca = g_new0(struct create_away, 1); | 3186 struct create_away *ca = g_new0(struct create_away, 1); |
3226 | 3187 |
3227 /* Set up window */ | 3188 /* Set up window */ |
3228 ca->window = gtk_window_new(GTK_WINDOW_DIALOG); | 3189 ca->window = gtk_window_new(GTK_WINDOW_DIALOG); |
3229 gtk_widget_set_usize(ca->window, -1, 250); | 3190 gtk_widget_set_usize(ca->window, -1, 250); |
3230 gtk_container_border_width(GTK_CONTAINER(ca->window), 5); | 3191 gtk_container_border_width(GTK_CONTAINER(ca->window), 5); |
3231 gtk_window_set_wmclass(GTK_WINDOW(ca->window), "away_mess", "Gaim"); | 3192 gtk_window_set_wmclass(GTK_WINDOW(ca->window), "away_mess", "Gaim"); |
3232 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); | 3193 gtk_window_set_title(GTK_WINDOW(ca->window), _("Gaim - New away message")); |
3233 gtk_signal_connect(GTK_OBJECT(ca->window),"delete_event", | 3194 gtk_signal_connect(GTK_OBJECT(ca->window), "delete_event", |
3234 GTK_SIGNAL_FUNC(destroy_dialog), ca->window); | 3195 GTK_SIGNAL_FUNC(destroy_dialog), ca->window); |
3235 gtk_widget_realize(ca->window); | 3196 gtk_widget_realize(ca->window); |
3236 aol_icon(ca->window->window); | 3197 aol_icon(ca->window->window); |
3237 | 3198 |
3238 tbox = gtk_vbox_new(FALSE, 5); | 3199 tbox = gtk_vbox_new(FALSE, 5); |
3239 gtk_container_add(GTK_CONTAINER(ca->window), tbox); | 3200 gtk_container_add(GTK_CONTAINER(ca->window), tbox); |
3261 gtk_widget_grab_focus(ca->entry); | 3222 gtk_widget_grab_focus(ca->entry); |
3262 gtk_widget_show(ca->entry); | 3223 gtk_widget_show(ca->entry); |
3263 | 3224 |
3264 sw = gtk_scrolled_window_new(NULL, NULL); | 3225 sw = gtk_scrolled_window_new(NULL, NULL); |
3265 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), | 3226 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
3266 GTK_POLICY_AUTOMATIC, | 3227 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
3267 GTK_POLICY_AUTOMATIC); | |
3268 gtk_box_pack_start(GTK_BOX(fbox), sw, TRUE, TRUE, 0); | 3228 gtk_box_pack_start(GTK_BOX(fbox), sw, TRUE, TRUE, 0); |
3269 gtk_widget_show(sw); | 3229 gtk_widget_show(sw); |
3270 | 3230 |
3271 ca->text = gtk_text_new(NULL, NULL); | 3231 ca->text = gtk_text_new(NULL, NULL); |
3272 gtk_text_set_word_wrap(GTK_TEXT(ca->text), TRUE); | 3232 gtk_text_set_word_wrap(GTK_TEXT(ca->text), TRUE); |
3278 GtkWidget *item = GTK_LIST(prefs_away_list)->selection->data; | 3238 GtkWidget *item = GTK_LIST(prefs_away_list)->selection->data; |
3279 struct away_message *amt = gtk_object_get_user_data(GTK_OBJECT(item)); | 3239 struct away_message *amt = gtk_object_get_user_data(GTK_OBJECT(item)); |
3280 int pos = 0; | 3240 int pos = 0; |
3281 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); | 3241 gtk_entry_set_text(GTK_ENTRY(ca->entry), amt->name); |
3282 gtk_editable_insert_text(GTK_EDITABLE(ca->text), amt->message, | 3242 gtk_editable_insert_text(GTK_EDITABLE(ca->text), amt->message, |
3283 strlen(amt->message), &pos); | 3243 strlen(amt->message), &pos); |
3284 ca->mess = amt; | 3244 ca->mess = amt; |
3285 } | 3245 } |
3286 | 3246 |
3287 hbox = gtk_hbox_new(FALSE, 5); | 3247 hbox = gtk_hbox_new(FALSE, 5); |
3288 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); | 3248 gtk_box_pack_start(GTK_BOX(tbox), hbox, FALSE, FALSE, 0); |
3289 gtk_widget_show(hbox); | 3249 gtk_widget_show(hbox); |
3290 | 3250 |
3291 button = picture_button(ca->window, _("Cancel"), cancel_xpm); | 3251 button = picture_button(ca->window, _("Cancel"), cancel_xpm); |
3292 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), ca->window); | 3252 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), ca->window); |
3293 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 3253 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
3294 | 3254 |
3295 button = picture_button(ca->window, _("Use"), gnome_preferences_xpm); | 3255 button = picture_button(ca->window, _("Use"), gnome_preferences_xpm); |
3296 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(use_away_mess), ca); | 3256 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(use_away_mess), ca); |
3297 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 3257 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
3298 | 3258 |
3299 button = picture_button(ca->window, _("Save & Use"), add_xpm); | 3259 button = picture_button(ca->window, _("Save & Use"), add_xpm); |
3300 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(su_away_mess), ca); | 3260 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(su_away_mess), ca); |
3301 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 3261 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
3302 | 3262 |
3303 button = picture_button(ca->window, _("Save"), ok_xpm); | 3263 button = picture_button(ca->window, _("Save"), ok_xpm); |
3304 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(save_away_mess), ca); | 3264 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(save_away_mess), ca); |
3305 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); | 3265 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
3306 | 3266 |
3307 gtk_widget_show(ca->window); | 3267 gtk_widget_show(ca->window); |
3308 } | 3268 } |
3309 | 3269 |
3310 /* smiley dialog */ | 3270 /* smiley dialog */ |
3311 | 3271 |
3312 void close_smiley_dialog(GtkWidget *widget, struct conversation *c) | 3272 void close_smiley_dialog(GtkWidget *widget, struct conversation *c) |
3313 { | 3273 { |
3314 if (c->smiley) | 3274 if (c->smiley) { |
3315 { | |
3316 set_state_lock(1); | 3275 set_state_lock(1); |
3317 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); | 3276 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(c->smiley), FALSE); |
3318 set_state_lock(0); | 3277 set_state_lock(0); |
3319 } | 3278 } |
3320 dialogwindows = g_list_remove(dialogwindows, c->smiley_dialog); | 3279 dialogwindows = g_list_remove(dialogwindows, c->smiley_dialog); |
3321 gtk_widget_destroy(c->smiley_dialog); | 3280 gtk_widget_destroy(c->smiley_dialog); |
3322 c->smiley_dialog = NULL; | 3281 c->smiley_dialog = NULL; |
3323 } | 3282 } |
3324 | 3283 |
3325 void set_smiley_array(GtkWidget *widget, int smiley_type) | 3284 void set_smiley_array(GtkWidget *widget, int smiley_type) |
3326 { | 3285 { |
3327 int i; | 3286 int i; |
3328 | 3287 |
3329 for (i = 0; i < FACE_TOTAL; i++) | 3288 for (i = 0; i < FACE_TOTAL; i++) |
3330 smiley_array[i] = 0; | 3289 smiley_array[i] = 0; |
3331 | 3290 |
3332 smiley_array[smiley_type] = 1; | 3291 smiley_array[smiley_type] = 1; |
3333 | 3292 |
3334 return; | 3293 return; |
3335 } | 3294 } |
3336 | 3295 |
3337 void insert_smiley_text(GtkWidget *widget, struct conversation *c) | 3296 void insert_smiley_text(GtkWidget *widget, struct conversation *c) |
3338 { | 3297 { |
3339 char *smiley_text; | 3298 char *smiley_text; |
3340 int i; | 3299 int i; |
3341 | 3300 |
3342 for (i = 0; i < FACE_TOTAL; i++) | 3301 for (i = 0; i < FACE_TOTAL; i++) |
3343 if (smiley_array[i] == 1) | 3302 if (smiley_array[i] == 1) |
3344 break; | 3303 break; |
3345 | 3304 |
3346 switch (i) | 3305 switch (i) { |
3347 { | 3306 case (FACE_ANGEL): |
3348 case (FACE_ANGEL): smiley_text = g_strndup("O:-)", strlen("O:-)")); break; | 3307 smiley_text = g_strndup("O:-)", strlen("O:-)")); |
3349 case (FACE_BIGSMILE): smiley_text = g_strndup(":-D", strlen(":-D")); break; | 3308 break; |
3350 case (FACE_BURP): smiley_text = g_strndup(":-!", strlen(":-!")); break; | 3309 case (FACE_BIGSMILE): |
3351 case (FACE_CROSSEDLIPS): smiley_text = g_strndup(":-X", strlen(":-X")); break; | 3310 smiley_text = g_strndup(":-D", strlen(":-D")); |
3352 case (FACE_CRY): smiley_text = g_strndup(":'(", strlen(":'(")); break; | 3311 break; |
3353 case (FACE_EMBARRASSED): smiley_text = g_strndup(":-[", strlen(":-[")); break; | 3312 case (FACE_BURP): |
3354 case (FACE_KISS): smiley_text = g_strndup(":-*", strlen(":-*")); break; | 3313 smiley_text = g_strndup(":-!", strlen(":-!")); |
3355 case (FACE_MONEYMOUTH): smiley_text = g_strndup(":-$", strlen(":-$")); break; | 3314 break; |
3356 case (FACE_SAD): smiley_text = g_strndup(":-(", strlen(":-(")); break; | 3315 case (FACE_CROSSEDLIPS): |
3357 case (FACE_SCREAM): smiley_text = g_strndup("=-O", strlen("=-O")); break; | 3316 smiley_text = g_strndup(":-X", strlen(":-X")); |
3358 case (FACE_SMILE): smiley_text = g_strndup(":-)", strlen(":-)")); break; | 3317 break; |
3359 case (FACE_SMILE8): smiley_text = g_strndup("8-)", strlen("8-)")); break; | 3318 case (FACE_CRY): |
3360 case (FACE_THINK): smiley_text = g_strndup(":-/", strlen(":-/")); break; | 3319 smiley_text = g_strndup(":'(", strlen(":'(")); |
3361 case (FACE_TONGUE): smiley_text = g_strndup(":-P", strlen(":-p")); break; | 3320 break; |
3362 case (FACE_WINK): smiley_text = g_strndup(";-)", strlen(";-)")); break; | 3321 case (FACE_EMBARRASSED): |
3363 case (FACE_YELL): smiley_text = g_strndup(">:o", strlen(">:o")); break; | 3322 smiley_text = g_strndup(":-[", strlen(":-[")); |
3364 default: smiley_text = g_strndup(":-)", strlen(":-)")); break; | 3323 break; |
3365 } | 3324 case (FACE_KISS): |
3366 | 3325 smiley_text = g_strndup(":-*", strlen(":-*")); |
3326 break; | |
3327 case (FACE_MONEYMOUTH): | |
3328 smiley_text = g_strndup(":-$", strlen(":-$")); | |
3329 break; | |
3330 case (FACE_SAD): | |
3331 smiley_text = g_strndup(":-(", strlen(":-(")); | |
3332 break; | |
3333 case (FACE_SCREAM): | |
3334 smiley_text = g_strndup("=-O", strlen("=-O")); | |
3335 break; | |
3336 case (FACE_SMILE): | |
3337 smiley_text = g_strndup(":-)", strlen(":-)")); | |
3338 break; | |
3339 case (FACE_SMILE8): | |
3340 smiley_text = g_strndup("8-)", strlen("8-)")); | |
3341 break; | |
3342 case (FACE_THINK): | |
3343 smiley_text = g_strndup(":-/", strlen(":-/")); | |
3344 break; | |
3345 case (FACE_TONGUE): | |
3346 smiley_text = g_strndup(":-P", strlen(":-p")); | |
3347 break; | |
3348 case (FACE_WINK): | |
3349 smiley_text = g_strndup(";-)", strlen(";-)")); | |
3350 break; | |
3351 case (FACE_YELL): | |
3352 smiley_text = g_strndup(">:o", strlen(">:o")); | |
3353 break; | |
3354 default: | |
3355 smiley_text = g_strndup(":-)", strlen(":-)")); | |
3356 break; | |
3357 } | |
3358 | |
3367 /* surround(c->entry, smiley_text, ""); */ | 3359 /* surround(c->entry, smiley_text, ""); */ |
3368 | 3360 |
3369 if (GTK_EDITABLE(c->entry)->has_selection) { | 3361 if (GTK_EDITABLE(c->entry)->has_selection) { |
3370 int finish = GTK_EDITABLE(c->entry)->selection_end_pos; | 3362 int finish = GTK_EDITABLE(c->entry)->selection_end_pos; |
3371 gtk_editable_insert_text(GTK_EDITABLE(c->entry), | 3363 gtk_editable_insert_text(GTK_EDITABLE(c->entry), |
3372 smiley_text, strlen(smiley_text), &finish); | 3364 smiley_text, strlen(smiley_text), &finish); |
3373 } else { | 3365 } else { |
3374 int pos = GTK_EDITABLE(c->entry)->current_pos; | 3366 int pos = GTK_EDITABLE(c->entry)->current_pos; |
3375 gtk_editable_insert_text(GTK_EDITABLE(c->entry), | 3367 gtk_editable_insert_text(GTK_EDITABLE(c->entry), smiley_text, strlen(smiley_text), &pos); |
3376 smiley_text, strlen(smiley_text), &pos); | |
3377 } | 3368 } |
3378 | 3369 |
3379 g_free(smiley_text); | 3370 g_free(smiley_text); |
3380 | 3371 |
3381 close_smiley_dialog(NULL, c); | 3372 close_smiley_dialog(NULL, c); |
3382 | 3373 |
3383 return; | 3374 return; |
3384 } | 3375 } |
3385 | 3376 |
3386 static void toolbar_add_smiley(struct conversation *c, GtkWidget *bar, char **xpm, GtkWidget *win, int face) | 3377 static void toolbar_add_smiley(struct conversation *c, GtkWidget *bar, char **xpm, GtkWidget *win, |
3378 int face) | |
3387 { | 3379 { |
3388 GtkWidget *tpm; | 3380 GtkWidget *tpm; |
3389 GdkBitmap *mask; | 3381 GdkBitmap *mask; |
3390 GdkPixmap *dpm; | 3382 GdkPixmap *dpm; |
3391 GtkWidget *button; | 3383 GtkWidget *button; |
3393 dpm = gdk_pixmap_create_from_xpm_d(win->window, &mask, &win->style->white, xpm); | 3385 dpm = gdk_pixmap_create_from_xpm_d(win->window, &mask, &win->style->white, xpm); |
3394 tpm = gtk_pixmap_new(dpm, mask); | 3386 tpm = gtk_pixmap_new(dpm, mask); |
3395 gtk_widget_show(tpm); | 3387 gtk_widget_show(tpm); |
3396 gdk_pixmap_unref(dpm); | 3388 gdk_pixmap_unref(dpm); |
3397 gdk_bitmap_unref(mask); | 3389 gdk_bitmap_unref(mask); |
3398 button = gtk_toolbar_append_element(GTK_TOOLBAR(bar), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, NULL, NULL, tpm, GTK_SIGNAL_FUNC(set_smiley_array), (int *)face); | 3390 button = |
3391 gtk_toolbar_append_element(GTK_TOOLBAR(bar), GTK_TOOLBAR_CHILD_BUTTON, NULL, NULL, NULL, | |
3392 NULL, tpm, GTK_SIGNAL_FUNC(set_smiley_array), (int *)face); | |
3399 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(insert_smiley_text), c); | 3393 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(insert_smiley_text), c); |
3400 | 3394 |
3401 /* these look really weird with borders */ | 3395 /* these look really weird with borders */ |
3402 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); | 3396 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); |
3403 } | 3397 } |
3404 | 3398 |
3405 void show_smiley_dialog(struct conversation *c, GtkWidget *widget) | 3399 void show_smiley_dialog(struct conversation *c, GtkWidget *widget) |
3406 { | 3400 { |
3407 GtkWidget *dialog; | 3401 GtkWidget *dialog; |
3408 GtkWidget *vbox, *smiley_box_1, *smiley_box_2, *smiley_box_3, *smiley_box_4; | 3402 GtkWidget *vbox, *smiley_box_1, *smiley_box_2, *smiley_box_3, *smiley_box_4; |
3409 GtkWidget *win; | 3403 GtkWidget *win; |
3411 | 3405 |
3412 if (c->smiley_dialog) | 3406 if (c->smiley_dialog) |
3413 return; | 3407 return; |
3414 | 3408 |
3415 win = c->window; | 3409 win = c->window; |
3416 | 3410 |
3417 dialog = gtk_window_new(GTK_WINDOW_DIALOG); | 3411 dialog = gtk_window_new(GTK_WINDOW_DIALOG); |
3418 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE); | 3412 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE); |
3419 gtk_window_set_wmclass(GTK_WINDOW(dialog), "smiley_dialog", "Gaim"); | 3413 gtk_window_set_wmclass(GTK_WINDOW(dialog), "smiley_dialog", "Gaim"); |
3420 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); | 3414 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); |
3421 | 3415 |
3461 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); | 3455 gtk_container_set_border_width(GTK_CONTAINER(dialog), 5); |
3462 | 3456 |
3463 /* connect signals */ | 3457 /* connect signals */ |
3464 gtk_object_set_user_data(GTK_OBJECT(dialog), "smiley dialog"); | 3458 gtk_object_set_user_data(GTK_OBJECT(dialog), "smiley dialog"); |
3465 gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); | 3459 gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", GTK_SIGNAL_FUNC(delete_event_dialog), c); |
3466 | 3460 |
3467 /* show everything */ | 3461 /* show everything */ |
3468 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); | 3462 gtk_window_set_title(GTK_WINDOW(dialog), _("Smile!")); |
3469 gtk_widget_show_all(dialog); | 3463 gtk_widget_show_all(dialog); |
3470 | 3464 |
3471 c->smiley_dialog = dialog; | 3465 c->smiley_dialog = dialog; |
3472 | 3466 |
3473 return; | 3467 return; |
3474 } | 3468 } |
3475 | 3469 |
3476 static void do_alias_bud(GtkWidget *w, struct buddy *b) | 3470 static void do_alias_bud(GtkWidget *w, struct buddy *b) |
3477 { | 3471 { |
3488 GtkWidget *vbox; | 3482 GtkWidget *vbox; |
3489 GtkWidget *bbox; | 3483 GtkWidget *bbox; |
3490 GtkWidget *cancel; | 3484 GtkWidget *cancel; |
3491 static GtkWidget *add = NULL; | 3485 static GtkWidget *add = NULL; |
3492 GtkWidget *label; | 3486 GtkWidget *label; |
3493 GtkWidget *topbox; | 3487 GtkWidget *topbox; |
3494 static int a, c; | 3488 static int a, c; |
3495 | 3489 |
3496 if (aliasdlg) | 3490 if (aliasdlg) |
3497 gtk_widget_destroy(aliasdlg); | 3491 gtk_widget_destroy(aliasdlg); |
3498 | 3492 |
3499 aliasdlg = gtk_window_new(GTK_WINDOW_DIALOG); | 3493 aliasdlg = gtk_window_new(GTK_WINDOW_DIALOG); |
3500 gtk_window_set_policy(GTK_WINDOW(aliasdlg), FALSE, FALSE, TRUE); | 3494 gtk_window_set_policy(GTK_WINDOW(aliasdlg), FALSE, FALSE, TRUE); |
3501 gtk_window_set_wmclass(GTK_WINDOW(aliasdlg), "alias_dialog", "Gaim"); | 3495 gtk_window_set_wmclass(GTK_WINDOW(aliasdlg), "alias_dialog", "Gaim"); |
3502 gtk_widget_realize(aliasdlg); | 3496 gtk_widget_realize(aliasdlg); |
3503 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); | 3497 dialogwindows = g_list_prepend(dialogwindows, aliasdlg); |
3504 | 3498 |
3505 bbox = gtk_hbox_new(TRUE, 10); | 3499 bbox = gtk_hbox_new(TRUE, 10); |
3506 topbox = gtk_hbox_new(FALSE, 5); | 3500 topbox = gtk_hbox_new(FALSE, 5); |
3507 vbox = gtk_vbox_new(FALSE, 5); | 3501 vbox = gtk_vbox_new(FALSE, 5); |
3508 | 3502 |
3509 aliasentry = gtk_entry_new(); | 3503 aliasentry = gtk_entry_new(); |
3510 aliasname = gtk_entry_new(); | 3504 aliasname = gtk_entry_new(); |
3511 /* Put the buttons in the box */ | 3505 /* Put the buttons in the box */ |
3512 | 3506 |
3513 add = picture_button(aliasdlg, _("Alias"), add_xpm); | 3507 add = picture_button(aliasdlg, _("Alias"), add_xpm); |
3514 | 3508 |
3515 cancel = picture_button(aliasdlg, _("Cancel"), cancel_xpm); | 3509 cancel = picture_button(aliasdlg, _("Cancel"), cancel_xpm); |
3516 | 3510 |
3517 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); | 3511 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); |
3518 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | 3512 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); |
3519 | 3513 |
3520 frame = gtk_frame_new(NULL); | 3514 frame = gtk_frame_new(NULL); |
3521 gtk_frame_set_label(GTK_FRAME(frame), _("Alias Buddy")); | 3515 gtk_frame_set_label(GTK_FRAME(frame), _("Alias Buddy")); |
3522 | 3516 |
3523 label = gtk_label_new(_("Buddy")); | 3517 label = gtk_label_new(_("Buddy")); |
3524 gtk_widget_show(label); | 3518 gtk_widget_show(label); |
3525 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | 3519 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
3526 gtk_box_pack_start(GTK_BOX(topbox), aliasentry, FALSE, FALSE, 5); | 3520 gtk_box_pack_start(GTK_BOX(topbox), aliasentry, FALSE, FALSE, 5); |
3527 gtk_entry_set_editable(GTK_ENTRY(aliasentry), FALSE); | 3521 gtk_entry_set_editable(GTK_ENTRY(aliasentry), FALSE); |
3528 label = gtk_label_new(_("Alias")); | 3522 label = gtk_label_new(_("Alias")); |
3529 gtk_widget_show(label); | 3523 gtk_widget_show(label); |
3530 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | 3524 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); |
3531 gtk_box_pack_start(GTK_BOX(topbox), aliasname, FALSE, FALSE, 5); | 3525 gtk_box_pack_start(GTK_BOX(topbox), aliasname, FALSE, FALSE, 5); |
3532 | 3526 |
3533 gtk_entry_set_text(GTK_ENTRY(aliasentry), b->name); | 3527 gtk_entry_set_text(GTK_ENTRY(aliasentry), b->name); |
3534 gtk_entry_set_text(GTK_ENTRY(aliasname), b->show); | 3528 gtk_entry_set_text(GTK_ENTRY(aliasname), b->show); |
3535 | 3529 |
3536 /* And the boxes in the box */ | 3530 /* And the boxes in the box */ |
3537 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | 3531 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); |
3538 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); | 3532 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); |
3539 | 3533 |
3540 /* Handle closes right */ | 3534 /* Handle closes right */ |
3541 gtk_signal_connect(GTK_OBJECT(aliasdlg), "destroy", | 3535 gtk_signal_connect(GTK_OBJECT(aliasdlg), "destroy", GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); |
3542 GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); | 3536 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); |
3543 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 3537 a = gtk_signal_connect(GTK_OBJECT(add), "clicked", GTK_SIGNAL_FUNC(do_alias_bud), b); |
3544 GTK_SIGNAL_FUNC(destroy_dialog), aliasdlg); | 3538 c = gtk_signal_connect(GTK_OBJECT(aliasname), "activate", GTK_SIGNAL_FUNC(do_alias_bud), b); |
3545 a = gtk_signal_connect(GTK_OBJECT(add), "clicked", | 3539 /* Finish up */ |
3546 GTK_SIGNAL_FUNC(do_alias_bud), b); | 3540 gtk_widget_show(add); |
3547 c = gtk_signal_connect(GTK_OBJECT(aliasname), "activate", | 3541 gtk_widget_show(cancel); |
3548 GTK_SIGNAL_FUNC(do_alias_bud), b); | 3542 gtk_widget_show(aliasentry); |
3549 /* Finish up */ | 3543 gtk_widget_show(aliasname); |
3550 gtk_widget_show(add); | 3544 gtk_widget_show(topbox); |
3551 gtk_widget_show(cancel); | 3545 gtk_widget_show(bbox); |
3552 gtk_widget_show(aliasentry); | 3546 gtk_widget_show(vbox); |
3553 gtk_widget_show(aliasname); | |
3554 gtk_widget_show(topbox); | |
3555 gtk_widget_show(bbox); | |
3556 gtk_widget_show(vbox); | |
3557 gtk_widget_show(frame); | 3547 gtk_widget_show(frame); |
3558 gtk_window_set_title(GTK_WINDOW(aliasdlg), _("Gaim - Alias Buddy")); | 3548 gtk_window_set_title(GTK_WINDOW(aliasdlg), _("Gaim - Alias Buddy")); |
3559 gtk_window_set_focus(GTK_WINDOW(aliasdlg), aliasentry); | 3549 gtk_window_set_focus(GTK_WINDOW(aliasdlg), aliasentry); |
3560 gtk_container_add(GTK_CONTAINER(frame), vbox); | 3550 gtk_container_add(GTK_CONTAINER(frame), vbox); |
3561 gtk_container_add(GTK_CONTAINER(aliasdlg), frame); | 3551 gtk_container_add(GTK_CONTAINER(aliasdlg), frame); |
3562 gtk_container_set_border_width(GTK_CONTAINER(aliasdlg), 5); | 3552 gtk_container_set_border_width(GTK_CONTAINER(aliasdlg), 5); |
3563 gtk_widget_realize(aliasdlg); | 3553 gtk_widget_realize(aliasdlg); |
3564 aol_icon(aliasdlg->window); | 3554 aol_icon(aliasdlg->window); |
3565 | 3555 |
3566 gtk_widget_show(aliasdlg); | 3556 gtk_widget_show(aliasdlg); |
3567 } | 3557 } |
3568 | 3558 |
3569 | 3559 |
3570 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) | 3560 static gboolean dont_destroy(gpointer a, gpointer b, gpointer c) |
3571 { | 3561 { |
3572 return TRUE; | 3562 return TRUE; |
3573 } | 3563 } |
3574 | 3564 |
3575 static void do_save_log(GtkWidget *w, GtkWidget *filesel) | 3565 static void do_save_log(GtkWidget *w, GtkWidget *filesel) |
3584 char *tmp; | 3574 char *tmp; |
3585 | 3575 |
3586 name = gtk_object_get_user_data(GTK_OBJECT(filesel)); | 3576 name = gtk_object_get_user_data(GTK_OBJECT(filesel)); |
3587 tmp = gaim_user_dir(); | 3577 tmp = gaim_user_dir(); |
3588 g_snprintf(filename, PATHSIZE, "%s/logs/%s%s", tmp, | 3578 g_snprintf(filename, PATHSIZE, "%s/logs/%s%s", tmp, |
3589 name ? normalize(name) : "system", | 3579 name ? normalize(name) : "system", name ? ".log" : ""); |
3590 name ? ".log" : ""); | |
3591 g_free(tmp); | 3580 g_free(tmp); |
3592 | 3581 |
3593 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); | 3582 file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(filesel)); |
3594 strncpy(path, file, PATHSIZE-1); | 3583 strncpy(path, file, PATHSIZE - 1); |
3595 if (file_is_dir(path, filesel)) | 3584 if (file_is_dir(path, filesel)) |
3596 return; | 3585 return; |
3597 | 3586 |
3598 if ((fp_new = fopen(path, "w")) == NULL) { | 3587 if ((fp_new = fopen(path, "w")) == NULL) { |
3599 g_snprintf(error, BUF_LONG, | 3588 g_snprintf(error, BUF_LONG, |
3600 "Can't open file %s for writing - %s", | 3589 "Can't open file %s for writing - %s", path, strerror(errno)); |
3601 path, strerror(errno)); | |
3602 do_error_dialog(error, "Error"); | 3590 do_error_dialog(error, "Error"); |
3603 return; | 3591 return; |
3604 } | 3592 } |
3605 | 3593 |
3606 if ((fp_old = fopen(filename, "r")) == NULL) { | 3594 if ((fp_old = fopen(filename, "r")) == NULL) { |
3607 g_snprintf(error, BUF_LONG, | 3595 g_snprintf(error, BUF_LONG, |
3608 "Can't open file %s for reading - %s", | 3596 "Can't open file %s for reading - %s", filename, strerror(errno)); |
3609 filename, strerror(errno)); | |
3610 do_error_dialog(error, "Error"); | 3597 do_error_dialog(error, "Error"); |
3611 fclose(fp_new); | 3598 fclose(fp_new); |
3612 return; | 3599 return; |
3613 } | 3600 } |
3614 | 3601 |
3621 gtk_widget_destroy(filesel); | 3608 gtk_widget_destroy(filesel); |
3622 | 3609 |
3623 return; | 3610 return; |
3624 } | 3611 } |
3625 | 3612 |
3626 static void show_save_log(GtkWidget *w, gchar *name) | 3613 static void show_save_log(GtkWidget *w, gchar *name) |
3627 { | 3614 { |
3628 GtkWidget *filesel; | 3615 GtkWidget *filesel; |
3629 gchar buf[BUF_LEN]; | 3616 gchar buf[BUF_LEN]; |
3630 | 3617 |
3631 g_snprintf(buf, BUF_LEN - 1, "%s/%s%s", getenv("HOME"), | 3618 g_snprintf(buf, BUF_LEN - 1, "%s/%s%s", getenv("HOME"), |
3632 name ? normalize(name) : "system", | 3619 name ? normalize(name) : "system", name ? ".log" : ""); |
3633 name ? ".log" : ""); | |
3634 | 3620 |
3635 filesel = gtk_file_selection_new(_("Gaim - Save Log File")); | 3621 filesel = gtk_file_selection_new(_("Gaim - Save Log File")); |
3636 dialogwindows = g_list_prepend(dialogwindows, filesel); | 3622 dialogwindows = g_list_prepend(dialogwindows, filesel); |
3637 gtk_signal_connect(GTK_OBJECT(filesel), "delete_event", | 3623 gtk_signal_connect(GTK_OBJECT(filesel), "delete_event", |
3638 GTK_SIGNAL_FUNC(destroy_dialog), filesel); | 3624 GTK_SIGNAL_FUNC(destroy_dialog), filesel); |
3639 | 3625 |
3640 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); | 3626 gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); |
3641 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); | 3627 gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), buf); |
3642 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), | 3628 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), |
3643 "clicked", GTK_SIGNAL_FUNC(do_save_log), filesel); | 3629 "clicked", GTK_SIGNAL_FUNC(do_save_log), filesel); |
3644 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), | 3630 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), |
3645 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), | 3631 "clicked", GTK_SIGNAL_FUNC(destroy_dialog), filesel); |
3646 filesel); | |
3647 gtk_object_set_user_data(GTK_OBJECT(filesel), name); | 3632 gtk_object_set_user_data(GTK_OBJECT(filesel), name); |
3648 | 3633 |
3649 gtk_widget_realize(filesel); | 3634 gtk_widget_realize(filesel); |
3650 aol_icon(filesel->window); | 3635 aol_icon(filesel->window); |
3651 gtk_widget_show(filesel); | 3636 gtk_widget_show(filesel); |
3652 | 3637 |
3653 return; | 3638 return; |
3654 } | 3639 } |
3655 | 3640 |
3656 static void do_clear_log_file(GtkWidget *w, gchar *name) | 3641 static void do_clear_log_file(GtkWidget *w, gchar *name) |
3657 { | 3642 { |
3658 gchar buf[256]; | 3643 gchar buf[256]; |
3659 gchar filename[256]; | 3644 gchar filename[256]; |
3660 GtkWidget *window; | 3645 GtkWidget *window; |
3661 char *tmp; | 3646 char *tmp; |
3662 | 3647 |
3663 tmp = gaim_user_dir(); | 3648 tmp = gaim_user_dir(); |
3664 g_snprintf(filename, 256, "%s/logs/%s%s", tmp, | 3649 g_snprintf(filename, 256, "%s/logs/%s%s", tmp, |
3665 name ? normalize(name) : "system", | 3650 name ? normalize(name) : "system", name ? ".log" : ""); |
3666 name ? ".log" : ""); | |
3667 g_free(tmp); | 3651 g_free(tmp); |
3668 | 3652 |
3669 if ((remove(filename)) == -1) { | 3653 if ((remove(filename)) == -1) { |
3670 g_snprintf(buf, 256, _("Unable to remove file %s - %s"), | 3654 g_snprintf(buf, 256, _("Unable to remove file %s - %s"), filename, strerror(errno)); |
3671 filename, strerror(errno)); | |
3672 do_error_dialog(buf, _("Error")); | 3655 do_error_dialog(buf, _("Error")); |
3673 } | 3656 } |
3674 | 3657 |
3675 window = gtk_object_get_user_data(GTK_OBJECT(w)); | 3658 window = gtk_object_get_user_data(GTK_OBJECT(w)); |
3676 destroy_dialog(NULL, window); | 3659 destroy_dialog(NULL, window); |
3677 } | 3660 } |
3678 | 3661 |
3679 static void show_clear_log(GtkWidget *w, gchar *name) | 3662 static void show_clear_log(GtkWidget *w, gchar *name) |
3680 { | 3663 { |
3681 GtkWidget *window; | 3664 GtkWidget *window; |
3682 GtkWidget *box; | 3665 GtkWidget *box; |
3683 GtkWidget *hbox; | 3666 GtkWidget *hbox; |
3684 GtkWidget *button; | 3667 GtkWidget *button; |
3688 window = gtk_window_new(GTK_WINDOW_DIALOG); | 3671 window = gtk_window_new(GTK_WINDOW_DIALOG); |
3689 dialogwindows = g_list_prepend(dialogwindows, window); | 3672 dialogwindows = g_list_prepend(dialogwindows, window); |
3690 gtk_window_set_wmclass(GTK_WINDOW(window), "dialog", "Gaim"); | 3673 gtk_window_set_wmclass(GTK_WINDOW(window), "dialog", "Gaim"); |
3691 gtk_container_set_border_width(GTK_CONTAINER(window), 10); | 3674 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
3692 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); | 3675 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); |
3693 gtk_signal_connect(GTK_OBJECT(window), "delete_event", | 3676 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); |
3694 GTK_SIGNAL_FUNC(destroy_dialog), window); | |
3695 gtk_widget_realize(window); | 3677 gtk_widget_realize(window); |
3696 aol_icon(window->window); | 3678 aol_icon(window->window); |
3697 | 3679 |
3698 box = gtk_vbox_new(FALSE, 5); | 3680 box = gtk_vbox_new(FALSE, 5); |
3699 gtk_container_add(GTK_CONTAINER(window), box); | 3681 gtk_container_add(GTK_CONTAINER(window), box); |
3703 | 3685 |
3704 hsep = gtk_hseparator_new(); | 3686 hsep = gtk_hseparator_new(); |
3705 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0); | 3687 gtk_box_pack_start(GTK_BOX(box), hsep, FALSE, FALSE, 0); |
3706 | 3688 |
3707 hbox = gtk_hbox_new(FALSE, 0); | 3689 hbox = gtk_hbox_new(FALSE, 0); |
3708 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); | 3690 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); |
3709 gtk_widget_show(hbox); | 3691 gtk_widget_show(hbox); |
3710 | 3692 |
3711 button = picture_button(window, _("Cancel"), cancel_xpm); | 3693 button = picture_button(window, _("Cancel"), cancel_xpm); |
3712 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 3694 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); |
3713 GTK_SIGNAL_FUNC(destroy_dialog), window); | |
3714 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); | 3695 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
3715 gtk_widget_show(button); | 3696 gtk_widget_show(button); |
3716 | 3697 |
3717 button = picture_button(window, _("Okay"), ok_xpm); | 3698 button = picture_button(window, _("Okay"), ok_xpm); |
3718 gtk_object_set_user_data(GTK_OBJECT(button), | 3699 gtk_object_set_user_data(GTK_OBJECT(button), gtk_object_get_user_data(GTK_OBJECT(w))); |
3719 gtk_object_get_user_data(GTK_OBJECT(w))); | 3700 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_clear_log_file), name); |
3720 gtk_signal_connect(GTK_OBJECT(button), "clicked", | 3701 gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); |
3721 GTK_SIGNAL_FUNC(do_clear_log_file), name); | |
3722 gtk_signal_connect(GTK_OBJECT(button), "clicked", | |
3723 GTK_SIGNAL_FUNC(destroy_dialog), window); | |
3724 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); | 3702 gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); |
3725 gtk_widget_show(button); | 3703 gtk_widget_show(button); |
3726 | 3704 |
3727 gtk_widget_show_all(window); | 3705 gtk_widget_show_all(window); |
3728 | 3706 |
3729 return; | 3707 return; |
3730 } | 3708 } |
3731 | 3709 |
3732 void | 3710 void show_log(char *name) |
3733 show_log (char *name) | |
3734 { | 3711 { |
3735 gchar filename[256]; | 3712 gchar filename[256]; |
3736 gchar buf[BUF_LONG]; | 3713 gchar buf[BUF_LONG]; |
3737 GString *string; | 3714 GString *string; |
3738 FILE *fp; | 3715 FILE *fp; |
3776 dialogwindows = g_list_prepend(dialogwindows, window); | 3753 dialogwindows = g_list_prepend(dialogwindows, window); |
3777 gtk_window_set_wmclass(GTK_WINDOW(window), "log", "Gaim"); | 3754 gtk_window_set_wmclass(GTK_WINDOW(window), "log", "Gaim"); |
3778 if (name) | 3755 if (name) |
3779 g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name); | 3756 g_snprintf(buf, BUF_LONG, "Gaim - Conversations with %s", name); |
3780 else | 3757 else |
3781 g_snprintf(buf, BUF_LONG, "Gaim - System Log" ); | 3758 g_snprintf(buf, BUF_LONG, "Gaim - System Log"); |
3782 gtk_window_set_title(GTK_WINDOW(window), buf); | 3759 gtk_window_set_title(GTK_WINDOW(window), buf); |
3783 gtk_container_set_border_width(GTK_CONTAINER(window), 10); | 3760 gtk_container_set_border_width(GTK_CONTAINER(window), 10); |
3784 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); | 3761 gtk_window_set_policy(GTK_WINDOW(window), TRUE, TRUE, TRUE); |
3785 block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", | 3762 block = gtk_signal_connect(GTK_OBJECT(window), "delete_event", |
3786 GTK_SIGNAL_FUNC(dont_destroy), window); | 3763 GTK_SIGNAL_FUNC(dont_destroy), window); |
3817 gtk_box_pack_end(GTK_BOX(hbox), save_button, FALSE, FALSE, 5); | 3794 gtk_box_pack_end(GTK_BOX(hbox), save_button, FALSE, FALSE, 5); |
3818 gtk_widget_set_sensitive(save_button, FALSE); | 3795 gtk_widget_set_sensitive(save_button, FALSE); |
3819 | 3796 |
3820 gtk_widget_show_all(window); | 3797 gtk_widget_show_all(window); |
3821 | 3798 |
3822 while (fgets (buf, BUF_LONG, fp)) { | 3799 while (fgets(buf, BUF_LONG, fp)) { |
3823 if (strlen (buf) >= 5 && (!strncmp (buf+strlen(buf)-5, "<BR>\n", 5))) | 3800 if (strlen(buf) >= 5 && (!strncmp(buf + strlen(buf) - 5, "<BR>\n", 5))) |
3824 /* take off the \n */ | 3801 /* take off the \n */ |
3825 buf[strlen(buf)-1] = '\0'; | 3802 buf[strlen(buf) - 1] = '\0'; |
3826 if (!name || (strlen (buf) >= 21 && strstr (buf, "---- New C"))) { | 3803 if (!name ||(strlen(buf) >= 21 && strstr(buf, "---- New C"))) { |
3827 gtk_imhtml_append_text (GTK_IMHTML(layout), string->str, options); | 3804 gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); |
3828 g_string_free (string, TRUE); | 3805 g_string_free(string, TRUE); |
3829 string = g_string_new (buf); | 3806 string = g_string_new(buf); |
3830 } else { | 3807 } else { |
3831 string = g_string_append (string, buf); | 3808 string = g_string_append(string, buf); |
3832 } | 3809 } |
3833 while (gtk_events_pending()) | 3810 while (gtk_events_pending()) |
3834 gtk_main_iteration(); | 3811 gtk_main_iteration(); |
3835 } | 3812 } |
3836 gtk_imhtml_append_text (GTK_IMHTML(layout), string->str, options); | 3813 gtk_imhtml_append_text(GTK_IMHTML(layout), string->str, options); |
3837 gtk_imhtml_append_text (GTK_IMHTML(layout), "<BR>", options); | 3814 gtk_imhtml_append_text(GTK_IMHTML(layout), "<BR>", options); |
3838 | 3815 |
3839 gtk_signal_disconnect(GTK_OBJECT(window), block); | 3816 gtk_signal_disconnect(GTK_OBJECT(window), block); |
3840 gtk_signal_connect(GTK_OBJECT(window), "delete_event", | 3817 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); |
3841 GTK_SIGNAL_FUNC(destroy_dialog), window); | 3818 gtk_signal_connect(GTK_OBJECT(close_button), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), window); |
3842 gtk_signal_connect(GTK_OBJECT(close_button), "clicked", | 3819 gtk_signal_connect(GTK_OBJECT(clear_button), "clicked", GTK_SIGNAL_FUNC(show_clear_log), name); |
3843 GTK_SIGNAL_FUNC(destroy_dialog), window); | 3820 gtk_signal_connect(GTK_OBJECT(save_button), "clicked", GTK_SIGNAL_FUNC(show_save_log), name); |
3844 gtk_signal_connect(GTK_OBJECT(clear_button), "clicked", | |
3845 GTK_SIGNAL_FUNC(show_clear_log), name); | |
3846 gtk_signal_connect(GTK_OBJECT(save_button), "clicked", | |
3847 GTK_SIGNAL_FUNC(show_save_log), name); | |
3848 gtk_widget_set_sensitive(close_button, TRUE); | 3821 gtk_widget_set_sensitive(close_button, TRUE); |
3849 gtk_widget_set_sensitive(clear_button, TRUE); | 3822 gtk_widget_set_sensitive(clear_button, TRUE); |
3850 gtk_widget_set_sensitive(save_button, TRUE); | 3823 gtk_widget_set_sensitive(save_button, TRUE); |
3851 | 3824 |
3852 fclose(fp); | 3825 fclose(fp); |
3853 g_string_free (string, TRUE); | 3826 g_string_free(string, TRUE); |
3854 | 3827 |
3855 return; | 3828 return; |
3856 } | 3829 } |
3857 | 3830 |
3858 /*------------------------------------------------------------------------*/ | 3831 /*------------------------------------------------------------------------*/ |
3900 GtkWidget *name_entry; | 3873 GtkWidget *name_entry; |
3901 GtkWidget *label; | 3874 GtkWidget *label; |
3902 | 3875 |
3903 if (!rename_dialog) { | 3876 if (!rename_dialog) { |
3904 rename_dialog = gtk_window_new(GTK_WINDOW_DIALOG); | 3877 rename_dialog = gtk_window_new(GTK_WINDOW_DIALOG); |
3905 gtk_window_set_wmclass(GTK_WINDOW(rename_dialog), "rename_dialog", | 3878 gtk_window_set_wmclass(GTK_WINDOW(rename_dialog), "rename_dialog", "Gaim"); |
3906 "Gaim"); | |
3907 gtk_window_set_policy(GTK_WINDOW(rename_dialog), FALSE, TRUE, TRUE); | 3879 gtk_window_set_policy(GTK_WINDOW(rename_dialog), FALSE, TRUE, TRUE); |
3908 gtk_window_set_title(GTK_WINDOW(rename_dialog), | 3880 gtk_window_set_title(GTK_WINDOW(rename_dialog), _("Gaim - Rename Group")); |
3909 _("Gaim - Rename Group")); | |
3910 gtk_signal_connect(GTK_OBJECT(rename_dialog), "destroy", | 3881 gtk_signal_connect(GTK_OBJECT(rename_dialog), "destroy", |
3911 GTK_SIGNAL_FUNC(destroy_dialog), rename_dialog); | 3882 GTK_SIGNAL_FUNC(destroy_dialog), rename_dialog); |
3912 gtk_widget_realize(rename_dialog); | 3883 gtk_widget_realize(rename_dialog); |
3913 aol_icon(rename_dialog->window); | 3884 aol_icon(rename_dialog->window); |
3914 | 3885 |
3966 | 3937 |
3967 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { | 3938 if (new_name && (strlen(new_name) != 0) && strcmp(new_name, b->name)) { |
3968 char *prevname = g_strdup(b->name); | 3939 char *prevname = g_strdup(b->name); |
3969 serv_remove_buddy(b->gc, b->name); | 3940 serv_remove_buddy(b->gc, b->name); |
3970 if (!strcmp(b->name, b->show)) | 3941 if (!strcmp(b->name, b->show)) |
3971 g_snprintf(b->show, sizeof(b->show), "%s", new_name); | 3942 g_snprintf(b->show, sizeof(b->show), "%s", new_name); |
3972 g_snprintf(b->name, sizeof(b->name), "%s", new_name); | 3943 g_snprintf(b->name, sizeof(b->name), "%s", new_name); |
3973 serv_add_buddy(b->gc, b->name); | 3944 serv_add_buddy(b->gc, b->name); |
3974 handle_buddy_rename(b, prevname); | 3945 handle_buddy_rename(b, prevname); |
3975 g_free(prevname); | 3946 g_free(prevname); |
3976 } | 3947 } |
3988 GtkWidget *name_entry; | 3959 GtkWidget *name_entry; |
3989 GtkWidget *label; | 3960 GtkWidget *label; |
3990 | 3961 |
3991 if (!rename_bud_dialog) { | 3962 if (!rename_bud_dialog) { |
3992 rename_bud_dialog = gtk_window_new(GTK_WINDOW_DIALOG); | 3963 rename_bud_dialog = gtk_window_new(GTK_WINDOW_DIALOG); |
3993 gtk_window_set_wmclass(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog", | 3964 gtk_window_set_wmclass(GTK_WINDOW(rename_bud_dialog), "rename_bud_dialog", "Gaim"); |
3994 "Gaim"); | |
3995 gtk_window_set_policy(GTK_WINDOW(rename_bud_dialog), FALSE, TRUE, TRUE); | 3965 gtk_window_set_policy(GTK_WINDOW(rename_bud_dialog), FALSE, TRUE, TRUE); |
3996 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), | 3966 gtk_window_set_title(GTK_WINDOW(rename_bud_dialog), _("Gaim - Rename Buddy")); |
3997 _("Gaim - Rename Buddy")); | |
3998 gtk_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", | 3967 gtk_signal_connect(GTK_OBJECT(rename_bud_dialog), "destroy", |
3999 GTK_SIGNAL_FUNC(destroy_dialog), rename_bud_dialog); | 3968 GTK_SIGNAL_FUNC(destroy_dialog), rename_bud_dialog); |
4000 gtk_widget_realize(rename_bud_dialog); | 3969 gtk_widget_realize(rename_bud_dialog); |
4001 aol_icon(rename_bud_dialog->window); | 3970 aol_icon(rename_bud_dialog->window); |
4002 | 3971 |
4038 } | 4007 } |
4039 | 4008 |
4040 gtk_widget_show_all(rename_bud_dialog); | 4009 gtk_widget_show_all(rename_bud_dialog); |
4041 } | 4010 } |
4042 | 4011 |
4043 static GtkWidget *perl_config = NULL; | 4012 static GtkWidget *perl_config = NULL; |
4044 static char *perl_last_dir = NULL; | 4013 static char *perl_last_dir = NULL; |
4045 | 4014 |
4046 static void cfdes(GtkWidget *m, gpointer n) { | 4015 static void cfdes(GtkWidget *m, gpointer n) |
4047 if (perl_config) gtk_widget_destroy(perl_config); | 4016 { |
4017 if (perl_config) | |
4018 gtk_widget_destroy(perl_config); | |
4048 perl_config = NULL; | 4019 perl_config = NULL; |
4049 } | 4020 } |
4050 | 4021 |
4051 static void do_load(GtkWidget *m, gpointer n) { | 4022 static void do_load(GtkWidget *m, gpointer n) |
4023 { | |
4052 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(perl_config)); | 4024 const char *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(perl_config)); |
4053 gchar *f = NULL; | 4025 gchar *f = NULL; |
4054 if (!file || !strlen(file)) { | 4026 if (!file || !strlen(file)) { |
4055 return; | 4027 return; |
4056 } | 4028 } |
4057 | 4029 |
4058 if (file_is_dir(file, perl_config)) { | 4030 if (file_is_dir(file, perl_config)) { |
4059 return; | 4031 return; |
4060 } | 4032 } |
4061 | 4033 |
4062 if (perl_last_dir) { | 4034 if (perl_last_dir) { |
4063 g_free(perl_last_dir); | 4035 g_free(perl_last_dir); |
4064 } | 4036 } |
4065 perl_last_dir = g_dirname(file); | 4037 perl_last_dir = g_dirname(file); |
4066 | 4038 |
4067 debug_printf("Loading perl script: %s\n", file); | 4039 debug_printf("Loading perl script: %s\n", file); |
4068 | 4040 |
4069 f = g_strdup(file); | 4041 f = g_strdup(file); |
4070 perl_load_file(f); | 4042 perl_load_file(f); |
4071 g_free(f); | 4043 g_free(f); |
4072 cfdes(perl_config, NULL); | 4044 cfdes(perl_config, NULL); |
4073 } | 4045 } |
4094 } else { | 4066 } else { |
4095 buf = g_strconcat(perl_last_dir, G_DIR_SEPARATOR_S, NULL); | 4067 buf = g_strconcat(perl_last_dir, G_DIR_SEPARATOR_S, NULL); |
4096 } | 4068 } |
4097 | 4069 |
4098 gtk_file_selection_set_filename(GTK_FILE_SELECTION(perl_config), buf); | 4070 gtk_file_selection_set_filename(GTK_FILE_SELECTION(perl_config), buf); |
4099 gtk_file_selection_complete(GTK_FILE_SELECTION(perl_config), "*.pl"); | 4071 gtk_file_selection_complete(GTK_FILE_SELECTION(perl_config), "*.pl"); |
4100 gtk_signal_connect(GTK_OBJECT(perl_config), "destroy", GTK_SIGNAL_FUNC(cfdes), | 4072 gtk_signal_connect(GTK_OBJECT(perl_config), "destroy", GTK_SIGNAL_FUNC(cfdes), perl_config); |
4101 perl_config); | |
4102 | 4073 |
4103 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->ok_button), | 4074 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->ok_button), |
4104 "clicked", GTK_SIGNAL_FUNC(do_load), NULL); | 4075 "clicked", GTK_SIGNAL_FUNC(do_load), NULL); |
4105 | 4076 |
4106 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->cancel_button), | 4077 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(perl_config)->cancel_button), |
4107 "clicked", GTK_SIGNAL_FUNC(cfdes), NULL); | 4078 "clicked", GTK_SIGNAL_FUNC(cfdes), NULL); |
4108 | 4079 |
4109 g_free(buf); | 4080 g_free(buf); |
4110 gtk_widget_show(perl_config); | 4081 gtk_widget_show(perl_config); |
4111 gdk_window_raise(perl_config->window); | 4082 gdk_window_raise(perl_config->window); |
4112 } | 4083 } |