Mercurial > pidgin
comparison src/dialogs.c @ 467:04f4ed4e34fc
[gaim-migrate @ 477]
The Warn Dialog is now prettier.
The IM dialog no longer segfaults when you click the 'OK' button. Woops!
That was my fault. It's hard to tie an event to a null widget. *giggle*
committer: Tailor Script <tailor@pidgin.im>
| author | Rob Flynn <gaim@robflynn.com> |
|---|---|
| date | Fri, 07 Jul 2000 18:39:53 +0000 |
| parents | be7cf1868b76 |
| children | 4bf9c74b9e4d |
comparison
equal
deleted
inserted
replaced
| 466:b5c2359d633e | 467:04f4ed4e34fc |
|---|---|
| 42 | 42 |
| 43 #include "pixmaps/cancel.xpm" | 43 #include "pixmaps/cancel.xpm" |
| 44 #include "pixmaps/save.xpm" | 44 #include "pixmaps/save.xpm" |
| 45 #include "pixmaps/ok.xpm" | 45 #include "pixmaps/ok.xpm" |
| 46 #include "pixmaps/add.xpm" | 46 #include "pixmaps/add.xpm" |
| 47 #include "pixmaps/warn.xpm" | |
| 47 | 48 |
| 48 #define DEFAULT_FONT_NAME "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1" | 49 #define DEFAULT_FONT_NAME "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1" |
| 49 | 50 |
| 50 char *fontface; | 51 char *fontface; |
| 51 char *fontname; | 52 char *fontname; |
| 365 GtkWidget *cancel; | 366 GtkWidget *cancel; |
| 366 GtkWidget *warn; | 367 GtkWidget *warn; |
| 367 GtkWidget *label; | 368 GtkWidget *label; |
| 368 GtkWidget *vbox; | 369 GtkWidget *vbox; |
| 369 GtkWidget *bbox; | 370 GtkWidget *bbox; |
| 371 GtkWidget *button_box; | |
| 372 GtkWidget *icon_i; | |
| 373 GdkBitmap *mask; | |
| 374 GdkPixmap *icon; | |
| 375 GtkWidget *frame; | |
| 376 GtkWidget *fbox; | |
| 370 | 377 |
| 371 struct warning *w = g_new0(struct warning, 1); | 378 struct warning *w = g_new0(struct warning, 1); |
| 372 | 379 |
| 373 char *buf = g_malloc(128); | 380 char *buf = g_malloc(128); |
| 374 w->window = gtk_window_new(GTK_WINDOW_DIALOG); | 381 w->window = gtk_window_new(GTK_WINDOW_DIALOG); |
| 375 dialogwindows = g_list_prepend(dialogwindows, w->window); | 382 gtk_window_set_policy(GTK_WINDOW(w->window), FALSE, FALSE, TRUE); |
| 383 gtk_widget_show(w->window); | |
| 384 dialogwindows = g_list_prepend(dialogwindows, w->window); | |
| 376 cancel = gtk_button_new_with_label(_("Cancel")); | 385 cancel = gtk_button_new_with_label(_("Cancel")); |
| 377 warn = gtk_button_new_with_label(_("Warn")); | 386 warn = gtk_button_new_with_label(_("Warn")); |
| 378 bbox = gtk_hbox_new(TRUE, 10); | 387 bbox = gtk_hbox_new(TRUE, 10); |
| 379 vbox = gtk_vbox_new(FALSE, 5); | 388 vbox = gtk_vbox_new(FALSE, 5); |
| 380 | 389 fbox = gtk_vbox_new(FALSE, 5); |
| 390 | |
| 391 frame = gtk_frame_new(_("Warn")); | |
| 392 | |
| 393 /* Build Warn Button */ | |
| 394 | |
| 395 warn = gtk_button_new(); | |
| 396 | |
| 397 button_box = gtk_hbox_new(FALSE, 5); | |
| 398 icon = gdk_pixmap_create_from_xpm_d ( w->window->window, &mask, NULL, warn_xpm); | |
| 399 icon_i = gtk_pixmap_new(icon, mask); | |
| 400 | |
| 401 label = gtk_label_new(_("Warn")); | |
| 402 | |
| 403 gtk_box_pack_start(GTK_BOX(button_box), icon_i, FALSE, FALSE, 2); | |
| 404 gtk_box_pack_end(GTK_BOX(button_box), label, FALSE, FALSE, 2); | |
| 405 | |
| 406 gtk_widget_show(label); | |
| 407 gtk_widget_show(icon_i); | |
| 408 | |
| 409 gtk_widget_show(button_box); | |
| 410 | |
| 411 gtk_container_add(GTK_CONTAINER(warn), button_box); | |
| 412 | |
| 413 /* End of OK Button */ | |
| 414 | |
| 415 /* Build Cancel Button */ | |
| 416 | |
| 417 cancel = gtk_button_new(); | |
| 418 | |
| 419 button_box = gtk_hbox_new(FALSE, 5); | |
| 420 icon = gdk_pixmap_create_from_xpm_d ( w->window->window, &mask, NULL, cancel_xpm); | |
| 421 | |
| 422 icon_i = gtk_pixmap_new(icon, mask); | |
| 423 | |
| 424 label = gtk_label_new(_("Cancel")); | |
| 425 | |
| 426 gtk_box_pack_start(GTK_BOX(button_box), icon_i, FALSE, FALSE, 2); | |
| 427 gtk_box_pack_end(GTK_BOX(button_box), label, FALSE, FALSE, 2); | |
| 428 | |
| 429 gtk_widget_show(label); | |
| 430 gtk_widget_show(icon_i); | |
| 431 | |
| 432 gtk_widget_show(button_box); | |
| 433 | |
| 434 gtk_container_add(GTK_CONTAINER(cancel), button_box); | |
| 435 | |
| 436 /* End of Cancel Button */ | |
| 381 /* Put the buttons in the box */ | 437 /* Put the buttons in the box */ |
| 382 gtk_box_pack_start(GTK_BOX(bbox), warn, TRUE, TRUE, 10); | 438 |
| 383 gtk_box_pack_start(GTK_BOX(bbox), cancel, TRUE, TRUE, 10); | 439 gtk_box_pack_start(GTK_BOX(bbox), warn, TRUE, TRUE, 5); |
| 440 gtk_box_pack_end(GTK_BOX(bbox), cancel, TRUE, TRUE, 5); | |
| 384 | 441 |
| 385 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); | 442 g_snprintf(buf, 127, _("Do you really want to warn %s?"), who); |
| 386 label = gtk_label_new(buf); | 443 label = gtk_label_new(buf); |
| 387 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); | 444 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
| 388 gtk_widget_show(label); | 445 gtk_widget_show(label); |
| 389 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); | 446 w->anon = gtk_check_button_new_with_label(_("Warn anonymously?")); |
| 390 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 0); | 447 gtk_box_pack_start(GTK_BOX(vbox), w->anon, TRUE, TRUE, 5); |
| 391 | 448 |
| 392 label = gtk_label_new(_("Anonymous warnings are less harsh.")); | 449 label = gtk_label_new(_("Anonymous warnings are less harsh.")); |
| 393 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); | 450 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 5); |
| 394 gtk_widget_show(label); | 451 gtk_widget_show(label); |
| 395 | 452 |
| 396 w->who = who; | 453 w->who = who; |
| 397 | 454 |
| 398 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | 455 gtk_container_add(GTK_CONTAINER(frame), vbox); |
| 456 | |
| 457 gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 5); | |
| 458 gtk_box_pack_start(GTK_BOX(fbox), bbox, FALSE, FALSE, 5); | |
| 399 | 459 |
| 400 /* Handle closes right */ | 460 /* Handle closes right */ |
| 401 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", | 461 gtk_signal_connect(GTK_OBJECT(w->window), "delete_event", |
| 402 GTK_SIGNAL_FUNC(destroy_dialog), w->window); | 462 GTK_SIGNAL_FUNC(destroy_dialog), w->window); |
| 403 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 463 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", |
| 408 gtk_widget_show(warn); | 468 gtk_widget_show(warn); |
| 409 gtk_widget_show(cancel); | 469 gtk_widget_show(cancel); |
| 410 gtk_widget_show(w->anon); | 470 gtk_widget_show(w->anon); |
| 411 gtk_widget_show(bbox); | 471 gtk_widget_show(bbox); |
| 412 gtk_widget_show(vbox); | 472 gtk_widget_show(vbox); |
| 413 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?")); | 473 gtk_widget_show(frame); |
| 414 gtk_container_add(GTK_CONTAINER(w->window), vbox); | 474 gtk_widget_show(fbox); |
| 415 gtk_widget_realize(w->window); | 475 |
| 476 gtk_window_set_title(GTK_WINDOW(w->window), _("Gaim - Warn user?")); | |
| 477 gtk_container_add(GTK_CONTAINER(w->window), fbox); | |
| 478 gtk_container_set_border_width(GTK_CONTAINER(w->window), 5); | |
| 479 gtk_widget_realize(w->window); | |
| 416 aol_icon(w->window->window); | 480 aol_icon(w->window->window); |
| 417 | 481 |
| 418 gtk_widget_show(w->window); | 482 gtk_widget_show(w->window); |
| 419 g_free(buf); | 483 g_free(buf); |
| 420 } | 484 } |
| 600 | 664 |
| 601 static void do_im(GtkWidget *widget, GtkWidget *imentry) | 665 static void do_im(GtkWidget *widget, GtkWidget *imentry) |
| 602 { | 666 { |
| 603 char *who; | 667 char *who; |
| 604 struct conversation *c; | 668 struct conversation *c; |
| 605 | 669 char *test; |
| 670 | |
| 606 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(imentry)))); | 671 who = g_strdup(normalize(gtk_entry_get_text(GTK_ENTRY(imentry)))); |
| 607 | |
| 608 destroy_dialog(NULL, imdialog); | 672 destroy_dialog(NULL, imdialog); |
| 609 imdialog = NULL; | 673 imdialog = NULL; |
| 610 | 674 |
| 611 if (!strcasecmp(who, "")) { | 675 if (!strcasecmp(who, "")) { |
| 612 g_free(who); | 676 g_free(who); |
| 689 vbox = gtk_vbox_new(FALSE, 5); | 753 vbox = gtk_vbox_new(FALSE, 5); |
| 690 ebox = gtk_hbox_new(FALSE, 2); | 754 ebox = gtk_hbox_new(FALSE, 2); |
| 691 fbox = gtk_vbox_new(TRUE, 10); | 755 fbox = gtk_vbox_new(TRUE, 10); |
| 692 | 756 |
| 693 frame = gtk_frame_new(_("Send Instant Message")); | 757 frame = gtk_frame_new(_("Send Instant Message")); |
| 758 | |
| 759 imentry = gtk_entry_new(); | |
| 694 | 760 |
| 695 /* Build OK Button */ | 761 /* Build OK Button */ |
| 696 | 762 |
| 697 button = gtk_button_new(); | 763 button = gtk_button_new(); |
| 698 | 764 |
| 753 | 819 |
| 754 label = gtk_label_new(_("IM who: ")); | 820 label = gtk_label_new(_("IM who: ")); |
| 755 gtk_box_pack_start(GTK_BOX(ebox), label, TRUE, TRUE, 10); | 821 gtk_box_pack_start(GTK_BOX(ebox), label, TRUE, TRUE, 10); |
| 756 gtk_widget_show(label); | 822 gtk_widget_show(label); |
| 757 | 823 |
| 758 imentry = gtk_entry_new(); | |
| 759 gtk_box_pack_start(GTK_BOX(ebox), imentry, TRUE, TRUE, 10); | 824 gtk_box_pack_start(GTK_BOX(ebox), imentry, TRUE, TRUE, 10); |
| 760 | 825 |
| 761 gtk_box_pack_start(GTK_BOX(vbox), ebox, FALSE, FALSE, 5); | 826 gtk_box_pack_start(GTK_BOX(vbox), ebox, FALSE, FALSE, 5); |
| 762 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); | 827 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 5); |
| 763 | 828 |
