| 506 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
522 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
| 507 _("Retired Crazy Patch Writers")); |
523 _("Retired Crazy Patch Writers")); |
| 508 add_developers(str, retired_patch_writers); |
524 add_developers(str, retired_patch_writers); |
| 509 g_string_append(str, "<BR/>"); |
525 g_string_append(str, "<BR/>"); |
| 510 |
526 |
| 511 /* Current Translators */ |
527 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL); |
| 512 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
528 g_string_free(str, TRUE); |
| 513 _("Current Translators")); |
529 |
| 514 add_translators(str, translators); |
530 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| 515 g_string_append(str, "<BR/>"); |
531 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| 516 |
532 |
| 517 /* Past Translators */ |
533 /* Close Button */ |
| 518 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
534 button = pidgin_dialog_add_button(GTK_DIALOG(about), GTK_STOCK_CLOSE, |
| 519 _("Past Translators")); |
535 G_CALLBACK(destroy_about), about); |
| 520 add_translators(str, past_translators); |
536 |
| 521 g_string_append(str, "<BR/>"); |
537 g_signal_connect(G_OBJECT(about), "destroy", |
| 522 |
538 G_CALLBACK(destroy_about), G_OBJECT(about)); |
| 523 g_string_append_printf(str, "<FONT SIZE=\"4\">%s</FONT><br/>", _("Debugging Information")); |
539 |
| |
540 /* this makes the sizes not work? */ |
| |
541 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
| |
542 gtk_widget_grab_default(button); |
| |
543 |
| |
544 /* Let's give'em something to talk about -- woah woah woah */ |
| |
545 buddylist = pidgin_blist_get_default_gtk_blist(); |
| |
546 if (buddylist) |
| |
547 gtk_window_set_transient_for(GTK_WINDOW(about), |
| |
548 GTK_WINDOW(buddylist->window)); |
| |
549 |
| |
550 gtk_widget_show_all(about); |
| |
551 gtk_window_present(GTK_WINDOW(about)); |
| |
552 } |
| |
553 |
| |
554 void pidgin_dialogs_buildinfo() |
| |
555 { |
| |
556 GtkWidget *vbox; |
| |
557 GtkWidget *frame; |
| |
558 GtkWidget *text; |
| |
559 GtkWidget *button; |
| |
560 GtkTextIter iter; |
| |
561 GString *str; |
| |
562 char *tmp; |
| |
563 PidginBuddyList *buddylist; |
| |
564 |
| |
565 if (about != NULL) { |
| |
566 gtk_window_present(GTK_WINDOW(about)); |
| |
567 return; |
| |
568 } |
| |
569 |
| |
570 tmp = g_strdup_printf(_("%s Build Information"), PIDGIN_NAME); |
| |
571 buildinfo = pidgin_create_dialog(tmp, PIDGIN_HIG_BORDER, "buildinfo", TRUE); |
| |
572 g_free(tmp); |
| |
573 gtk_window_set_default_size(GTK_WINDOW(buildinfo), 450, 450); |
| |
574 |
| |
575 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(buildinfo), FALSE, PIDGIN_HIG_BORDER); |
| |
576 |
| |
577 frame = pidgin_create_imhtml(FALSE, &text, NULL, NULL); |
| |
578 gtk_imhtml_set_format_functions(GTK_IMHTML(text), GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY); |
| |
579 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
| |
580 |
| |
581 str = g_string_sized_new(4096); |
| |
582 |
| |
583 g_string_append_printf(str, |
| |
584 "<FONT SIZE=\"4\"><B>%s %s</B></FONT>><BR>(libpurple %s)<BR>%s<BR><BR>", PIDGIN_NAME, DISPLAY_VERSION, purple_core_get_version(), REVISION); |
| |
585 |
| |
586 g_string_append_printf(str, "<FONT SIZE=\"4\">%s</FONT><br/>", _("Build Information")); |
| 524 |
587 |
| 525 /* The following primarly intented for user/developer interaction and thus |
588 /* The following primarly intented for user/developer interaction and thus |
| 526 ought not be translated */ |
589 ought not be translated */ |
| 527 |
590 |
| 528 #ifdef CONFIG_ARGS /* win32 build doesn't use configure */ |
591 #ifdef CONFIG_ARGS /* win32 build doesn't use configure */ |
| 696 |
759 |
| 697 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
760 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| 698 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
761 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| 699 |
762 |
| 700 /* Close Button */ |
763 /* Close Button */ |
| 701 button = pidgin_dialog_add_button(GTK_DIALOG(about), GTK_STOCK_CLOSE, |
764 button = pidgin_dialog_add_button(GTK_DIALOG(buildinfo), GTK_STOCK_CLOSE, |
| 702 G_CALLBACK(destroy_about), about); |
765 G_CALLBACK(destroy_buildinfo), about); |
| 703 |
766 |
| 704 g_signal_connect(G_OBJECT(about), "destroy", |
767 g_signal_connect(G_OBJECT(buildinfo), "destroy", |
| 705 G_CALLBACK(destroy_about), G_OBJECT(about)); |
768 G_CALLBACK(destroy_buildinfo), G_OBJECT(buildinfo)); |
| 706 |
769 |
| 707 /* this makes the sizes not work? */ |
770 /* this makes the sizes not work? */ |
| 708 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
771 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
| 709 gtk_widget_grab_default(button); |
772 gtk_widget_grab_default(button); |
| 710 |
773 |
| 711 /* Let's give'em something to talk about -- woah woah woah */ |
774 /* Let's give'em something to talk about -- woah woah woah */ |
| 712 buddylist = pidgin_blist_get_default_gtk_blist(); |
775 buddylist = pidgin_blist_get_default_gtk_blist(); |
| 713 if (buddylist) |
776 if (buddylist) |
| 714 gtk_window_set_transient_for(GTK_WINDOW(about), |
777 gtk_window_set_transient_for(GTK_WINDOW(buildinfo), |
| 715 GTK_WINDOW(buddylist->window)); |
778 GTK_WINDOW(buddylist->window)); |
| 716 |
779 |
| 717 gtk_widget_show_all(about); |
780 gtk_widget_show_all(buildinfo); |
| 718 gtk_window_present(GTK_WINDOW(about)); |
781 gtk_window_present(GTK_WINDOW(buildinfo)); |
| |
782 } |
| |
783 |
| |
784 void pidgin_dialogs_translators() |
| |
785 { |
| |
786 GtkWidget *vbox; |
| |
787 GtkWidget *frame; |
| |
788 GtkWidget *text; |
| |
789 GtkWidget *button; |
| |
790 GtkTextIter iter; |
| |
791 GString *str; |
| |
792 char *tmp; |
| |
793 PidginBuddyList *buddylist; |
| |
794 |
| |
795 if (about != NULL) { |
| |
796 gtk_window_present(GTK_WINDOW(about)); |
| |
797 return; |
| |
798 } |
| |
799 |
| |
800 tmp = g_strdup_printf(_("%s Translator Information"), PIDGIN_NAME); |
| |
801 translator_info = pidgin_create_dialog(tmp, PIDGIN_HIG_BORDER, "translator_info", TRUE); |
| |
802 g_free(tmp); |
| |
803 gtk_window_set_default_size(GTK_WINDOW(translator_info), 450, 450); |
| |
804 |
| |
805 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(translator_info), FALSE, PIDGIN_HIG_BORDER); |
| |
806 |
| |
807 frame = pidgin_create_imhtml(FALSE, &text, NULL, NULL); |
| |
808 gtk_imhtml_set_format_functions(GTK_IMHTML(text), GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY); |
| |
809 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); |
| |
810 |
| |
811 str = g_string_sized_new(4096); |
| |
812 |
| |
813 /* Current Translators */ |
| |
814 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
| |
815 _("Current Translators")); |
| |
816 add_translators(str, translators); |
| |
817 g_string_append(str, "<BR/>"); |
| |
818 |
| |
819 /* Past Translators */ |
| |
820 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", |
| |
821 _("Past Translators")); |
| |
822 add_translators(str, past_translators); |
| |
823 g_string_append(str, "<BR/>"); |
| |
824 |
| |
825 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL); |
| |
826 g_string_free(str, TRUE); |
| |
827 |
| |
828 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| |
829 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
| |
830 |
| |
831 /* Close Button */ |
| |
832 button = pidgin_dialog_add_button(GTK_DIALOG(translator_info), GTK_STOCK_CLOSE, |
| |
833 G_CALLBACK(destroy_translator_info), about); |
| |
834 |
| |
835 g_signal_connect(G_OBJECT(translator_info), "destroy", |
| |
836 G_CALLBACK(destroy_translator_info), G_OBJECT(translator_info)); |
| |
837 |
| |
838 /* this makes the sizes not work? */ |
| |
839 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); |
| |
840 gtk_widget_grab_default(button); |
| |
841 |
| |
842 /* Let's give'em something to talk about -- woah woah woah */ |
| |
843 buddylist = pidgin_blist_get_default_gtk_blist(); |
| |
844 if (buddylist) |
| |
845 gtk_window_set_transient_for(GTK_WINDOW(translator_info), |
| |
846 GTK_WINDOW(buddylist->window)); |
| |
847 |
| |
848 gtk_widget_show_all(translator_info); |
| |
849 gtk_window_present(GTK_WINDOW(translator_info)); |
| 719 } |
850 } |
| 720 |
851 |
| 721 static void |
852 static void |
| 722 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) |
853 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) |
| 723 { |
854 { |