Top | ![]() |
![]() |
![]() |
![]() |
CamelFolder * | camel_vee_folder_new () |
void | camel_vee_folder_construct () |
guint32 | camel_vee_folder_get_flags () |
CamelFolder * | camel_vee_folder_get_location () |
CamelFolder * | camel_vee_folder_get_vee_uid_folder () |
void | camel_vee_folder_set_auto_update () |
gboolean | camel_vee_folder_get_auto_update () |
void | camel_vee_folder_add_folder () |
void | camel_vee_folder_remove_folder () |
void | camel_vee_folder_set_folders () |
GList * | camel_vee_folder_ref_folders () |
void | camel_vee_folder_add_vuid () |
void | camel_vee_folder_remove_vuid () |
void | camel_vee_folder_rebuild_folder () |
void | camel_vee_folder_set_expression () |
const gchar * | camel_vee_folder_get_expression () |
void | camel_vee_folder_ignore_next_changed_event () |
void | camel_vee_folder_remove_from_ignore_changed_event () |
void | camel_vee_folder_propagate_skipped_changes () |
CamelFolder * camel_vee_folder_new (CamelStore *parent_store
,const gchar *full
,guint32 flags
);
void camel_vee_folder_construct (CamelVeeFolder *vf
,guint32 flags
);
Initializes internal structures of the vf
. This is meant to be
called by the descendants of CamelVeeFolder.
CamelFolder * camel_vee_folder_get_location (CamelVeeFolder *vf
,const CamelVeeMessageInfo *vinfo
,gchar **realuid
);
Find the real folder (and message info UID) for the given vinfo
.
When the realuid
is not NULL
and it's set, then use g_free()
to
free it, when no longer needed.
vf |
||
vinfo |
a CamelVeeMessageInfo to search for |
|
realuid |
if not |
[out][transfer full][nullable] |
CamelFolder * camel_vee_folder_get_vee_uid_folder (CamelVeeFolder *vfolder
,const gchar *vee_message_uid
);
a CamelFolder to which the vee_message_uid
belongs, or NULL
, when it could not be found.
[transfer none][nullable]
Since: 3.6
void camel_vee_folder_set_auto_update (CamelVeeFolder *vfolder
,gboolean auto_update
);
Sets whether the vfolder
can automatically update when of its
subfolders changes.
Since: 3.6
gboolean
camel_vee_folder_get_auto_update (CamelVeeFolder *vfolder
);
Since: 3.6
void camel_vee_folder_add_folder (CamelVeeFolder *vfolder
,CamelFolder *subfolder
,GCancellable *cancellable
);
Adds subfolder
as a source folder to vfolder
.
void camel_vee_folder_remove_folder (CamelVeeFolder *vfolder
,CamelFolder *subfolder
,GCancellable *cancellable
);
Removed the source folder, subfolder
, from the virtual folder, vfolder
.
void camel_vee_folder_set_folders (CamelVeeFolder *vfolder
,GList *folders
,GCancellable *cancellable
);
Set the whole list of folder sources on a vee folder.
vfolder |
||
folders |
a GList of CamelFolder to add. |
[element-type CamelFolder][transfer none] |
cancellable |
optional GCancellable object, or |
GList *
camel_vee_folder_ref_folders (CamelVeeFolder *vfolder
);
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.
Since: 3.28
void camel_vee_folder_add_vuid (CamelVeeFolder *vfolder
,struct _CamelVeeMessageInfoData *mi_data
,CamelFolderChangeInfo *changes
);
Adds the mi_data
to the vfolder
. The changes
can be
updated with the made change and later used to notify others
with camel_folder_changed()
on the vfolder
. This can be used
only for the Unmatched folder.
vfolder |
||
mi_data |
a CamelVeeMessageInfoData to add |
|
changes |
an optional CamelFolderChangeInfo to update with the made change, or |
[nullable] |
Since: 3.6
void camel_vee_folder_remove_vuid (CamelVeeFolder *vfolder
,struct _CamelVeeMessageInfoData *mi_data
,CamelFolderChangeInfo *changes
);
Removes given mi_data
from the vfolder
. The changes
can be
updated with the made change and later used to notify others
with camel_folder_changed()
on the vfolder
. This can be used
only for the Unmatched folder.
vfolder |
||
mi_data |
a CamelVeeMessageInfoData to remove |
|
changes |
an optional CamelFolderChangeInfo to update with the made change, or |
[nullable] |
Since: 3.6
void camel_vee_folder_rebuild_folder (CamelVeeFolder *vfolder
,CamelFolder *subfolder
,GCancellable *cancellable
);
Rebuild the folder subfolder
, if it should be.
void camel_vee_folder_set_expression (CamelVeeFolder *vfolder
,const gchar *expression
);
Sets an SExp expression to be used for this vfolder
Since: 3.6
const gchar *
camel_vee_folder_get_expression (CamelVeeFolder *vfolder
);
Since: 3.6
void camel_vee_folder_ignore_next_changed_event (CamelVeeFolder *vfolder
,CamelFolder *subfolder
);
The next subfolder
-'s 'changed' event will be silently ignored. This
is usually used in virtual folders when the change was done in them,
but it is neither vTrash nor vJunk folder. Doing this avoids unnecessary
removals of messages which don't satisfy search criteria anymore,
which could be done on asynchronous delivery of folder's 'changed' signal.
These ignored changes are accumulated and used on folder refresh.
Since: 3.2
void camel_vee_folder_remove_from_ignore_changed_event (CamelVeeFolder *vfolder
,CamelFolder *subfolder
);
Make sure the next subfolder
-'s 'changed' event will not be silently ignored.
This is a counter-part function of camel_vee_folder_ignore_next_changed_event()
,
when there was expected a change, which did not happen, to take back the previous
ignore event request.
Since: 3.12
void
camel_vee_folder_propagate_skipped_changes
(CamelVeeFolder *vf
);
Propagate any skipped changes into the vf
. The skipped changes are used to not
hide the messages from the search folder unexpectedly. The function does nothing
when there are no changes to be propagated.
Since: 3.38