aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree-model.h
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2004-01-31 06:16:48 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2004-01-31 06:16:48 +0800
commit728677a50b2f8f0fd7e8d70f5502e6d36f679a2f (patch)
tree542e01f23c9a9eadf8ba1be93ac0873a2ccd00e3 /mail/em-folder-tree-model.h
parentdc9814258153575748d18243304d7d594e673545 (diff)
downloadgsoc2013-evolution-728677a50b2f8f0fd7e8d70f5502e6d36f679a2f.tar.gz
gsoc2013-evolution-728677a50b2f8f0fd7e8d70f5502e6d36f679a2f.tar.zst
gsoc2013-evolution-728677a50b2f8f0fd7e8d70f5502e6d36f679a2f.zip
Fixes for bug #53348
2004-01-30 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #53348 * mail-account-gui.c (mail_account_gui_save): Only add the new store to the mail-component if the mail-component doesn't already know about it (ie. only if we are adding a new account). * em-folder-tree-model.c (em_folder_tree_model_add_store): Hash our store-info based on account here. (em_folder_tree_model_init): Listen for account_changed/account_removed signals. (em_folder_tree_model_finalize): Disconnect above handlers. (account_changed): Tear down the account store node and replace it with the new store (assuming it belongs in the tree after the changes). (account_removed): Remove the account store from the tree. svn path=/trunk/; revision=24551
Diffstat (limited to 'mail/em-folder-tree-model.h')
-rw-r--r--mail/em-folder-tree-model.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/mail/em-folder-tree-model.h b/mail/em-folder-tree-model.h
index fb0f54a9f0..2dbe7a2a5b 100644
--- a/mail/em-folder-tree-model.h
+++ b/mail/em-folder-tree-model.h
@@ -29,6 +29,8 @@
#include <camel/camel-store.h>
+#include <e-util/e-account-list.h>
+
#ifdef __cplusplus
extern "C" {
#pragma }
@@ -65,6 +67,7 @@ struct _EMFolderTreeModelStoreInfo {
CamelStore *store;
GtkTreeRowReference *row;
GHashTable *path_hash; /* maps CamelFolderInfo::path's to GtkTreeRowReferences */
+ EAccount *account;
char *display_name;
@@ -80,9 +83,14 @@ struct _EMFolderTreeModel {
char *filename; /* state filename */
- GHashTable *store_hash; /* maps CamelStore's to store-info's */
- GHashTable *uri_hash; /* maps URI's to GtkTreeRowReferences */
- GHashTable *expanded; /* saved expanded state from previous session */
+ GHashTable *store_hash; /* maps CamelStore's to store-info's */
+ GHashTable *uri_hash; /* maps URI's to GtkTreeRowReferences */
+ GHashTable *expanded; /* saved expanded state from previous session */
+
+ EAccountList *accounts;
+ GHashTable *account_hash; /* maps accounts to store-info's */
+ gulong account_changed_id;
+ gulong account_removed_id;
};
struct _EMFolderTreeModelClass {