From f67a5f3d42aa9d743e6b78ace26a6ed1dbdc43e7 Mon Sep 17 00:00:00 2001
From: Matthew Barnes <mbarnes@redhat.com>
Date: Tue, 30 Aug 2011 19:05:30 -0400
Subject: Miscellaneous cleanups.

Reducing diff noise with the account-mgmt branch.

Trying to erode our dependency on EAccount as much as possible, or at
least isolate its usage, to make things easier for me on the branch.
---
 mail/em-folder-tree.c | 43 +++++++++++--------------------------------
 1 file changed, 11 insertions(+), 32 deletions(-)

(limited to 'mail/em-folder-tree.c')

diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c
index 18320eccf7..85a0acbcb1 100644
--- a/mail/em-folder-tree.c
+++ b/mail/em-folder-tree.c
@@ -39,7 +39,6 @@
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n.h>
 
-#include "e-util/e-account-utils.h"
 #include "e-util/e-mktemp.h"
 #include "e-util/e-icon-factory.h"
 #include "e-util/e-alert-dialog.h"
@@ -496,10 +495,9 @@ folder_tree_expand_node (const gchar *key,
 	GtkTreeView *tree_view;
 	GtkTreeModel *model;
 	GtkTreePath *path;
-	EAccount *account;
 	EMailBackend *backend;
 	EMailSession *session;
-	CamelStore *store;
+	CamelService *service;
 	const gchar *p;
 	gchar *uid;
 	gsize n;
@@ -520,36 +518,21 @@ folder_tree_expand_node (const gchar *key,
 	backend = em_folder_tree_get_backend (folder_tree);
 	session = e_mail_backend_get_session (backend);
 
-	if ((account = e_get_account_by_uid (uid)) && account->enabled) {
-		store = (CamelStore *) camel_session_get_service (
-			CAMEL_SESSION (session), account->uid);
-
-		if (store == NULL)
-			return;
-
-		g_object_ref (store);
-	} else if (!strcmp (uid, "vfolder")) {
-		if (!(store = vfolder_store))
-			return;
-
-		g_object_ref (store);
-	} else if (!strcmp (uid, "local")) {
-		if (!(store = e_mail_local_get_store ()))
-			return;
+	service = camel_session_get_service (CAMEL_SESSION (session), uid);
 
-		g_object_ref (store);
-	} else {
+	if (!CAMEL_IS_STORE (service))
 		return;
-	}
+
+	g_object_ref (service);
 
 	si = em_folder_tree_model_lookup_store_info (
-		EM_FOLDER_TREE_MODEL (model), store);
+		EM_FOLDER_TREE_MODEL (model), CAMEL_STORE (service));
 	if (si == NULL) {
-		g_object_unref (store);
+		g_object_unref (service);
 		return;
 	}
 
-	g_object_unref (store);
+	g_object_unref (service);
 
 	if (p != NULL) {
 		if (!(row = g_hash_table_lookup (si->full_hash, p + 1)))
@@ -3308,15 +3291,14 @@ em_folder_tree_get_selected_folder (EMFolderTree *folder_tree)
 	return folder;
 }
 
-EAccount *
-em_folder_tree_get_selected_account (EMFolderTree *folder_tree)
+CamelStore *
+em_folder_tree_get_selected_store (EMFolderTree *folder_tree)
 {
 	GtkTreeView *tree_view;
 	GtkTreeSelection *selection;
 	GtkTreeModel *model;
 	GtkTreeIter iter;
 	CamelStore *store = NULL;
-	const gchar *uid = NULL;
 
 	g_return_val_if_fail (EM_IS_FOLDER_TREE (folder_tree), NULL);
 
@@ -3331,10 +3313,7 @@ em_folder_tree_get_selected_account (EMFolderTree *folder_tree)
 			model, &iter,
 			COL_POINTER_CAMEL_STORE, &store, -1);
 
-	if (CAMEL_IS_STORE (store))
-		uid = camel_service_get_uid (CAMEL_SERVICE (store));
-
-	return (uid != NULL) ? e_get_account_by_uid (uid) : NULL;
+	return CAMEL_IS_STORE (store) ? store : NULL;
 }
 
 void
-- 
cgit