diff options
-rw-r--r-- | mail/ChangeLog | 8 | ||||
-rw-r--r-- | mail/folder-browser.c | 4 | ||||
-rw-r--r-- | mail/message-list.c | 10 |
3 files changed, 16 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 5ad82a8c6d..5a6afafd49 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,11 @@ +2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> + + * folder-browser.c (folder_browser_load_folder): Disable + Search capability menu/entry if folder doesn't support it. + + * message-list.c (message_list_regenerate): Don't perform + a search if the folder doesn't support it. + 2000-07-11 Dan Winship <danw@helixcode.com> * mail-ops.c (real_send_mail): Set the post_send_data flag rather diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 7694ab27ae..d8c5b4a39b 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -181,6 +181,9 @@ folder_browser_load_folder (FolderBrowser *fb, const char *name) if (fb->folder) gtk_object_unref (GTK_OBJECT (fb->folder)); fb->folder = new_folder; + + gtk_widget_set_sensitive (GTK_WIDGET (fb->search_entry), camel_folder_has_search_capability (fb->folder)); + gtk_widget_set_sensitive (GTK_WIDGET (fb->search_menu), camel_folder_has_search_capability (fb->folder)); message_list_set_folder (fb->message_list, new_folder); @@ -406,7 +409,6 @@ folder_browser_gui_init (FolderBrowser *fb) gtk_widget_show (GTK_WIDGET (fb->mail_display)); gtk_widget_show (GTK_WIDGET (fb)); - } static void diff --git a/mail/message-list.c b/mail/message-list.c index 97347dd87c..73ac39d608 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -810,10 +810,10 @@ message_list_regenerate (MessageList *message_list, const char *search) g_hash_table_destroy (message_list->uid_rowmap); } message_list->uid_rowmap = g_hash_table_new (g_str_hash, g_str_equal); - - if (search) { + + if (search && camel_folder_has_search_capability (message_list->folder)) { CamelException ex; - + camel_exception_init (&ex); uids = camel_folder_search_by_expression (message_list->folder, search, &ex); @@ -826,9 +826,9 @@ message_list_regenerate (MessageList *message_list, const char *search) message_list->search = g_strdup (search); } else uids = camel_folder_get_uids (message_list->folder, NULL); - + /* FIXME: free the old tree data */ - + /* Clear the old contents, build the new */ if (message_list->tree_root) e_tree_model_node_remove(etm, message_list->tree_root); |