From dfb793f762502fcc73a91c1e6799ee29cbbf5169 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Tue, 13 Apr 2004 16:00:21 +0000 Subject: track the messagelist hidedeleted value since it looks it up when we set 004-04-13 Not Zed * em-folder-view.c (emfv_set_folder): track the messagelist hidedeleted value since it looks it up when we set the folder. * em-folder-browser.c (emfb_hide_deleted): use new method below to propagate change. (emfb_activate): same. * em-folder-view.c (em_folder_view_set_hide_deleted): accessor to set the hide_deleted state, emits a view_changed event. * mail-component.c (view_changed_cb): use VISIBLE rather than TOTAL for the displayed total count. Also deleted if we're not in hide deleted mode. And do spethal things with spethal folders, etc. svn path=/trunk/; revision=25438 --- mail/em-folder-view.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mail/em-folder-view.c') diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 255cb9c3a6..f87aee7f8e 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -387,6 +387,7 @@ emfv_set_folder(EMFolderView *emfv, CamelFolder *folder, const char *uri) emfv->folder_uri = g_strdup(uri); if (emfv->folder) { + emfv->hide_deleted = emfv->list->hidedeleted; /* <- a bit nasty but makes it track the display better */ mail_sync_folder (emfv->folder, NULL, NULL); camel_object_remove_event(emfv->folder, emfv->priv->folder_changed_id); camel_object_unref(emfv->folder); @@ -1741,6 +1742,20 @@ em_folder_view_set_statusbar (EMFolderView *emfv, gboolean statusbar) "", NULL); } +void +em_folder_view_set_hide_deleted(EMFolderView *emfv, gboolean status) +{ + if (emfv->folder && (emfv->folder->folder_flags & CAMEL_FOLDER_IS_TRASH)) + status = FALSE; + + emfv->hide_deleted = status; + + if (emfv->folder) { + message_list_set_hidedeleted(emfv->list, status); + g_signal_emit(emfv, signals[EMFV_CHANGED], 0); + } +} + /* ********************************************************************** */ struct mst_t { -- cgit v1.2.3