From 57db15334b2ea42d619024a48bda764af46d0e2a Mon Sep 17 00:00:00 2001 From: jacob berkman Date: Mon, 25 Jun 2001 21:12:10 +0000 Subject: sync folders after we've gotten mail 2001-06-25 jacob berkman * mail-send-recv.c (free_send_data): sync folders after we've gotten mail * folder-browser-factory.c (control_activate): set the ui component on the folder browser (control_activate): update the view preview item (control_deactivate): don't sync the folder here (control_deactivate): unset the ui component of the folder browser * mail-callbacks.c (toggle_flags): stuff from jleach to add an importance keybinding (mark_as_important): ditto (toggle_as_important): again * mail-config.c (mail_config_get_show_preview): (mail_config_set_show_preview): basically a copy of get_thread_list() but for the preview pane * folder-browser.c (folder_browser_destroy): unref the our ui component (folder_browser_set_ui_component): new function for setting the ui component (save_cursor_pos): (set_cursor_pos): try to show the selected row when the preview pane is shown (folder_browser_set_message_preview): implement (folder_browser_toggle_preview): toggle the preview (duh) (on_key_press): add keybindings for marking as important (!), and hiding the preview pane (q) (etree_key): clean up a little bit, and make enter either show the preview pane or open the message (fb_resize_cb): only save the paned size if the preview is alread shown (folder_browser_gui_init): pass ourselves to fb_resize_cb (on_message_selected): only add the timeout if the preview is shown svn path=/trunk/; revision=10491 --- mail/mail-send-recv.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'mail/mail-send-recv.c') diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index f59f322a3d..ac1d58ab19 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -50,6 +50,10 @@ #include "mail-ops.h" #include "mail-send-recv.h" +#include "folder-browser-factory.h" +#include "folder-browser.h" +#include "e-util/e-list.h" + #define d(x) /* ms between status updates to the gui */ @@ -164,6 +168,8 @@ static void free_send_data(void) { struct _send_data *data = send_data; + EList *list; + EIterator *it; g_assert(g_hash_table_size(data->active) == 0); @@ -179,6 +185,16 @@ free_send_data(void) } g_free(data); send_data = NULL; + + list = folder_browser_factory_get_control_list (); + for (it = e_list_get_iterator (list); e_iterator_is_valid (it); e_iterator_next (it)) { + BonoboControl *control = e_iterator_get (it); + if (control) { + FolderBrowser *fb = bonobo_control_get_widget (control); + if (fb && fb->folder) + mail_sync_folder (fb->folder, NULL, NULL); + } + } } -- cgit