From 282701a518017e2e6ba3f7910e045c2bbe052190 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 2 May 2011 19:07:06 -0400 Subject: Add em_folder_tree_get_selected_account(). Comes in handy for a few EMailShellView actions. --- modules/mail/e-mail-shell-view-actions.c | 19 ++++--------------- modules/mail/e-mail-shell-view.c | 6 +++--- 2 files changed, 7 insertions(+), 18 deletions(-) (limited to 'modules/mail') diff --git a/modules/mail/e-mail-shell-view-actions.c b/modules/mail/e-mail-shell-view-actions.c index aa48ed0788..a5e6e9d40e 100644 --- a/modules/mail/e-mail-shell-view-actions.c +++ b/modules/mail/e-mail-shell-view-actions.c @@ -86,7 +86,6 @@ action_mail_account_disable_cb (GtkAction *action, EMFolderTree *folder_tree; EAccountList *account_list; EAccount *account; - gchar *folder_uri; mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar; @@ -97,12 +96,10 @@ action_mail_account_disable_cb (GtkAction *action, session = e_mail_backend_get_session (backend); folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); - folder_uri = em_folder_tree_get_selected_uri (folder_tree); - g_return_if_fail (folder_uri != NULL); + account = em_folder_tree_get_selected_account (folder_tree); + g_return_if_fail (account != NULL); account_list = e_get_account_list (); - account = e_get_account_by_source_url (folder_uri); - g_return_if_fail (account != NULL); if (e_account_list_account_has_proxies (account_list, account)) e_account_list_remove_account_proxies (account_list, account); @@ -115,8 +112,6 @@ action_mail_account_disable_cb (GtkAction *action, e_account_list_remove (account_list, account); e_account_list_save (account_list); - - g_free (folder_uri); } static void @@ -1004,9 +999,8 @@ action_mail_tools_subscriptions_cb (GtkAction *action, EMailBackend *backend; EMailSession *session; EMFolderTree *folder_tree; - EAccount *account = NULL; + EAccount *account; GtkWidget *dialog; - gchar *uri; shell_view = E_SHELL_VIEW (mail_shell_view); shell_window = e_shell_view_get_shell_window (shell_view); @@ -1014,16 +1008,11 @@ action_mail_tools_subscriptions_cb (GtkAction *action, mail_shell_sidebar = mail_shell_view->priv->mail_shell_sidebar; folder_tree = e_mail_shell_sidebar_get_folder_tree (mail_shell_sidebar); + account = em_folder_tree_get_selected_account (folder_tree); backend = E_MAIL_BACKEND (shell_backend); session = e_mail_backend_get_session (backend); - uri = em_folder_tree_get_selected_uri (folder_tree); - if (uri != NULL) { - account = e_get_account_by_source_url (uri); - g_free (uri); - } - dialog = em_subscription_editor_new ( GTK_WINDOW (shell_window), CAMEL_SESSION (session), account); diff --git a/modules/mail/e-mail-shell-view.c b/modules/mail/e-mail-shell-view.c index 7655fba835..4af7de5a1b 100644 --- a/modules/mail/e-mail-shell-view.c +++ b/modules/mail/e-mail-shell-view.c @@ -844,7 +844,7 @@ mail_shell_view_update_actions (EShellView *shell_view) EMailBackend *backend; EMailSession *session; EMailView *mail_view; - EAccount *account = NULL; + EAccount *account; GtkAction *action; GList *list; const gchar *label; @@ -902,6 +902,8 @@ mail_shell_view_update_actions (EShellView *shell_view) (state & E_MAIL_SIDEBAR_STORE_SUPPORTS_SUBSCRIPTIONS); uri = em_folder_tree_get_selected_uri (folder_tree); + account = em_folder_tree_get_selected_account (folder_tree); + if (uri != NULL) { GtkTreeRowReference *reference; EMFolderTreeModel *model; @@ -919,8 +921,6 @@ mail_shell_view_update_actions (EShellView *shell_view) folder_tree_and_message_list_agree = (g_strcmp0 (uri, folder_uri) == 0); - account = e_get_account_by_source_url (uri); - /* FIXME This belongs in a GroupWise plugin. */ account_is_groupwise = (g_strrstr (uri, "groupwise://") != NULL) && -- cgit