From b688b36e2d6883f475f653a4f56a160f7b9b2578 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 14 Jun 2013 15:05:43 -0400 Subject: MessageList: Add a "show-deleted" property. Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted() --- mail/message-list.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'mail/message-list.c') diff --git a/mail/message-list.c b/mail/message-list.c index f7c58d22d4..77b82efcb8 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -102,6 +102,7 @@ struct _MessageListPrivate { struct _MLSelection clipboard; gboolean destroyed; + gboolean show_deleted; gboolean thread_latest; gboolean thread_subject; gboolean any_row_changed; /* save state before regen list when this is set to true */ @@ -156,6 +157,7 @@ enum { PROP_FOLDER, PROP_PASTE_TARGET_LIST, PROP_SESSION, + PROP_SHOW_DELETED, PROP_THREAD_LATEST, PROP_THREAD_SUBJECT }; @@ -2691,6 +2693,12 @@ message_list_set_property (GObject *object, g_value_get_object (value)); return; + case PROP_SHOW_DELETED: + message_list_set_show_deleted ( + MESSAGE_LIST (object), + g_value_get_boolean (value)); + return; + case PROP_THREAD_LATEST: message_list_set_thread_latest ( MESSAGE_LIST (object), @@ -2742,6 +2750,13 @@ message_list_get_property (GObject *object, MESSAGE_LIST (object))); return; + case PROP_SHOW_DELETED: + g_value_set_boolean ( + value, + message_list_get_show_deleted ( + MESSAGE_LIST (object))); + return; + case PROP_THREAD_LATEST: g_value_set_boolean ( value, @@ -2942,6 +2957,18 @@ message_list_class_init (MessageListClass *class) G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + g_object_class_install_property ( + object_class, + PROP_SHOW_DELETED, + g_param_spec_boolean ( + "show-deleted", + "Show Deleted", + "Show messages marked for deletion", + FALSE, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT | + G_PARAM_STATIC_STRINGS)); + g_object_class_install_property ( object_class, PROP_THREAD_LATEST, @@ -4017,6 +4044,32 @@ message_list_get_paste_target_list (MessageList *message_list) return message_list->priv->paste_target_list; } +gboolean +message_list_get_show_deleted (MessageList *message_list) +{ + g_return_val_if_fail (IS_MESSAGE_LIST (message_list), FALSE); + + return message_list->priv->show_deleted; +} + +void +message_list_set_show_deleted (MessageList *message_list, + gboolean show_deleted) +{ + g_return_if_fail (IS_MESSAGE_LIST (message_list)); + + if (show_deleted == message_list->priv->show_deleted) + return; + + message_list->priv->show_deleted = show_deleted; + + g_object_notify (G_OBJECT (message_list), "show-deleted"); + + /* Changing this property triggers a message list regen. */ + if (message_list->frozen == 0) + mail_regen_list (message_list, message_list->search, FALSE); +} + gboolean message_list_get_thread_latest (MessageList *message_list) { -- cgit v1.2.3