diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 11 | ||||
-rw-r--r-- | mail/em-folder-browser.c | 10 | ||||
-rw-r--r-- | mail/message-list.c | 13 |
3 files changed, 31 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 220ad054de..11a39b674c 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,16 @@ 2008-04-30 Milan Crha <mcrha@redhat.com> + ** Fix for bug #528288 + + * em-folder-browser.c: (emfb_init), (em_folder_browser_show_wide): + Ensure minimum size for preview and message list. + * em-folder-browser.c: (get_view_query): + Distinguish between no filter and custom filter. + * message-list.c: (regen_list_done): + Set info message to tree when no message shown in a list. + +2008-04-30 Milan Crha <mcrha@redhat.com> + ** Fix for bug #530245 * searchtypes.xml: Let searches work with labels again. diff --git a/mail/em-folder-browser.c b/mail/em-folder-browser.c index d9b790837d..b2c4eb4c08 100644 --- a/mail/em-folder-browser.c +++ b/mail/em-folder-browser.c @@ -530,7 +530,7 @@ emfb_init(GObject *o) gtk_box_pack_start_defaults((GtkBox *)emfb, emfb->vpane); - gtk_paned_add1((GtkPaned *)emfb->vpane, (GtkWidget *)emfb->view.list); + gtk_paned_pack1 (GTK_PANED (emfb->vpane), GTK_WIDGET (emfb->view.list), FALSE, FALSE); gtk_widget_show((GtkWidget *)emfb->view.list); /* currently: just use a scrolledwindow for preview widget */ @@ -544,7 +544,7 @@ emfb_init(GObject *o) gtk_widget_show((GtkWidget *)emfb->view.preview->formathtml.html); gtk_box_pack_start ((GtkBox *)p->preview, p->scroll, TRUE, TRUE, 0); gtk_box_pack_start ((GtkBox *)p->preview, em_format_html_get_search_dialog (emfb->view.preview), FALSE, FALSE, 0); - gtk_paned_add2((GtkPaned *)emfb->vpane, p->preview); + gtk_paned_pack2 (GTK_PANED (emfb->vpane), p->preview, TRUE, FALSE); gtk_widget_show(p->preview); g_signal_connect (((EMFolderView *) emfb)->list->tree, "key_press", G_CALLBACK(emfb_list_key_press), emfb); @@ -754,6 +754,8 @@ void em_folder_browser_show_wide(EMFolderBrowser *emfb, gboolean state) gtk_widget_reparent((GtkWidget *)emfb->view.list, w); gtk_widget_reparent((GtkWidget *)emfb->priv->preview, w); gtk_widget_destroy(emfb->vpane); + gtk_container_child_set (GTK_CONTAINER (w), GTK_WIDGET (emfb->view.list), "resize", FALSE, "shrink", FALSE, NULL); + gtk_container_child_set (GTK_CONTAINER (w), GTK_WIDGET (emfb->priv->preview), "resize", TRUE, "shrink", FALSE, NULL); gtk_container_resize_children ((GtkContainer *)w); emfb->vpane = w; gtk_widget_show(w); @@ -868,6 +870,7 @@ get_view_query (ESearchBar *esb, CamelFolder *folder, const char *folder_uri) switch (id & VIEW_ITEMS_MASK) { case VIEW_ALL_MESSAGES: + /* one space indicates no filtering */ view_sexp = " "; break; @@ -929,7 +932,8 @@ get_view_query (ESearchBar *esb, CamelFolder *folder, const char *folder_uri) break; case VIEW_CUSTOMIZE: - view_sexp = " "; + /* one space indicates no filtering, so here use two */ + view_sexp = " "; break; } diff --git a/mail/message-list.c b/mail/message-list.c index b811941978..677e0db6e7 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -4095,6 +4095,15 @@ regen_list_done (struct _regen_list_msg *m) } } + if (message_list_length (m->ml) <= 0) { + /* space is used to indicate no search too */ + if (m->ml->search && strcmp (m->ml->search, " ") != 0) + e_tree_set_info_message (m->ml->tree, _("No message satisfies your search criteria. Either clear search with Search->Clear menu item or change it.")); + else + e_tree_set_info_message (m->ml->tree, _("There is currently no message in this folder.")); + } else + e_tree_set_info_message (m->ml->tree, NULL); + g_signal_emit (m->ml, message_list_signals[MESSAGE_LIST_BUILT], 0); } @@ -4182,6 +4191,10 @@ mail_regen_list (MessageList *ml, const char *search, const char *hideexpr, Came struct _regen_list_msg *m; GConfClient *gconf; + /* report empty search as NULL, not as one/two-space string */ + if (search && (strcmp (search, " ") == 0 || strcmp (search, " ") == 0)) + search = NULL; + if (ml->folder == NULL) { if (ml->search != search) { g_free(ml->search); |