From e1e2d6393df2a7e1af08a18330fe65c49d81d9c9 Mon Sep 17 00:00:00 2001 From: Sam Creasey Date: Tue, 3 Jul 2001 02:56:39 +0000 Subject: Added an MailAccountEditorNews, for NNTP configuratuion. Based on 2001-07-02 Sam Creasey * mail-account-editor-news.c: Added an MailAccountEditorNews, for NNTP configuratuion. Based on MailAccountEditor, but stripped. * Makefile.am: added mail-account-editor-news.c and mail-account-editor-news.h to SOURCES if ENABLE_NNTP is defined. * mail-accounts.c (load_news): Moved this function, and fixed some slight brokenness. (news_edit): Added functional code using MailAccountEditorNews (news_add): Added functional code using news_edit after allocation. * mail-config.glade: news_editor_window widget added. Used by MailAccountEditorNews. * mail-display.c (save_data_cb): Store the pathname used when saving messages so that the next save box will default to the previous path. * message-browser.c (message_browser_new): add signal handler for size_allocate on the message browser. Thus new windows are size as they were last allocated. (message_browser_size_allocate_cb): handler to store allocations. * message-list.c (message_list_setup_etree): connect to the info_changed signals for the state of the message_list->tree. Save the folder state to disk, so that when additional message_lists are created, they are consistant. e.g. the next buttons do the same thing in the browser, and in the message viewer after changing sorting options. * subscribe-dialog.c (build_tree): freeze sc->folder model while building the tree. Not doing so takes a very long time over 40000 newsgroups. svn path=/trunk/; revision=10719 --- mail/message-list.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'mail/message-list.c') diff --git a/mail/message-list.c b/mail/message-list.c index ca893b9606..61a99abed3 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -1007,9 +1007,17 @@ save_tree_state(MessageList *ml) g_free(filename); } +static void +sort_info_changed (GtkWidget *widget, MessageList *ml) +{ + save_tree_state(ml); +} + static void message_list_setup_etree(MessageList *message_list, gboolean outgoing) { + ETableState *etstate; + /* build the spec based on the folder, and possibly from a saved file */ /* otherwise, leave default */ if (message_list->folder) { @@ -1043,6 +1051,18 @@ message_list_setup_etree(MessageList *message_list, gboolean outgoing) g_free (path); g_free (name); + + etstate = e_tree_get_state_object(message_list->tree); + gtk_signal_connect(GTK_OBJECT(etstate->sort_info), + "sort_info_changed", + GTK_SIGNAL_FUNC(sort_info_changed), + message_list); + gtk_signal_connect(GTK_OBJECT(etstate->sort_info), + "group_info_changed", + GTK_SIGNAL_FUNC(sort_info_changed), + message_list); + + } } -- cgit v1.2.3