diff options
author | Jeffrey Stedfast <fejj@novell.com> | 2004-05-28 02:32:58 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2004-05-28 02:32:58 +0800 |
commit | d33595efe978a3955fff9ed66b4a2e643176c929 (patch) | |
tree | 144e519bfe99c0c817da1dbc770b359064d35f4a /mail/em-folder-tree.c | |
parent | 59751421bd172683daf29a9c11cc52a7b988d319 (diff) | |
download | gsoc2013-evolution-d33595efe978a3955fff9ed66b4a2e643176c929.tar.gz gsoc2013-evolution-d33595efe978a3955fff9ed66b4a2e643176c929.tar.zst gsoc2013-evolution-d33595efe978a3955fff9ed66b4a2e643176c929.zip |
Instead of removing the "Loading..." row for toplevel folder nodes on
2004-05-27 Jeffrey Stedfast <fejj@novell.com>
* em-folder-tree.c (emft_get_folder_info__got): Instead of
removing the "Loading..." row for toplevel folder nodes on failure
(which indicates a failure conenct to the server, most likely),
collapse the store node so that if the user expands the store
node, it will automagically try connecting again. Fixes bug #57493.
svn path=/trunk/; revision=26115
Diffstat (limited to 'mail/em-folder-tree.c')
-rw-r--r-- | mail/em-folder-tree.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mail/em-folder-tree.c b/mail/em-folder-tree.c index b2b78418b2..2ba92fb2e8 100644 --- a/mail/em-folder-tree.c +++ b/mail/em-folder-tree.c @@ -1583,6 +1583,7 @@ emft_get_folder_info__got (struct _mail_msg *mm) CamelFolderInfo *fi; GtkTreeStore *model; GtkTreePath *path; + gboolean is_store; gboolean load; /* check that we haven't been destroyed */ @@ -1607,6 +1608,7 @@ emft_get_folder_info__got (struct _mail_msg *mm) /* make sure we still need to load the tree subfolders... */ gtk_tree_model_get ((GtkTreeModel *) model, &root, COL_BOOL_LOAD_SUBDIRS, &load, + COL_BOOL_IS_STORE, &is_store, -1); if (!load) { if (priv->do_multiselect && m->select_uri) @@ -1629,7 +1631,16 @@ emft_get_folder_info__got (struct _mail_msg *mm) if (fi == NULL) { /* no children afterall... remove the "Loading..." placeholder node */ emft_update_model_expanded_state (priv, &root, FALSE); - gtk_tree_store_remove (model, &iter); + + if (is_store) { + path = gtk_tree_model_get_path ((GtkTreeModel *) model, &root); + gtk_tree_view_collapse_row (priv->treeview, path); + emft_queue_save_state (m->emft); + gtk_tree_path_free (path); + return; + } else { + gtk_tree_store_remove (model, &iter); + } } else { int fully_loaded = (m->flags & CAMEL_STORE_FOLDER_INFO_RECURSIVE) ? TRUE : FALSE; |