diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-04-29 07:19:47 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-04-29 07:19:47 +0800 |
commit | 0b04c6cfd743afcf5a4e6a195a120776074cb2a7 (patch) | |
tree | c9277ec82dcb31fd964c2d03cca28cc7cfad21f0 /mail/e-mail-shell-content.c | |
parent | bde9c2bff430b74c3eea7832221e2a8de2fb8272 (diff) | |
download | gsoc2013-evolution-0b04c6cfd743afcf5a4e6a195a120776074cb2a7.tar.gz gsoc2013-evolution-0b04c6cfd743afcf5a4e6a195a120776074cb2a7.tar.zst gsoc2013-evolution-0b04c6cfd743afcf5a4e6a195a120776074cb2a7.zip |
Get the "Hide Deleted Messages" option working.
Diffstat (limited to 'mail/e-mail-shell-content.c')
-rw-r--r-- | mail/e-mail-shell-content.c | 56 |
1 files changed, 54 insertions, 2 deletions
diff --git a/mail/e-mail-shell-content.c b/mail/e-mail-shell-content.c index 0f7e91f4ad..9f6de123aa 100644 --- a/mail/e-mail-shell-content.c +++ b/mail/e-mail-shell-content.c @@ -67,11 +67,13 @@ struct _EMailShellContentPrivate { guint preview_visible : 1; guint suppress_message_selection : 1; guint vertical_view : 1; + guint show_deleted : 1; }; enum { PROP_0, PROP_PREVIEW_VISIBLE, + PROP_SHOW_DELETED, PROP_VERTICAL_VIEW }; @@ -258,6 +260,12 @@ mail_shell_content_set_property (GObject *object, g_value_get_boolean (value)); return; + case PROP_SHOW_DELETED: + e_mail_shell_content_set_show_deleted ( + E_MAIL_SHELL_CONTENT (object), + g_value_get_boolean (value)); + return; + case PROP_VERTICAL_VIEW: e_mail_shell_content_set_vertical_view ( E_MAIL_SHELL_CONTENT (object), @@ -282,6 +290,13 @@ mail_shell_content_get_property (GObject *object, E_MAIL_SHELL_CONTENT (object))); return; + case PROP_SHOW_DELETED: + g_value_set_boolean ( + value, + e_mail_shell_content_get_show_deleted ( + E_MAIL_SHELL_CONTENT (object))); + return; + case PROP_VERTICAL_VIEW: g_value_set_boolean ( value, @@ -427,6 +442,10 @@ mail_shell_content_constructed (GObject *object) key = "/apps/evolution/mail/display/paned_size"; gconf_bridge_bind_property_delayed (bridge, key, object, "position"); + object = G_OBJECT (shell_content); + key = "/apps/evolution/mail/display/show_deleted"; + gconf_bridge_bind_property (bridge, key, object, "show-deleted"); + /* Message list customizations. */ reader = E_MAIL_READER (shell_content); @@ -461,8 +480,11 @@ mail_shell_content_get_action_group (EMailReader *reader) static gboolean mail_shell_content_get_hide_deleted (EMailReader *reader) { - /* FIXME */ - return TRUE; + EMailShellContent *mail_shell_content; + + mail_shell_content = E_MAIL_SHELL_CONTENT (reader); + + return !e_mail_shell_content_get_show_deleted (mail_shell_content); } static EMFormatHTMLDisplay * @@ -609,6 +631,16 @@ mail_shell_content_class_init (EMailShellContentClass *class) g_object_class_install_property ( object_class, + PROP_SHOW_DELETED, + g_param_spec_boolean ( + "show-deleted", + "Show Deleted", + NULL, + FALSE, + G_PARAM_READWRITE)); + + g_object_class_install_property ( + object_class, PROP_VERTICAL_VIEW, g_param_spec_boolean ( "vertical-view", @@ -723,6 +755,26 @@ e_mail_shell_content_set_preview_visible (EMailShellContent *mail_shell_content, } gboolean +e_mail_shell_content_get_show_deleted (EMailShellContent *mail_shell_content) +{ + g_return_val_if_fail ( + E_IS_MAIL_SHELL_CONTENT (mail_shell_content), FALSE); + + return mail_shell_content->priv->show_deleted; +} + +void +e_mail_shell_content_set_show_deleted (EMailShellContent *mail_shell_content, + gboolean show_deleted) +{ + g_return_if_fail (E_IS_MAIL_SHELL_CONTENT (mail_shell_content)); + + mail_shell_content->priv->show_deleted = show_deleted; + + g_object_notify (G_OBJECT (mail_shell_content), "show-deleted"); +} + +gboolean e_mail_shell_content_get_vertical_view (EMailShellContent *mail_shell_content) { g_return_val_if_fail ( |