aboutsummaryrefslogtreecommitdiffstats
path: root/modules/mail/e-mail-shell-backend.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-12-25 06:44:51 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-12-25 06:44:51 +0800
commite3735c74444e3fdc35d1677c3cdf68dfc174ce10 (patch)
treee596d9a07f05380efe8c336f5f1e97758162c324 /modules/mail/e-mail-shell-backend.c
parent563a326b133b8e86db1ec4d2d8191cf0ab1c3516 (diff)
downloadgsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar
gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.gz
gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.bz2
gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.lz
gsoc2013-evolution-e3735c74444e3fdc35d1677c3cdf68dfc174ce10.tar.xz
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.c23
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);
}