comparison src/gtkaccount.c @ 8555:e0535ba0d667

[gaim-migrate @ 9298] finally get to clean my tree out some committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Fri, 02 Apr 2004 03:25:48 +0000
parents a94f46d89b61
children 2714e30991db
comparison
equal deleted inserted replaced
8554:5c3542e63997 8555:e0535ba0d667
126 126
127 /* Proxy Options */ 127 /* Proxy Options */
128 GtkWidget *proxy_frame; 128 GtkWidget *proxy_frame;
129 GtkWidget *proxy_vbox; 129 GtkWidget *proxy_vbox;
130 GtkWidget *proxy_dropdown; 130 GtkWidget *proxy_dropdown;
131 #if !GTK_CHECK_VERSION(2,4,0)
131 GtkWidget *proxy_menu; 132 GtkWidget *proxy_menu;
133 #endif
132 GtkWidget *proxy_host_entry; 134 GtkWidget *proxy_host_entry;
133 GtkWidget *proxy_port_entry; 135 GtkWidget *proxy_port_entry;
134 GtkWidget *proxy_user_entry; 136 GtkWidget *proxy_user_entry;
135 GtkWidget *proxy_pass_entry; 137 GtkWidget *proxy_pass_entry;
136 138
760 762
761 static GtkWidget * 763 static GtkWidget *
762 make_proxy_dropdown(void) 764 make_proxy_dropdown(void)
763 { 765 {
764 GtkWidget *dropdown; 766 GtkWidget *dropdown;
767
768 #if GTK_CHECK_VERSION(2,4,0)
769 GtkListStore *model;
770 GtkTreeIter iter;
771 GtkCellRenderer *renderer;
772
773 model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT);
774 dropdown = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model));
775
776 gtk_list_store_append(model, &iter);
777 gtk_list_store_set(model, &iter,
778 0, _("Use Global Proxy Settings"),
779 1, GAIM_PROXY_USE_GLOBAL
780 -1);
781
782 gtk_list_store_append(model, &iter);
783 gtk_list_store_set(model, &iter,
784 0, _("No Proxy"),
785 1, GAIM_PROXY_NONE,
786 -1);
787
788 gtk_list_store_append(model, &iter);
789 gtk_list_store_set(model, &iter,
790 0, _("HTTP"),
791 1, GAIM_PROXY_HTTP,
792 -1);
793
794 gtk_list_store_append(model, &iter);
795 gtk_list_store_set(model, &iter,
796 0, _("SOCKS 4"),
797 1, GAIM_PROXY_SOCKS4,
798 -1);
799
800 gtk_list_store_append(model, &iter);
801 gtk_list_store_set(model, &iter,
802 0, _("SOCKS 5"),
803 1, GAIM_PROXY_SOCKS5,
804 -1);
805
806 gtk_list_store_append(model, &iter);
807 gtk_list_store_set(model, &iter,
808 0, _("Use Environmental Settings"),
809 1, GAIM_PROXY_USE_ENVVAR,
810 -1);
811
812 renderer = gtk_cell_renderer_text_new();
813 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(dropdown), renderer, TRUE);
814 gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(dropdown), renderer,
815 "text", 0, NULL);
816
817 #else
765 GtkWidget *menu; 818 GtkWidget *menu;
766 GtkWidget *item; 819 GtkWidget *item;
767 820
768 dropdown = gtk_option_menu_new(); 821 dropdown = gtk_option_menu_new();
769 menu = gtk_menu_new(); 822 menu = gtk_menu_new();
809 GINT_TO_POINTER(GAIM_PROXY_USE_ENVVAR)); 862 GINT_TO_POINTER(GAIM_PROXY_USE_ENVVAR));
810 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 863 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
811 gtk_widget_show(item); 864 gtk_widget_show(item);
812 865
813 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu); 866 gtk_option_menu_set_menu(GTK_OPTION_MENU(dropdown), menu);
867 #endif
814 868
815 return dropdown; 869 return dropdown;
816 } 870 }
817 871
818 static void 872 static void
819 proxy_type_changed_cb(GtkWidget *optmenu, AccountPrefsDialog *dialog) 873 proxy_type_changed_cb(GtkWidget *menu, AccountPrefsDialog *dialog)
820 { 874 {
875 #if GTK_CHECK_VERSION(2,4,0)
821 dialog->new_proxy_type = 876 dialog->new_proxy_type =
822 gtk_option_menu_get_history(GTK_OPTION_MENU(optmenu)) - 1; 877 gtk_combo_box_get_active(GTK_COMBO_BOX(menu)) - 1;
878 #else
879 dialog->new_proxy_type =
880 gtk_option_menu_get_history(GTK_OPTION_MENU(menu)) - 1;
881 #endif
823 882
824 if (dialog->new_proxy_type == GAIM_PROXY_USE_GLOBAL || 883 if (dialog->new_proxy_type == GAIM_PROXY_USE_GLOBAL ||
825 dialog->new_proxy_type == GAIM_PROXY_NONE || 884 dialog->new_proxy_type == GAIM_PROXY_NONE ||
826 dialog->new_proxy_type == GAIM_PROXY_USE_ENVVAR) { 885 dialog->new_proxy_type == GAIM_PROXY_USE_ENVVAR) {
827 886
868 gtk_container_add(GTK_CONTAINER(frame), vbox); 927 gtk_container_add(GTK_CONTAINER(frame), vbox);
869 gtk_widget_show(vbox); 928 gtk_widget_show(vbox);
870 929
871 /* Proxy Type drop-down. */ 930 /* Proxy Type drop-down. */
872 dialog->proxy_dropdown = make_proxy_dropdown(); 931 dialog->proxy_dropdown = make_proxy_dropdown();
932 #if !GTK_CHECK_VERSION(2,4,0)
873 dialog->proxy_menu = 933 dialog->proxy_menu =
874 gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->proxy_dropdown)); 934 gtk_option_menu_get_menu(GTK_OPTION_MENU(dialog->proxy_dropdown));
935 #endif
875 936
876 add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown); 937 add_pref_box(dialog, vbox, _("Proxy _type:"), dialog->proxy_dropdown);
877 938
878 /* Setup the second vbox, which may be hidden at times. */ 939 /* Setup the second vbox, which may be hidden at times. */
879 dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, 6); 940 dialog->proxy_vbox = vbox2 = gtk_vbox_new(FALSE, 6);
907 GaimProxyType type = gaim_proxy_info_get_type(proxy_info); 968 GaimProxyType type = gaim_proxy_info_get_type(proxy_info);
908 969
909 /* Hah! */ 970 /* Hah! */
910 /* I dunno what you're laughing about, fuzz ball. */ 971 /* I dunno what you're laughing about, fuzz ball. */
911 dialog->new_proxy_type = type; 972 dialog->new_proxy_type = type;
973 #if GTK_CHECK_VERSION(2,4,0)
974 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown),
975 type - 1);
976 #else
912 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown), 977 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown),
913 (int)type + 1); 978 (int)type + 1);
979 #endif
914 980
915 if (type == GAIM_PROXY_USE_GLOBAL || type == GAIM_PROXY_NONE || 981 if (type == GAIM_PROXY_USE_GLOBAL || type == GAIM_PROXY_NONE ||
916 type == GAIM_PROXY_USE_ENVVAR) { 982 type == GAIM_PROXY_USE_ENVVAR) {
917 gtk_widget_hide_all(vbox2); 983 gtk_widget_hide_all(vbox2);
918 } 984 }
938 gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value); 1004 gtk_entry_set_text(GTK_ENTRY(dialog->proxy_pass_entry), value);
939 } 1005 }
940 } 1006 }
941 else { 1007 else {
942 dialog->new_proxy_type = GAIM_PROXY_USE_GLOBAL; 1008 dialog->new_proxy_type = GAIM_PROXY_USE_GLOBAL;
1009 #if GTK_CHECK_VERSION(2,4,0)
1010 gtk_combo_box_set_active(GTK_COMBO_BOX(dialog->proxy_dropdown),
1011 dialog->new_proxy_type + 1);
1012 #else
943 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown), 1013 gtk_option_menu_set_history(GTK_OPTION_MENU(dialog->proxy_dropdown),
944 dialog->new_proxy_type + 1); 1014 dialog->new_proxy_type + 1);
1015 #endif
945 gtk_widget_hide_all(vbox2); 1016 gtk_widget_hide_all(vbox2);
946 } 1017 }
947 1018
948 /* Connect signals. */ 1019 /* Connect signals. */
949 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed", 1020 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed",