Mercurial > pidgin.yaz
comparison pidgin/gtkdialogs.c @ 29510:a6b08260d631
Break the developer information out into its own dialog. I also bolded a few
headings that weren't previously bolded because I think they look better this
way. Feel free to debate and tweak.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sat, 03 Oct 2009 19:18:18 +0000 |
parents | b50ff312ac80 |
children | 89a523641c64 |
comparison
equal
deleted
inserted
replaced
29509:b50ff312ac80 | 29510:a6b08260d631 |
---|---|
46 | 46 |
47 static GList *dialogwindows = NULL; | 47 static GList *dialogwindows = NULL; |
48 | 48 |
49 static GtkWidget *about = NULL; | 49 static GtkWidget *about = NULL; |
50 static GtkWidget *buildinfo = NULL; | 50 static GtkWidget *buildinfo = NULL; |
51 static GtkWidget *developer_info = NULL; | |
51 static GtkWidget *translator_info = NULL; | 52 static GtkWidget *translator_info = NULL; |
52 | 53 |
53 struct _PidginGroupMergeObject { | 54 struct _PidginGroupMergeObject { |
54 PurpleGroup* parent; | 55 PurpleGroup* parent; |
55 char *new_name; | 56 char *new_name; |
350 gtk_widget_destroy(dialogwindows->data); | 351 gtk_widget_destroy(dialogwindows->data); |
351 dialogwindows = g_list_remove(dialogwindows, dialogwindows->data); | 352 dialogwindows = g_list_remove(dialogwindows, dialogwindows->data); |
352 } | 353 } |
353 } | 354 } |
354 | 355 |
356 static void destroy_developer_info(void) | |
357 { | |
358 if (developer_info != NULL) | |
359 gtk_widget_destroy(developer_info); | |
360 developer_info = NULL; | |
361 } | |
362 | |
355 static void destroy_translator_info(void) | 363 static void destroy_translator_info(void) |
356 { | 364 { |
357 if (translator_info != NULL) | 365 if (translator_info != NULL) |
358 gtk_widget_destroy(translator_info); | 366 gtk_widget_destroy(translator_info); |
359 translator_info = NULL; | 367 translator_info = NULL; |
498 g_string_append_printf(str, _("<FONT SIZE=\"4\">IRC Channel:</FONT> " | 506 g_string_append_printf(str, _("<FONT SIZE=\"4\">IRC Channel:</FONT> " |
499 "#pidgin on irc.freenode.net<BR><BR>")); | 507 "#pidgin on irc.freenode.net<BR><BR>")); |
500 g_string_append_printf(str, _("<FONT SIZE=\"4\">XMPP MUC:</FONT> " | 508 g_string_append_printf(str, _("<FONT SIZE=\"4\">XMPP MUC:</FONT> " |
501 "devel@conference.pidgin.im<BR><BR>")); | 509 "devel@conference.pidgin.im<BR><BR>")); |
502 | 510 |
503 /* Current Developers */ | 511 |
504 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", | |
505 _("Current Developers")); | |
506 add_developers(str, developers); | |
507 g_string_append(str, "<BR/>"); | |
508 | |
509 /* Crazy Patch Writers */ | |
510 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", | |
511 _("Crazy Patch Writers")); | |
512 add_developers(str, patch_writers); | |
513 g_string_append(str, "<BR/>"); | |
514 | |
515 /* Retired Developers */ | |
516 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", | |
517 _("Retired Developers")); | |
518 add_developers(str, retired_developers); | |
519 g_string_append(str, "<BR/>"); | |
520 | |
521 /* Retired Crazy Patch Writers */ | |
522 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>", | |
523 _("Retired Crazy Patch Writers")); | |
524 add_developers(str, retired_patch_writers); | |
525 g_string_append(str, "<BR/>"); | |
526 | |
527 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL); | 512 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL); |
528 g_string_free(str, TRUE); | 513 g_string_free(str, TRUE); |
529 | 514 |
530 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); | 515 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
531 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); | 516 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); |
777 gtk_window_set_transient_for(GTK_WINDOW(buildinfo), | 762 gtk_window_set_transient_for(GTK_WINDOW(buildinfo), |
778 GTK_WINDOW(buddylist->window)); | 763 GTK_WINDOW(buddylist->window)); |
779 | 764 |
780 gtk_widget_show_all(buildinfo); | 765 gtk_widget_show_all(buildinfo); |
781 gtk_window_present(GTK_WINDOW(buildinfo)); | 766 gtk_window_present(GTK_WINDOW(buildinfo)); |
767 } | |
768 | |
769 void pidgin_dialogs_developers() | |
770 { | |
771 GtkWidget *vbox; | |
772 GtkWidget *frame; | |
773 GtkWidget *text; | |
774 GtkWidget *button; | |
775 GtkTextIter iter; | |
776 GString *str; | |
777 char *tmp; | |
778 PidginBuddyList *buddylist; | |
779 | |
780 if (about != NULL) { | |
781 gtk_window_present(GTK_WINDOW(about)); | |
782 return; | |
783 } | |
784 | |
785 tmp = g_strdup_printf(_("%s Developer Information"), PIDGIN_NAME); | |
786 developer_info = pidgin_create_dialog(tmp, PIDGIN_HIG_BORDER, "developer_info", TRUE); | |
787 g_free(tmp); | |
788 gtk_window_set_default_size(GTK_WINDOW(developer_info), 450, 450); | |
789 | |
790 vbox = pidgin_dialog_get_vbox_with_properties(GTK_DIALOG(developer_info), FALSE, PIDGIN_HIG_BORDER); | |
791 | |
792 frame = pidgin_create_imhtml(FALSE, &text, NULL, NULL); | |
793 gtk_imhtml_set_format_functions(GTK_IMHTML(text), GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY); | |
794 gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); | |
795 | |
796 str = g_string_sized_new(4096); | |
797 | |
798 /* Current Developers */ | |
799 g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>", | |
800 _("Current Developers")); | |
801 add_developers(str, developers); | |
802 g_string_append(str, "<BR/>"); | |
803 | |
804 /* Crazy Patch Writers */ | |
805 g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>", | |
806 _("Crazy Patch Writers")); | |
807 add_developers(str, patch_writers); | |
808 g_string_append(str, "<BR/>"); | |
809 | |
810 /* Retired Developers */ | |
811 g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>", | |
812 _("Retired Developers")); | |
813 add_developers(str, retired_developers); | |
814 g_string_append(str, "<BR/>"); | |
815 | |
816 /* Retired Crazy Patch Writers */ | |
817 g_string_append_printf(str, "<FONT SIZE=\"4\"><B>%s:</B></FONT><BR/>", | |
818 _("Retired Crazy Patch Writers")); | |
819 add_developers(str, retired_patch_writers); | |
820 g_string_append(str, "<BR/>"); | |
821 | |
822 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL); | |
823 g_string_free(str, TRUE); | |
824 | |
825 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); | |
826 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter); | |
827 | |
828 /* Close Button */ | |
829 button = pidgin_dialog_add_button(GTK_DIALOG(developer_info), GTK_STOCK_CLOSE, | |
830 G_CALLBACK(destroy_developer_info), about); | |
831 | |
832 g_signal_connect(G_OBJECT(developer_info), "destroy", | |
833 G_CALLBACK(destroy_developer_info), G_OBJECT(developer_info)); | |
834 | |
835 /* this makes the sizes not work? */ | |
836 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); | |
837 gtk_widget_grab_default(button); | |
838 | |
839 /* Let's give'em something to talk about -- woah woah woah */ | |
840 buddylist = pidgin_blist_get_default_gtk_blist(); | |
841 if (buddylist) | |
842 gtk_window_set_transient_for(GTK_WINDOW(developer_info), | |
843 GTK_WINDOW(buddylist->window)); | |
844 | |
845 gtk_widget_show_all(developer_info); | |
846 gtk_window_present(GTK_WINDOW(developer_info)); | |
782 } | 847 } |
783 | 848 |
784 void pidgin_dialogs_translators() | 849 void pidgin_dialogs_translators() |
785 { | 850 { |
786 GtkWidget *vbox; | 851 GtkWidget *vbox; |