diff options
-rw-r--r-- | mail/ChangeLog | 11 | ||||
-rw-r--r-- | mail/folder-browser.c | 11 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 5 |
3 files changed, 24 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 42112d8cd4..3e5f9e419f 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,14 @@ +2002-07-24 Peter Williams <peterw@ximian.com> + + * mail-callbacks.c (do_mail_fetch_and_print): Check for whether + current_message is NULL as well as preview_shown (if we tried to + load the message and failed, as may happen in offline mode.) + (done_message_selected): Only print if we actually got the message. + + * folder-browser.c (folder_browser_query_changed): New function, + use this on the query_changed signal. Don't run the search if + they only changed the dropdown. + 2002-07-23 Peter Williams <peterw@ximian.com> * mail-ops.c (get_store_get): Call camel_session_get_service diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 53b410c9b0..c104cc2c17 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -1185,6 +1185,15 @@ folder_browser_search_do_search (ESearchBar *esb, FolderBrowser *fb) return; } +static void +folder_browser_query_changed (ESearchBar *esb, FolderBrowser *fb) +{ + if (e_search_bar_get_item_id (esb) != E_FILTERBAR_ADVANCED_ID) + return; + + folder_browser_search_do_search (esb, fb); +} + void folder_browser_toggle_preview (BonoboUIComponent *component, const char *path, @@ -2289,7 +2298,7 @@ folder_browser_gui_init (FolderBrowser *fb) gtk_signal_connect (GTK_OBJECT (fb->search), "search_activated", GTK_SIGNAL_FUNC (folder_browser_search_do_search), fb); gtk_signal_connect (GTK_OBJECT (fb->search), "query_changed", - GTK_SIGNAL_FUNC (folder_browser_search_do_search), fb); + GTK_SIGNAL_FUNC (folder_browser_query_changed), fb); gtk_table_attach (GTK_TABLE (fb), GTK_WIDGET (fb->search), diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c index 15a8fc22bf..6e3cbb88a5 100644 --- a/mail/mail-callbacks.c +++ b/mail/mail-callbacks.c @@ -2938,14 +2938,15 @@ done_message_selected (CamelFolder *folder, const char *uid, CamelMimeMessage *m fb->loaded_uid = fb->loading_uid; fb->loading_uid = NULL; - do_mail_print (fb, preview); + if (msg) + do_mail_print (fb, preview); } /* Ack! Most of this is copied from folder-browser.c */ static void do_mail_fetch_and_print (FolderBrowser *fb, gboolean preview) { - if (!fb->preview_shown) { + if (!fb->preview_shown || fb->mail_display->current_message == NULL) { /* If the preview pane is closed, we have to do some extra magic to load the message. */ struct blarg_this_sucks *blarg = g_new (struct blarg_this_sucks, 1); |