diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2004-01-31 06:16:48 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2004-01-31 06:16:48 +0800 |
commit | 728677a50b2f8f0fd7e8d70f5502e6d36f679a2f (patch) | |
tree | 542e01f23c9a9eadf8ba1be93ac0873a2ccd00e3 /mail/em-folder-tree-model.h | |
parent | dc9814258153575748d18243304d7d594e673545 (diff) | |
download | gsoc2013-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.h | 14 |
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 { |