diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2011-12-25 06:44:51 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2011-12-25 06:44:51 +0800 |
commit | e3735c74444e3fdc35d1677c3cdf68dfc174ce10 (patch) | |
tree | e596d9a07f05380efe8c336f5f1e97758162c324 /modules/mail/e-mail-shell-backend.c | |
parent | 563a326b133b8e86db1ec4d2d8191cf0ab1c3516 (diff) | |
download | gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.gz gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.zst gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.zip |
Move EMailLabelListStore to EMailSession.
Access the EMailLabelListStore through EMailSession instead of
EShellSettings, which was a quick hack of mine during kill-bonobo.
Diffstat (limited to 'modules/mail/e-mail-shell-backend.c')
-rw-r--r-- | modules/mail/e-mail-shell-backend.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/modules/mail/e-mail-shell-backend.c b/modules/mail/e-mail-shell-backend.c index 891fc64ae9..d15ca1ebe8 100644 --- a/modules/mail/e-mail-shell-backend.c +++ b/modules/mail/e-mail-shell-backend.c @@ -627,33 +627,36 @@ e_mail_shell_backend_type_register (GTypeModule *type_module) #include "filter/e-filter-option.h" #include "shell/e-shell-settings.h" -#include "mail/e-mail-label-list-store.h" GSList * e_mail_labels_get_filter_options (void) { EShell *shell; - EShellSettings *shell_settings; - EMailLabelListStore *list_store; + EShellBackend *shell_backend; + EMailBackend *backend; + EMailSession *session; + EMailLabelListStore *label_store; GtkTreeModel *model; GtkTreeIter iter; GSList *list = NULL; gboolean valid; shell = e_shell_get_default (); - shell_settings = e_shell_get_shell_settings (shell); - list_store = e_shell_settings_get_object ( - shell_settings, "mail-label-list-store"); + shell_backend = e_shell_get_backend_by_name (shell, "mail"); - model = GTK_TREE_MODEL (list_store); + backend = E_MAIL_BACKEND (shell_backend); + session = e_mail_backend_get_session (backend); + label_store = e_mail_session_get_label_store (session); + + model = GTK_TREE_MODEL (label_store); valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { struct _filter_option *option; gchar *name, *tag; - name = e_mail_label_list_store_get_name (list_store, &iter); - tag = e_mail_label_list_store_get_tag (list_store, &iter); + name = e_mail_label_list_store_get_name (label_store, &iter); + tag = e_mail_label_list_store_get_tag (label_store, &iter); if (g_str_has_prefix (tag, "$Label")) { gchar *tmp = tag; @@ -673,8 +676,6 @@ e_mail_labels_get_filter_options (void) valid = gtk_tree_model_iter_next (model, &iter); } - g_object_unref (list_store); - return g_slist_reverse (list); } |