diff options
author | Iain Holmes <iain@src.gnome.org> | 2002-06-26 23:42:01 +0800 |
---|---|---|
committer | Iain Holmes <iain@src.gnome.org> | 2002-06-26 23:42:01 +0800 |
commit | 9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3 (patch) | |
tree | 2719aa6b6bfa5eb78537dc384051687640cd7ac7 /my-evolution/main.c | |
parent | 6f679c6c889771b0ca773cf90d2bfde4afd164ee (diff) | |
download | gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar.gz gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar.bz2 gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar.lz gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar.xz gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.tar.zst gsoc2013-evolution-9a210db24ffc2e0d806c5afda8cf3b471aa4d5c3.zip |
Fix bugs, make the folder list be a storage set view and add a delete url button
svn path=/trunk/; revision=17290
Diffstat (limited to 'my-evolution/main.c')
-rw-r--r-- | my-evolution/main.c | 82 |
1 files changed, 78 insertions, 4 deletions
diff --git a/my-evolution/main.c b/my-evolution/main.c index da9df3c23a..b171462efa 100644 --- a/my-evolution/main.c +++ b/my-evolution/main.c @@ -39,14 +39,88 @@ #include <bonobo/bonobo-main.h> #include <liboaf/liboaf.h> -#ifdef GTKHTML_HAVE_GCONF #include <gconf/gconf.h> -#endif +#include <gconf/gconf-client.h> #include <glade/glade.h> +#include <libsoup/soup.h> #include "component-factory.h" +static void +set_proxy (GConfClient *client) +{ + SoupContext *context; + char *proxy_server, *proxy_user, *proxy_pw, *uri; + gboolean use_auth, use_proxy; + int proxy_port; + + use_proxy = gconf_client_get_bool (client, "/system/gnome-vfs/use-http-proxy", NULL); + if (use_proxy == FALSE) { + return; + } + + proxy_server = gconf_client_get_string (client, + "/system/gnome-vfs/http-proxy-host", NULL); + proxy_port = gconf_client_get_int (client, + "/system/gnome-vfs/http-proxy-port", + NULL); + + use_auth = gconf_client_get_bool (client, + "/system/gnome-vfs/use-http-proxy-authorization", NULL); + if (use_auth == TRUE) { + proxy_user = gconf_client_get_string (client, + "/system/gnome-vfs/http-proxy-authorization-user", NULL); + proxy_pw = gconf_client_get_string (client, + "/system/gnome-vfs/http-proxy-authorization-password", NULL); + + uri = g_strdup_printf ("http://%s:%s@%s:%d", + proxy_user, proxy_pw, proxy_server, + proxy_port); + } else { + uri = g_strdup_printf ("http://%s:%d", proxy_server, proxy_port); + } + + g_print ("Using proxy: %s\n", uri); + context = soup_context_get (uri); + soup_set_proxy (context); + soup_context_unref (context); + g_free (uri); +} + +static void +proxy_setting_changed (GConfClient *client, + guint32 cnxn_id, + GConfEntry *entry, + gpointer user_data) +{ + set_proxy (client); +} + +static void +init_soup_proxy (void) +{ + GConfClient *client; + + /* We get the gnome-vfs proxy keys here + set soup up to use the proxy, + and listen to any changes */ + + client = gconf_client_get_default (); + if (client == NULL) { + return; + } + + /* Listen to the changes in the gnome-vfs path */ + gconf_client_add_dir (client, "/system/gnome-vfs", + GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); + + gconf_client_notify_add (client, "/system/gnome-vfs/", + proxy_setting_changed, NULL, NULL, NULL); + + set_proxy (client); +} + int main (int argc, char **argv) @@ -66,13 +140,13 @@ main (int argc, exit (1); } -#ifdef GTKHTML_HAVE_GCONF gconf_init (argc, argv, NULL); -#endif glade_gnome_init (); e_cursors_init (); + + init_soup_proxy (); gtk_widget_push_visual (gdk_rgb_get_visual ()); gtk_widget_push_colormap (gdk_rgb_get_cmap ()); |