[evolution] ESettingsMessageList: Apply the "thread-expanded" setting.



commit b355b7c2ed87e22b6f8a2471459277ab482c2d7a
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Jun 14 11:17:55 2013 -0400

    ESettingsMessageList: Apply the "thread-expanded" setting.

 mail/message-list.c                        |   53 +++++++++++++---------------
 modules/settings/e-settings-message-list.c |    6 +++
 2 files changed, 31 insertions(+), 28 deletions(-)
---
diff --git a/mail/message-list.c b/mail/message-list.c
index c871083..bf04cd2 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -2565,6 +2565,31 @@ message_list_init (MessageList *message_list)
 
        message_list->priv = MESSAGE_LIST_GET_PRIVATE (message_list);
 
+       /* FIXME This should be a GTypeInterface. */
+       message_list->model = e_tree_memory_callbacks_new (
+               ml_tree_icon_at,
+
+               ml_column_count,
+
+               ml_has_save_id,
+               ml_get_save_id,
+
+               ml_has_get_node_by_id,
+               ml_get_node_by_id,
+
+               ml_tree_sort_value_at,
+               ml_tree_value_at,
+               ml_tree_set_value_at,
+               ml_tree_is_cell_editable,
+
+               ml_duplicate_value,
+               ml_free_value,
+               ml_initialize_value,
+               ml_value_is_empty,
+               ml_value_to_string,
+
+               message_list);
+
        message_list->normalised_hash = g_hash_table_new_full (
                g_str_hash, g_str_equal,
                (GDestroyNotify) NULL,
@@ -2884,35 +2909,7 @@ message_list_construct (MessageList *message_list)
        gchar *etspecfile;
        GSettings *settings;
 
-       message_list->model =
-               e_tree_memory_callbacks_new (
-                       ml_tree_icon_at,
-
-                       ml_column_count,
-
-                       ml_has_save_id,
-                       ml_get_save_id,
-
-                       ml_has_get_node_by_id,
-                       ml_get_node_by_id,
-
-                       ml_tree_sort_value_at,
-                       ml_tree_value_at,
-                       ml_tree_set_value_at,
-                       ml_tree_is_cell_editable,
-
-                       ml_duplicate_value,
-                       ml_free_value,
-                       ml_initialize_value,
-                       ml_value_is_empty,
-                       ml_value_to_string,
-
-                       message_list);
-
        settings = g_settings_new ("org.gnome.evolution.mail");
-       e_tree_memory_set_expanded_default (
-               E_TREE_MEMORY (message_list->model),
-               g_settings_get_boolean (settings, "thread-expand"));
        message_list->priv->thread_latest =
                g_settings_get_boolean (settings, "thread-latest");
        g_object_unref (settings);
diff --git a/modules/settings/e-settings-message-list.c b/modules/settings/e-settings-message-list.c
index 16de426..123085c 100644
--- a/modules/settings/e-settings-message-list.c
+++ b/modules/settings/e-settings-message-list.c
@@ -52,6 +52,12 @@ settings_message_list_constructed (GObject *object)
                message_list, "thread-subject",
                G_SETTINGS_BIND_GET);
 
+       /* This setting only controls the initial message list
+        * state when in threaded mode, so just apply it here. */
+       e_tree_memory_set_expanded_default (
+               E_TREE_MEMORY (message_list->model),
+               g_settings_get_boolean (settings, "thread-expand"));
+
        g_object_unref (settings);
 
        /* Chain up to parent's constructed() method. */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]