aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-view.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-04-14 00:00:21 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-04-14 00:00:21 +0800
commitdfb793f762502fcc73a91c1e6799ee29cbbf5169 (patch)
tree5eee47af4eb8f3fc2abcba1f92b3a73aa6adda20 /mail/em-folder-view.c
parent8563120ccac076a0baf9cb904c23a87bbb59d960 (diff)
downloadgsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar.gz
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar.bz2
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar.lz
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar.xz
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.tar.zst
gsoc2013-evolution-dfb793f762502fcc73a91c1e6799ee29cbbf5169.zip
track the messagelist hidedeleted value since it looks it up when we set
004-04-13 Not Zed <NotZed@Ximian.com> * 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
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r--mail/em-folder-view.c15
1 files changed, 15 insertions, 0 deletions
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)
"<status><item name=\"main\"/></status>", 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 {