aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-05-03 07:07:06 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:42:05 +0800
commit282701a518017e2e6ba3f7910e045c2bbe052190 (patch)
tree62ec7567a542a54baf81132e45fe7e75bc2cc6e6 /modules
parenta216303baf631f18b592b3e5bb051b3741846477 (diff)
downloadgsoc2013-evolution-282701a518017e2e6ba3f7910e045c2bbe052190.tar.gz
gsoc2013-evolution-282701a518017e2e6ba3f7910e045c2bbe052190.tar.zst
gsoc2013-evolution-282701a518017e2e6ba3f7910e045c2bbe052190.zip
Add em_folder_tree_get_selected_account().
Comes in handy for a few EMailShellView actions.
Diffstat (limited to 'modules')
-rw-r--r--modules/mail/e-mail-shell-view-actions.c19
-rw-r--r--modules/mail/e-mail-shell-view.c6
2 files changed, 7 insertions, 18 deletions
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) &&