Bug #594015 - Keeps "Loading..." node on the first fetch

This commit is contained in:
Milan Crha
2009-09-29 19:54:09 +02:00
parent 274fd1329d
commit a0d0dd604b
2 changed files with 13 additions and 2 deletions

View File

@ -1000,6 +1000,7 @@ em_folder_tree_model_add_store (EMFolderTreeModel *model,
COL_STRING_FULL_NAME, NULL,
COL_BOOL_LOAD_SUBDIRS, FALSE,
COL_BOOL_IS_STORE, FALSE,
COL_BOOL_IS_FOLDER, FALSE,
COL_STRING_URI, NULL,
COL_UINT_UNREAD, 0,
COL_UINT_UNREAD_LAST_SEL, 0, -1);

View File

@ -243,11 +243,21 @@ folder_tree_get_folder_info__done (struct _EMFolderTreeGetFolderInfo *m)
/* get the first child (which will be a dummy node) */
gtk_tree_model_iter_children (model, &iter, &root);
/* Traverse to the last valid iter */
/* Traverse to the last valid iter, or the "Loading..." node */
titer = iter;
while (gtk_tree_model_iter_next (model, &iter))
do {
gboolean is_store_node = FALSE, is_folder_node = FALSE;
titer = iter; /* Preserve the last valid iter */
gtk_tree_model_get (model, &iter, COL_BOOL_IS_STORE, &is_store_node, COL_BOOL_IS_FOLDER, &is_folder_node, -1);
/* stop on a "Loading..." node */
if (!is_store_node && !is_folder_node)
break;
} while (gtk_tree_model_iter_next (model, &iter));
iter = titer;
/* FIXME: camel's IMAP code is totally on crack here, @top's