aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-utils.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-08-18 11:10:41 +0800
committerMatthew Barnes <mbarnes@redhat.com>2011-08-18 11:31:01 +0800
commit31a00721343016518b458aae5c2045b32785256f (patch)
treeb9d07aafab9819cfca12596cce30148ff377e642 /mail/em-folder-utils.c
parentef929f26973d8d5712a6962c804b1dc0b439d0a9 (diff)
downloadgsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar.gz
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar.bz2
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar.lz
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar.xz
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.tar.zst
gsoc2013-evolution-31a00721343016518b458aae5c2045b32785256f.zip
Bug 656720 - Exclude NNTP stores from Create Folder dialog
Diffstat (limited to 'mail/em-folder-utils.c')
-rw-r--r--mail/em-folder-utils.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/mail/em-folder-utils.c b/mail/em-folder-utils.c
index 1ac8b33fd2..346bd978a1 100644
--- a/mail/em-folder-utils.c
+++ b/mail/em-folder-utils.c
@@ -553,20 +553,44 @@ em_folder_utils_create_folder (GtkWindow *parent,
CamelStore *store = NULL;
gchar *folder_name = NULL;
GtkWidget *dialog;
+ GList *list, *link;
GError *error = NULL;
g_return_if_fail (GTK_IS_WINDOW (parent));
g_return_if_fail (E_IS_MAIL_BACKEND (backend));
+ model = em_folder_tree_model_new ();
session = e_mail_backend_get_session (backend);
+ em_folder_tree_model_set_session (model, session);
- model = em_folder_tree_model_get_default ();
+ list = camel_session_list_services (CAMEL_SESSION (session));
+
+ for (link = list; link != NULL; link = g_list_next (link)) {
+ CamelService *service;
+ CamelStore *store;
+
+ service = CAMEL_SERVICE (link->data);
+
+ if (!CAMEL_IS_STORE (service))
+ continue;
+
+ store = CAMEL_STORE (service);
+
+ if ((store->flags & CAMEL_STORE_CAN_EDIT_FOLDERS) == 0)
+ continue;
+
+ em_folder_tree_model_add_store (model, store);
+ }
+
+ g_list_free (list);
dialog = em_folder_selector_create_new (
parent, backend, model, 0,
_("Create Folder"),
_("Specify where to create the folder:"));
+ g_object_unref (model);
+
selector = EM_FOLDER_SELECTOR (dialog);
folder_tree = em_folder_selector_get_folder_tree (selector);