aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/groupwise-features/proxy.c
diff options
context:
space:
mode:
authorSankar P <psankar@novell.com>2005-08-10 15:15:25 +0800
committerSankarasivasubramanian Pasupathilingam <psankar@src.gnome.org>2005-08-10 15:15:25 +0800
commite0b530599f894a4ef9d469c8a9b44e186aa0ae5f (patch)
treea4b6e9034c39d6149bdc71e0526c0e184a684325 /plugins/groupwise-features/proxy.c
parent679915276c7ba60d9e7090221f372bbc5990f8d1 (diff)
downloadgsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar.gz
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar.bz2
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar.lz
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar.xz
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.tar.zst
gsoc2013-evolution-e0b530599f894a4ef9d469c8a9b44e186aa0ae5f.zip
: Changed the way in which the EDIT and DELETED flags are handled so that
2005-08-10 Sankar P <psankar@novell.com> * proxy.c : (proxy_dialog_store_widgets_data) (proxy_commit) : Changed the way in which the EDIT and DELETED flags are handled so that any proxy can be deleted without closing account-editor. Fixes #312313 svn path=/trunk/; revision=30070
Diffstat (limited to 'plugins/groupwise-features/proxy.c')
-rw-r--r--plugins/groupwise-features/proxy.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/plugins/groupwise-features/proxy.c b/plugins/groupwise-features/proxy.c
index 0b0fcc4004..f338d904a3 100644
--- a/plugins/groupwise-features/proxy.c
+++ b/plugins/groupwise-features/proxy.c
@@ -108,8 +108,6 @@ struct _proxyDialogPrivate {
GList *proxy_list;
};
-//static void free_proxy_handler (proxyHandler *handler);
-
static void
proxy_dialog_dispose (GObject *object)
{
@@ -364,6 +362,15 @@ proxy_dialog_store_widgets_data (EAccount *account, gint32 dialog)
for (;existing_list; existing_list = g_list_next(existing_list)) {
new_proxy = (proxyHandler *) existing_list->data;
if ( !g_ascii_strcasecmp (new_proxy->proxy_email, email) ) {
+ if (new_proxy->flags & E_GW_PROXY_DELETED) {
+ new_proxy->permissions = proxy_get_permissions_from_dialog (account);
+ if (new_proxy->flags & E_GW_PROXY_NEW)
+ new_proxy->flags = E_GW_PROXY_NEW;
+ else
+ new_proxy->flags = E_GW_PROXY_EDITED;
+ return 0;
+ }
+
e_error_run (NULL, "org.gnome.evolution.proxy:user-is-proxy",email ,NULL);
return -1;
@@ -546,7 +553,7 @@ proxy_commit (GtkWidget *button, EConfigHookItemFactoryData *data)
if (aclInstance->flags & E_GW_PROXY_NEW )
e_gw_connection_add_proxy (prd->cnc, aclInstance);
- if (aclInstance->flags & E_GW_PROXY_DELETED)
+ if ((aclInstance->flags & E_GW_PROXY_DELETED) && !(aclInstance->flags & E_GW_PROXY_NEW))
e_gw_connection_remove_proxy (prd->cnc, aclInstance);
if (aclInstance->flags & E_GW_PROXY_EDITED)