[evolution-data-server] Bug 790020 - Use original location when composing new message in Search Folder



commit 71e96eafaa07e3a52609903cf62d34b925ddf63d
Author: Milan Crha <mcrha redhat com>
Date:   Fri Nov 24 12:00:56 2017 +0100

    Bug 790020 - Use original location when composing new message in Search Folder

 src/camel/camel-vee-folder.c |   32 ++++++++++++++++++++++++++++++++
 src/camel/camel-vee-folder.h |    1 +
 2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/src/camel/camel-vee-folder.c b/src/camel/camel-vee-folder.c
index f27301c..b735c25 100644
--- a/src/camel/camel-vee-folder.c
+++ b/src/camel/camel-vee-folder.c
@@ -1648,6 +1648,38 @@ camel_vee_folder_set_folders (CamelVeeFolder *vfolder,
 }
 
 /**
+ * camel_vee_folder_ref_folders:
+ * @vfolder: a #CamelVeeFolder
+ *
+ * Returns a #GList of all folders of this @vfolder, which
+ * are used to populate it. These are in no particular order.
+ *
+ * Free the returned #GList with
+ * g_list_free_full (folders, g_object_unref);
+ * when no longer needed.
+ *
+ * Returns: (transfer full) (element-type CamelFolder): a #GList of all
+ *    folders of this @vfolder.
+ *
+ * Since: 3.28
+ **/
+GList *
+camel_vee_folder_ref_folders (CamelVeeFolder *vfolder)
+{
+       GList *folders = NULL, *link;
+
+       g_return_val_if_fail (CAMEL_IS_VEE_FOLDER (vfolder), NULL);
+
+       g_rec_mutex_lock (&vfolder->priv->subfolder_lock);
+       for (link = vfolder->priv->subfolders; link; link = g_list_next (link)) {
+               folders = g_list_prepend (folders, g_object_ref (link->data));
+       }
+       g_rec_mutex_unlock (&vfolder->priv->subfolder_lock);
+
+       return folders;
+}
+
+/**
  * camel_vee_folder_add_vuid:
  * @vfolder: a #CamelVeeFolder
  * @mi_data: a #CamelVeeMessageInfoData to add
diff --git a/src/camel/camel-vee-folder.h b/src/camel/camel-vee-folder.h
index 99ecb55..126f7e5 100644
--- a/src/camel/camel-vee-folder.h
+++ b/src/camel/camel-vee-folder.h
@@ -112,6 +112,7 @@ void                camel_vee_folder_remove_folder          (CamelVeeFolder *vfolder,
 void           camel_vee_folder_set_folders            (CamelVeeFolder *vfolder,
                                                         GList *folders,
                                                         GCancellable *cancellable);
+GList *                camel_vee_folder_ref_folders            (CamelVeeFolder *vfolder);
 void           camel_vee_folder_add_vuid               (CamelVeeFolder *vfolder,
                                                         struct _CamelVeeMessageInfoData *mi_data,
                                                         CamelFolderChangeInfo *changes);


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