diff options
Diffstat (limited to 'mail/em-folder-tree-model.c')
-rw-r--r-- | mail/em-folder-tree-model.c | 142 |
1 files changed, 5 insertions, 137 deletions
diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c index cc674cd792..1e7840710f 100644 --- a/mail/em-folder-tree-model.c +++ b/mail/em-folder-tree-model.c @@ -426,11 +426,6 @@ folder_tree_model_set_property (GObject *object, EM_FOLDER_TREE_MODEL (object), g_value_get_object (value)); return; - case PROP_BACKEND: - em_folder_tree_model_set_backend ( - EM_FOLDER_TREE_MODEL (object), - g_value_get_object (value)); - return; } G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -456,74 +451,11 @@ folder_tree_model_get_property (GObject *object, em_folder_tree_model_get_backend ( EM_FOLDER_TREE_MODEL (object))); return; - case PROP_BACKEND: - g_value_set_object ( - value, - em_folder_tree_model_get_backend ( - EM_FOLDER_TREE_MODEL (object))); - return; } G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } - -static void -folder_tree_model_constructed (GObject *object) -{ - EShell *shell; - EShellSettings *shell_settings; - EMFolderTreeModel *model; - - GType col_types[] = { - G_TYPE_STRING, /* display name */ - G_TYPE_POINTER, /* store object */ - G_TYPE_STRING, /* full name */ - G_TYPE_STRING, /* icon name */ - G_TYPE_STRING, /* uri */ - G_TYPE_UINT, /* unread count */ - G_TYPE_UINT, /* flags */ - G_TYPE_BOOLEAN, /* is a store node */ - G_TYPE_BOOLEAN, /* is a folder node */ - G_TYPE_BOOLEAN, /* has not-yet-loaded subfolders */ - G_TYPE_UINT, /* last known unread count */ - G_TYPE_BOOLEAN, /* folder is a draft folder */ - G_TYPE_UINT /* user's sortorder */ - }; - - model = EM_FOLDER_TREE_MODEL (object); - shell = e_shell_backend_get_shell (E_SHELL_BACKEND (model->priv->backend)); - shell_settings = e_shell_get_shell_settings (shell); - - gtk_tree_store_set_column_types ( - GTK_TREE_STORE (model), NUM_COLUMNS, col_types); - gtk_tree_sortable_set_default_sort_func ( - GTK_TREE_SORTABLE (model), - folder_tree_model_sort, shell, NULL); - gtk_tree_sortable_set_sort_column_id ( - GTK_TREE_SORTABLE (model), - GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, - GTK_SORT_ASCENDING); - - model->priv->accounts = e_get_account_list (); - model->priv->account_changed_id = g_signal_connect ( - model->priv->accounts, "account-changed", - G_CALLBACK (account_changed_cb), model); - model->priv->account_removed_id = g_signal_connect ( - model->priv->accounts, "account-removed", - G_CALLBACK (account_removed_cb), model); - model->priv->account_added_id = g_signal_connect ( - model->priv->accounts, "account-added", - G_CALLBACK (account_added_cb), model); - - g_signal_connect_swapped (model->priv->backend, "account-sort-order-changed", G_CALLBACK (account_sort_order_changed_cb), model); - g_signal_connect_swapped (shell_settings, "notify::mail-sort-accounts-alpha", G_CALLBACK (account_sort_order_changed_cb), model); - g_signal_connect_swapped (shell_settings, "notify::mail-enable-local-folders", G_CALLBACK (enable_local_folders_changed_cb), model); - g_signal_connect_swapped (shell_settings, "notify::mail-enable-search-folders", G_CALLBACK (enable_search_folders_changed_cb), model); - - G_OBJECT_CLASS (parent_class)->constructed (object); -} - static void folder_tree_model_dispose (GObject *object) { @@ -560,24 +492,6 @@ folder_tree_model_dispose (GObject *object) priv->backend = NULL; } - if (priv->backend) { - EShell *shell; - EShellSettings *shell_settings; - EMFolderTreeModel *model; - - model = EM_FOLDER_TREE_MODEL (object); - shell = e_shell_backend_get_shell (E_SHELL_BACKEND (priv->backend)); - shell_settings = e_shell_get_shell_settings (shell); - - g_signal_handlers_disconnect_by_func (priv->backend, G_CALLBACK (account_sort_order_changed_cb), model); - g_signal_handlers_disconnect_by_func (shell_settings, G_CALLBACK (account_sort_order_changed_cb), model); - g_signal_handlers_disconnect_by_func (shell_settings, G_CALLBACK (enable_local_folders_changed_cb), model); - g_signal_handlers_disconnect_by_func (shell_settings, G_CALLBACK (enable_search_folders_changed_cb), model); - - g_object_unref (priv->backend); - priv->backend = NULL; - } - /* Chain up to parent's dispose() method. */ G_OBJECT_CLASS (parent_class)->dispose (object); } @@ -662,7 +576,6 @@ em_folder_tree_model_class_init (EMFolderTreeModelClass *class) object_class = G_OBJECT_CLASS (class); object_class->set_property = folder_tree_model_set_property; object_class->get_property = folder_tree_model_get_property; - object_class->constructed = folder_tree_model_constructed; object_class->dispose = folder_tree_model_dispose; object_class->finalize = folder_tree_model_finalize; object_class->constructed = folder_tree_model_constructed; @@ -687,16 +600,6 @@ em_folder_tree_model_class_init (EMFolderTreeModelClass *class) GTK_TYPE_TREE_SELECTION, G_PARAM_READWRITE)); - g_object_class_install_property ( - object_class, - PROP_BACKEND, - g_param_spec_object ( - "backend", - NULL, - NULL, - E_TYPE_MAIL_BACKEND, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - signals[LOADING_ROW] = g_signal_new ( "loading-row", G_OBJECT_CLASS_TYPE (object_class), @@ -797,26 +700,18 @@ em_folder_tree_model_init (EMFolderTreeModel *model) } EMFolderTreeModel * -em_folder_tree_model_new (EMailBackend *mail_backend) +em_folder_tree_model_new (void) { - return g_object_new (EM_TYPE_FOLDER_TREE_MODEL, "backend", mail_backend, NULL); + return g_object_new (EM_TYPE_FOLDER_TREE_MODEL, NULL); } EMFolderTreeModel * -em_folder_tree_model_get_default (EMailBackend *mail_backend) +em_folder_tree_model_get_default (void) { static EMFolderTreeModel *default_folder_tree_model; - if (G_UNLIKELY (default_folder_tree_model == NULL)) { - if (!mail_backend) { - EShell *shell; - - shell = e_shell_get_default (); - mail_backend = E_MAIL_BACKEND (e_shell_get_backend_by_name (shell, "mail")); - } - - default_folder_tree_model = em_folder_tree_model_new (mail_backend); - } + if (G_UNLIKELY (default_folder_tree_model == NULL)) + default_folder_tree_model = em_folder_tree_model_new (); return default_folder_tree_model; } @@ -919,33 +814,6 @@ em_folder_tree_model_set_backend (EMFolderTreeModel *model, g_object_notify (G_OBJECT (model), "backend"); } -EMailBackend * -em_folder_tree_model_get_backend (EMFolderTreeModel *model) -{ - g_return_val_if_fail (EM_IS_FOLDER_TREE_MODEL (model), NULL); - - return model->priv->backend; -} - -void -em_folder_tree_model_set_backend (EMFolderTreeModel *model, - EMailBackend *backend) -{ - g_return_if_fail (EM_IS_FOLDER_TREE_MODEL (model)); - - if (backend != NULL) { - g_return_if_fail (E_IS_MAIL_BACKEND (backend)); - g_object_ref (backend); - } - - if (model->priv->backend != NULL) - g_object_unref (model->priv->backend); - - model->priv->backend = backend; - - g_object_notify (G_OBJECT (model), "backend"); -} - void em_folder_tree_model_set_folder_info (EMFolderTreeModel *model, GtkTreeIter *iter, |