| 1821 static GtkWidget * |
1821 static GtkWidget * |
| 1822 network_page(void) |
1822 network_page(void) |
| 1823 { |
1823 { |
| 1824 GtkWidget *ret; |
1824 GtkWidget *ret; |
| 1825 GtkWidget *vbox, *hbox, *entry; |
1825 GtkWidget *vbox, *hbox, *entry; |
| 1826 GtkWidget *table = NULL; |
|
| 1827 GtkWidget *label, *auto_ip_checkbox, *ports_checkbox, *spin_button; |
1826 GtkWidget *label, *auto_ip_checkbox, *ports_checkbox, *spin_button; |
| 1828 GtkWidget *proxy_warning = NULL, *browser_warning = NULL; |
|
| 1829 GtkWidget *proxy_button = NULL, *browser_button = NULL; |
|
| 1830 GtkSizeGroup *sg; |
1827 GtkSizeGroup *sg; |
| 1831 PurpleProxyInfo *proxy_info = NULL; |
|
| 1832 |
1828 |
| 1833 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
1829 ret = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
| 1834 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
1830 gtk_container_set_border_width (GTK_CONTAINER (ret), PIDGIN_HIG_BORDER); |
| 1835 |
1831 |
| 1836 vbox = pidgin_make_frame (ret, _("IP Address")); |
1832 vbox = pidgin_make_frame (ret, _("IP Address")); |
| 1932 pidgin_prefs_labeled_password(hbox, _("Pass_word:"), |
1928 pidgin_prefs_labeled_password(hbox, _("Pass_word:"), |
| 1933 "/purple/network/turn_password", NULL); |
1929 "/purple/network/turn_password", NULL); |
| 1934 |
1930 |
| 1935 gtk_widget_show_all(ret); |
1931 gtk_widget_show_all(ret); |
| 1936 g_object_unref(sg); |
1932 g_object_unref(sg); |
| 1937 /* Only hide table if not running gnome otherwise we hide the IP address table! */ |
|
| 1938 if (!purple_running_gnome() && (proxy_info == NULL || |
|
| 1939 purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_NONE || |
|
| 1940 purple_proxy_info_get_type(proxy_info) == PURPLE_PROXY_USE_ENVVAR)) { |
|
| 1941 gtk_widget_hide(table); |
|
| 1942 } else if (purple_running_gnome()) { |
|
| 1943 gchar *path; |
|
| 1944 path = g_find_program_in_path("gnome-network-preferences"); |
|
| 1945 if (path != NULL) { |
|
| 1946 gtk_widget_set_sensitive(proxy_button, TRUE); |
|
| 1947 gtk_widget_hide(proxy_warning); |
|
| 1948 g_free(path); |
|
| 1949 } else { |
|
| 1950 gtk_widget_set_sensitive(proxy_button, FALSE); |
|
| 1951 gtk_widget_show(proxy_warning); |
|
| 1952 } |
|
| 1953 path = g_find_program_in_path("gnome-default-applications-properties"); |
|
| 1954 if (path != NULL) { |
|
| 1955 gtk_widget_set_sensitive(browser_button, TRUE); |
|
| 1956 gtk_widget_hide(browser_warning); |
|
| 1957 g_free(path); |
|
| 1958 } else { |
|
| 1959 gtk_widget_set_sensitive(browser_button, FALSE); |
|
| 1960 gtk_widget_show(browser_warning); |
|
| 1961 } |
|
| 1962 } |
|
| 1963 |
1933 |
| 1964 return ret; |
1934 return ret; |
| 1965 } |
1935 } |
| 1966 |
1936 |
| 1967 #ifndef _WIN32 |
1937 #ifndef _WIN32 |
| 2173 gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); |
2143 gtk_box_pack_start(GTK_BOX(hbox), proxy_button, FALSE, FALSE, 0); |
| 2174 gtk_widget_show(proxy_button); |
2144 gtk_widget_show(proxy_button); |
| 2175 } else { |
2145 } else { |
| 2176 prefs_proxy_subframe = gtk_vbox_new(FALSE, 0); |
2146 prefs_proxy_subframe = gtk_vbox_new(FALSE, 0); |
| 2177 |
2147 |
| 2178 /* This is a global option that affects SOCKS4 usage even with account-specific proxy settings */ |
2148 /* This is a global option that affects SOCKS4 usage even with |
| |
2149 * account-specific proxy settings */ |
| 2179 pidgin_prefs_checkbox(_("Use remote _DNS with SOCKS4 proxies"), |
2150 pidgin_prefs_checkbox(_("Use remote _DNS with SOCKS4 proxies"), |
| 2180 "/purple/proxy/socks4_remotedns", prefs_proxy_frame); |
2151 "/purple/proxy/socks4_remotedns", prefs_proxy_frame); |
| 2181 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0); |
2152 gtk_box_pack_start(GTK_BOX(vbox), prefs_proxy_frame, 0, 0, 0); |
| 2182 |
2153 |
| 2183 pidgin_prefs_dropdown(prefs_proxy_frame, _("Proxy t_ype:"), PURPLE_PREF_STRING, |
2154 pidgin_prefs_dropdown(prefs_proxy_frame, _("Proxy t_ype:"), PURPLE_PREF_STRING, |
| 2795 gtk_size_group_add_widget(sg, button); |
2766 gtk_size_group_add_widget(sg, button); |
| 2796 |
2767 |
| 2797 /* TODO: Show something useful if we don't have any saved statuses. */ |
2768 /* TODO: Show something useful if we don't have any saved statuses. */ |
| 2798 menu = pidgin_status_menu(purple_savedstatus_get_idleaway(), G_CALLBACK(set_idle_away)); |
2769 menu = pidgin_status_menu(purple_savedstatus_get_idleaway(), G_CALLBACK(set_idle_away)); |
| 2799 gtk_size_group_add_widget(sg, menu); |
2770 gtk_size_group_add_widget(sg, menu); |
| 2800 gtk_misc_set_alignment(GTK_MISC(menu), 0, 0.5); |
|
| 2801 gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, 0); |
2771 gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, 0); |
| 2802 |
2772 |
| 2803 g_signal_connect(G_OBJECT(button), "clicked", |
2773 g_signal_connect(G_OBJECT(button), "clicked", |
| 2804 G_CALLBACK(pidgin_toggle_sensitive), menu); |
2774 G_CALLBACK(pidgin_toggle_sensitive), menu); |
| 2805 |
2775 |
| 2828 gtk_size_group_add_widget(sg, button); |
2798 gtk_size_group_add_widget(sg, button); |
| 2829 |
2799 |
| 2830 /* TODO: Show something useful if we don't have any saved statuses. */ |
2800 /* TODO: Show something useful if we don't have any saved statuses. */ |
| 2831 menu = pidgin_status_menu(purple_savedstatus_get_startup(), G_CALLBACK(set_startupstatus)); |
2801 menu = pidgin_status_menu(purple_savedstatus_get_startup(), G_CALLBACK(set_startupstatus)); |
| 2832 gtk_size_group_add_widget(sg, menu); |
2802 gtk_size_group_add_widget(sg, menu); |
| 2833 gtk_misc_set_alignment(GTK_MISC(menu), 0, 0.5); |
|
| 2834 g_signal_connect(G_OBJECT(button), "clicked", |
2803 g_signal_connect(G_OBJECT(button), "clicked", |
| 2835 G_CALLBACK(pidgin_toggle_sensitive), menu); |
2804 G_CALLBACK(pidgin_toggle_sensitive), menu); |
| 2836 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Status to a_pply at startup:"), sg, menu, TRUE, &label); |
2805 pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("Status to a_pply at startup:"), sg, menu, TRUE, &label); |
| 2837 g_signal_connect(G_OBJECT(button), "clicked", |
2806 g_signal_connect(G_OBJECT(button), "clicked", |
| 2838 G_CALLBACK(pidgin_toggle_sensitive), label); |
2807 G_CALLBACK(pidgin_toggle_sensitive), label); |