/* gnome-network-preferences.c: network preferences capplet * * Copyright (C) 2002 Sun Microsystems Inc. * * Written by: Mark McLoughlin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include "capplet-util.h" #include "gconf-property-editor.h" #define USE_PROXY_KEY "/system/http_proxy/use_http_proxy" #define PROXY_HOST_KEY "/system/http_proxy/host" #define PROXY_PORT_KEY "/system/http_proxy/port" #define USE_AUTH_KEY "/system/http_proxy/use_authentication" #define AUTH_USER_KEY "/system/http_proxy/authentication_user" #define AUTH_PASSWD_KEY "/system/http_proxy/authentication_password" static void cb_dialog_response (GtkDialog *dialog, gint response_id) { if (response_id == GTK_RESPONSE_HELP) capplet_help (GTK_WINDOW (dialog), "wgoscustdesk.xml", "goscustdesk-50"); else gtk_main_quit (); } static void setup_dialog (GladeXML *dialog) { GConfPropertyEditor *peditor; peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_boolean ( NULL, USE_PROXY_KEY, WID ("proxy_toggle"), NULL)); gconf_peditor_widget_set_guard (peditor, WID ("host_port_table")); peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string ( NULL, PROXY_HOST_KEY, WID ("host_entry"), NULL)); peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_integer ( NULL, PROXY_PORT_KEY, WID ("port_entry"), NULL)); peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_boolean ( NULL, USE_AUTH_KEY, WID ("proxy_auth_toggle"), NULL)); gconf_peditor_widget_set_guard (peditor, WID ("username_password_table")); peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string ( NULL, AUTH_USER_KEY, WID ("user_entry"), NULL)); peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_string ( NULL, AUTH_PASSWD_KEY, WID ("passwd_entry"), NULL)); g_signal_connect (WID ("network_dialog"), "response", G_CALLBACK (cb_dialog_response), NULL); } int main (int argc, char **argv) { GladeXML *dialog; GConfClient *client; bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); gnome_program_init ("gnome-network-preferences", VERSION, LIBGNOMEUI_MODULE, argc, argv, GNOME_PARAM_NONE); client = gconf_client_get_default (); gconf_client_add_dir (client, "/system/gnome-vfs", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); dialog = glade_xml_new (GNOMECC_DATA_DIR "/interfaces/gnome-network-preferences.glade", "network_dialog", NULL); setup_dialog (dialog); gtk_widget_show_all (WID ("network_dialog")); gtk_main (); g_object_unref (client); return 0; }