From 35645d523e2f62a8742218e092afdad84f7221a1 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Tue, 24 Aug 2004 02:54:03 +0000 Subject: store the select-uri on the view not in the thread message. 2004-08-23 Not Zed * em-folder-tree.c (em_folder_tree_set_selected): store the select-uri on the view not in the thread message. (emft_get_folder_info__free): (emft_get_folder_info__got): select_uri removed. (em_folder_tree_set_selected_list): don't set each selected separately, do it as a list. (emft_maybe_expand_row): if this is a selected row, select it too. (emft_get_folder_info__got): do no pending set selection stuff here. (em_folder_tree_set_selected): just call set_selected_list with one item. (emft_expand_node): if this is a selected row, select it too. (emft_get_folder_info__got): no longer need to track lost folders. (emft_tree_row_activated): clear the pending select list. (emft_tree_selection_changed): and here too. (em_folder_tree_get_selected_uris): get the lost folders from the un-applied selected ones now. also fixes a list appending error. (emft_tree_user_event): find out when the user hits a key or mouse button to override any pending single-user select and don't override the cursor setting either. (emft_tree_row_expanded): set the 'load subdirs' false before we load it, so we don't try to load it again if its still being loaded. (emft_get_folder_info__got): don't check the loaded flag here, it should be set by the callee, also check the exception return. svn path=/trunk/; revision=27002 --- mail/em-folder-tree-model.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'mail/em-folder-tree-model.c') diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c index ffbbe60b72..6947dc5ef4 100644 --- a/mail/em-folder-tree-model.c +++ b/mail/em-folder-tree-model.c @@ -924,7 +924,11 @@ em_folder_tree_model_get_expanded (EMFolderTreeModel *model, const char *key) xmlNodePtr node; const char *name; char *buf, *p; - + + /* This code needs to be rewritten. + First it doesn't belong on the model + Second, it shouldn't use an xml tree to store a bit table in memory! */ + node = model->state ? model->state->children : NULL; if (!node || strcmp (node->name, "tree-state") != 0) return FALSE; -- cgit v1.2.3