aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/exchange-operations/ChangeLog14
-rw-r--r--plugins/exchange-operations/exchange-folder-permission.c15
-rw-r--r--plugins/exchange-operations/exchange-folder.c10
3 files changed, 30 insertions, 9 deletions
diff --git a/plugins/exchange-operations/ChangeLog b/plugins/exchange-operations/ChangeLog
index 5b3684d737..dad4cdbb93 100644
--- a/plugins/exchange-operations/ChangeLog
+++ b/plugins/exchange-operations/ChangeLog
@@ -1,3 +1,17 @@
+2005-10-03 Shakti Sen <shprasad@novell.com>
+
+ * exchange-folder-permission.c (org_gnome_exchange_folder_permissions),
+ (org_gnome_exchange_menu_folder_permission): Constructing the path
+ properly to get the efolder.
+ * exchange-folder.c (org_gnome_exchange_folder_inbox_unsubscribe),
+ (exchange_get_folder), (org_gnome_exchange_check_inbox_subscribed),
+ (unsubscribe_dialog_ab_response), (unsubscribe_dialog_response):
+ Creating proper path.
+
+ The above modifications will now allow the user to do the operations
+ like unsubscribed to Inbox and giving permission to a folder.
+ -
+
2005-09-30 Shakti Sen <shprasad@novell.com>
* exchange-folder-subscription.c (setup_folder_name_combo): Sets the
diff --git a/plugins/exchange-operations/exchange-folder-permission.c b/plugins/exchange-operations/exchange-folder-permission.c
index 3c930ff026..85703661d4 100644
--- a/plugins/exchange-operations/exchange-folder-permission.c
+++ b/plugins/exchange-operations/exchange-folder-permission.c
@@ -149,13 +149,18 @@ org_gnome_exchange_folder_permissions (EPlugin *ep, EMPopupTargetFolder *target)
GSList *menus = NULL;
int i = 0;
static int first =0;
+ gchar *path = NULL;
ExchangeAccount *account = exchange_operations_get_exchange_account ();
- if (!account || ! g_strrstr (target->uri, "exchange://") ||
- !exchange_account_get_folder (account, target->uri))
+ if (!account)
+ return;
+
+ path = target->uri + strlen ("exchange://") + strlen (account->account_filename);
+ if (! g_strrstr (target->uri, "exchange://") ||
+ !exchange_account_get_folder (account, path))
return ;
- selected_exchange_folder_uri = target->uri;
+ selected_exchange_folder_uri = path;
/* for translation*/
if (!first) {
popup_items[0].label = _(popup_items[0].label);
@@ -191,13 +196,15 @@ org_gnome_exchange_menu_folder_permissions (EPlugin *ep, EMMenuTargetSelect *tar
{
ExchangeAccount *account = NULL;
EFolder *folder = NULL;
+ gchar *path = NULL;
account = exchange_operations_get_exchange_account ();
if (!account)
return;
- folder = exchange_account_get_folder (account, target->uri);
+ path = target->uri + strlen ("exchange://") + strlen (account->account_filename);
+ folder = exchange_account_get_folder (account, path);
if (folder)
exchange_permissions_dialog_new (account, folder, NULL);
}
diff --git a/plugins/exchange-operations/exchange-folder.c b/plugins/exchange-operations/exchange-folder.c
index bfdf2babee..1c6eeaeccf 100644
--- a/plugins/exchange-operations/exchange-folder.c
+++ b/plugins/exchange-operations/exchange-folder.c
@@ -91,7 +91,7 @@ org_gnome_exchange_folder_inbox_unsubscribe (EPopup *ep, EPopupItem *p, void *da
return;
target_uri = g_strdup (target->uri);
- path = target->uri + strlen ("exchange://") + strlen (account->account_filename) + strlen ("/;");
+ path = target->uri + strlen ("exchange://") + strlen (account->account_filename);
/* User will be able to unsubscribe by doing a right click on
any one of this two-<other user's>Inbox or the
<other user's folder> tree.
@@ -179,7 +179,7 @@ exchange_get_folder (char *uri, CamelFolder *folder, void *data)
return;
/* Get the subscribed folder name. */
- name = target_uri + strlen ("exchange://") + strlen (account->account_filename) + strlen ("/;");
+ name = target_uri + strlen ("exchange://") + strlen (account->account_filename);
stored_name = strrchr (name + 1, '/');
if (stored_name)
@@ -209,7 +209,7 @@ org_gnome_exchange_check_inbox_subscribed (EPlugin *ep, EMPopupTargetFolder *tar
if (!account)
return;
- path = g_strdup (target->uri + strlen ("exchange://") + strlen (account->account_filename) + strlen ("/;"));
+ path = g_strdup (target->uri + strlen ("exchange://") + strlen (account->account_filename));
sub_folder = strchr (path, '@');
g_free (path);
@@ -347,7 +347,7 @@ unsubscribe_dialog_ab_response (GtkDialog *dialog, int response, gpointer data)
source = e_source_selector_peek_primary_selection (E_SOURCE_SELECTOR (target->selector));
uri = e_source_get_uri (source);
- path = g_strdup (uri + strlen ("exchange://") + strlen (account->account_filename) + strlen ("/;"));
+ path = g_strdup (uri + strlen ("exchange://") + strlen (account->account_filename));
source_uid = e_source_peek_uid (source);
exchange_account_remove_shared_folder (account, path);
@@ -389,7 +389,7 @@ unsubscribe_dialog_response (GtkDialog *dialog, int response, gpointer data)
ruri = (gchar *) e_source_peek_relative_uri (source);
source_uid = e_source_peek_uid (source);
- path = g_strdup (ruri + strlen (account->account_filename) + strlen ("/;"));
+ path = g_strdup (ruri + strlen (account->account_filename));
exchange_account_remove_shared_folder (account, path);
ids = gconf_client_get_list (client,
CONF_KEY_SELECTED_CAL_SOURCES,