| 822 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(ma->register_user), FALSE); |
850 gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(ma->register_user), FALSE); |
| 823 gtk_box_pack_start(GTK_BOX(vbox), ma->register_user, FALSE, FALSE, 0); |
851 gtk_box_pack_start(GTK_BOX(vbox), ma->register_user, FALSE, FALSE, 0); |
| 824 gtk_widget_show(ma->register_user); |
852 gtk_widget_show(ma->register_user); |
| 825 } |
853 } |
| 826 |
854 |
| |
855 } |
| |
856 |
| |
857 static void proxy_dropdown_set(GtkObject *w, struct mod_account *ma) { |
| |
858 int opt = (int)gtk_object_get_user_data(w); |
| |
859 gtk_widget_set_sensitive(ma->proxy_host_box, (opt != PROXY_NONE && opt != PROXY_USE_GLOBAL)); |
| |
860 } |
| |
861 |
| |
862 static void generate_proxy_options(struct mod_account *ma, GtkWidget *box) { |
| |
863 GtkWidget *frame; |
| |
864 GtkWidget *hbox; |
| |
865 GtkWidget *vbox; |
| |
866 GtkWidget *label; |
| |
867 GtkWidget *menu; |
| |
868 GtkWidget *dropdown; |
| |
869 GtkWidget *opt; |
| |
870 GtkWidget *entry; |
| |
871 GtkWidget *vbox2; |
| |
872 |
| |
873 struct gaim_proxy_info *gpi = NULL; |
| |
874 |
| |
875 if(ma->account) |
| |
876 gpi = ma->account->gpi; |
| |
877 |
| |
878 frame = make_frame(box, _("Proxy Options")); |
| |
879 ma->proxy_frame = gtk_widget_get_parent(gtk_widget_get_parent(frame)); |
| |
880 gtk_widget_show_all(ma->proxy_frame); |
| |
881 |
| |
882 vbox = gtk_vbox_new(FALSE, 5); |
| |
883 gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); |
| |
884 gtk_container_add(GTK_CONTAINER(frame), vbox); |
| |
885 gtk_widget_show(vbox); |
| |
886 |
| |
887 /* make the dropdown w/o the benefit of the easy helper funcs in prefs.c */ |
| |
888 hbox = gtk_hbox_new(FALSE, 5); |
| |
889 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
| |
890 gtk_widget_show(hbox); |
| |
891 |
| |
892 label = gtk_label_new_with_mnemonic(_("Proxy _Type")); |
| |
893 gtk_size_group_add_widget(ma->sg, label); |
| |
894 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| |
895 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| |
896 gtk_widget_show(label); |
| |
897 |
| |
898 dropdown = gtk_option_menu_new(); |
| |
899 menu = gtk_menu_new(); |
| |
900 |
| |
901 opt = gtk_menu_item_new_with_label("Use Global Proxy Settings"); |
| |
902 gtk_object_set_user_data(GTK_OBJECT(opt), (gpointer)PROXY_USE_GLOBAL); |
| |
903 g_signal_connect(G_OBJECT(opt), "activate", |
| |
904 G_CALLBACK(proxy_dropdown_set), ma); |
| |
905 gtk_widget_show(opt); |
| |
906 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| |
907 if(!gpi) |
| |
908 gtk_menu_set_active(GTK_MENU(menu), 0); |
| |
909 |
| |
910 opt = gtk_menu_item_new_with_label("No Proxy"); |
| |
911 gtk_object_set_user_data(GTK_OBJECT(opt), (gpointer)PROXY_NONE); |
| |
912 g_signal_connect(G_OBJECT(opt), "activate", |
| |
913 G_CALLBACK(proxy_dropdown_set), ma); |
| |
914 gtk_widget_show(opt); |
| |
915 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| |
916 if(gpi && gpi->proxytype == PROXY_NONE) |
| |
917 gtk_menu_set_active(GTK_MENU(menu), 1); |
| |
918 |
| |
919 opt = gtk_menu_item_new_with_label("SOCKS 4"); |
| |
920 gtk_object_set_user_data(GTK_OBJECT(opt), (gpointer)PROXY_SOCKS4); |
| |
921 g_signal_connect(G_OBJECT(opt), "activate", |
| |
922 G_CALLBACK(proxy_dropdown_set), ma); |
| |
923 gtk_widget_show(opt); |
| |
924 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| |
925 if(gpi && gpi->proxytype == PROXY_SOCKS4) |
| |
926 gtk_menu_set_active(GTK_MENU(menu), 2); |
| |
927 |
| |
928 opt = gtk_menu_item_new_with_label("SOCKS 5"); |
| |
929 gtk_object_set_user_data(GTK_OBJECT(opt), (gpointer)PROXY_SOCKS5); |
| |
930 g_signal_connect(G_OBJECT(opt), "activate", |
| |
931 G_CALLBACK(proxy_dropdown_set), ma); |
| |
932 gtk_widget_show(opt); |
| |
933 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| |
934 if(gpi && gpi->proxytype == PROXY_SOCKS5) |
| |
935 gtk_menu_set_active(GTK_MENU(menu), 3); |
| |
936 |
| |
937 opt = gtk_menu_item_new_with_label("HTTP"); |
| |
938 gtk_object_set_user_data(GTK_OBJECT(opt), (gpointer)PROXY_HTTP); |
| |
939 g_signal_connect(G_OBJECT(opt), "activate", |
| |
940 G_CALLBACK(proxy_dropdown_set), ma); |
| |
941 gtk_widget_show(opt); |
| |
942 gtk_menu_shell_append(GTK_MENU_SHELL(menu), opt); |
| |
943 if(gpi && gpi->proxytype == PROXY_HTTP) |
| |
944 gtk_menu_set_active(GTK_MENU(menu), 4); |
| |
945 |
| |
946 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); |
| |
947 gtk_box_pack_start(GTK_BOX(hbox), dropdown, FALSE, FALSE, 0); |
| |
948 gtk_widget_show(dropdown); |
| |
949 |
| |
950 ma->proxytype_menu = menu; |
| |
951 |
| |
952 |
| |
953 vbox2 = gtk_vbox_new(FALSE, 5); |
| |
954 gtk_container_add(GTK_CONTAINER(vbox), vbox2); |
| |
955 gtk_widget_show(vbox2); |
| |
956 ma->proxy_host_box = vbox2; |
| |
957 |
| |
958 hbox = gtk_hbox_new(FALSE, 5); |
| |
959 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); |
| |
960 gtk_widget_show(hbox); |
| |
961 |
| |
962 label = gtk_label_new_with_mnemonic(_("_Host:")); |
| |
963 gtk_size_group_add_widget(ma->sg, label); |
| |
964 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| |
965 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| |
966 gtk_widget_show(label); |
| |
967 entry = gtk_entry_new(); |
| |
968 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
| |
969 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| |
970 gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxyhost : ""); |
| |
971 gtk_widget_show(entry); |
| |
972 ma->proxyhost_entry = entry; |
| |
973 |
| |
974 hbox = gtk_hbox_new(FALSE, 5); |
| |
975 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); |
| |
976 gtk_widget_show(hbox); |
| |
977 |
| |
978 label = gtk_label_new_with_mnemonic(_("Port:")); |
| |
979 gtk_size_group_add_widget(ma->sg, label); |
| |
980 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| |
981 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| |
982 gtk_widget_show(label); |
| |
983 entry = gtk_entry_new(); |
| |
984 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
| |
985 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| |
986 if(gpi && gpi->proxyport) { |
| |
987 char buf[128]; |
| |
988 g_snprintf(buf, sizeof(buf), "%d", gpi->proxyport); |
| |
989 gtk_entry_set_text(GTK_ENTRY(entry), buf); |
| |
990 } |
| |
991 gtk_widget_show(entry); |
| |
992 ma->proxyport_entry = entry; |
| |
993 |
| |
994 hbox = gtk_hbox_new(FALSE, 5); |
| |
995 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); |
| |
996 gtk_widget_show(hbox); |
| |
997 |
| |
998 label = gtk_label_new_with_mnemonic(_("_User:")); |
| |
999 gtk_size_group_add_widget(ma->sg, label); |
| |
1000 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| |
1001 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| |
1002 gtk_widget_show(label); |
| |
1003 entry = gtk_entry_new(); |
| |
1004 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
| |
1005 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| |
1006 gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxyuser : ""); |
| |
1007 gtk_widget_show(entry); |
| |
1008 ma->proxyuser_entry = entry; |
| |
1009 |
| |
1010 hbox = gtk_hbox_new(FALSE, 5); |
| |
1011 gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); |
| |
1012 gtk_widget_show(hbox); |
| |
1013 |
| |
1014 label = gtk_label_new_with_mnemonic(_("Pa_ssword:")); |
| |
1015 gtk_size_group_add_widget(ma->sg, label); |
| |
1016 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
| |
1017 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| |
1018 gtk_widget_show(label); |
| |
1019 entry = gtk_entry_new(); |
| |
1020 gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); |
| |
1021 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0); |
| |
1022 gtk_entry_set_text(GTK_ENTRY(entry), gpi ? gpi->proxypass : ""); |
| |
1023 gtk_widget_show(entry); |
| |
1024 ma->proxypass_entry = entry; |
| |
1025 |
| |
1026 gtk_widget_set_sensitive(vbox2, !(gpi == NULL || gpi->proxytype == PROXY_NONE)); |
| 827 } |
1027 } |
| 828 |
1028 |
| 829 static void show_acct_mod(struct gaim_account *a) |
1029 static void show_acct_mod(struct gaim_account *a) |
| 830 { |
1030 { |
| 831 /* This is the fucking modify account dialog. I've fucking seperated it into |
1031 /* This is the fucking modify account dialog. I've fucking seperated it into |