CamelVeeFolder

CamelVeeFolder

Synopsis

struct              CamelVeeFolder;
#define             CAMEL_UNMATCHED_NAME
CamelFolder *       camel_vee_folder_new                (CamelStore *parent_store,
                                                         const gchar *full,
                                                         guint32 flags);
void                camel_vee_folder_construct          (CamelVeeFolder *vf,
                                                         guint32 flags);
CamelFolder *       camel_vee_folder_get_location       (CamelVeeFolder *vf,
                                                         const struct _CamelVeeMessageInfo *vinfo,
                                                         gchar **realuid);
CamelFolder *       camel_vee_folder_get_vee_uid_folder (CamelVeeFolder *vf,
                                                         const gchar *vee_message_uid);
void                camel_vee_folder_set_auto_update    (CamelVeeFolder *vfolder,
                                                         gboolean auto_update);
gboolean            camel_vee_folder_get_auto_update    (CamelVeeFolder *vfolder);
void                camel_vee_folder_add_folder         (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);
void                camel_vee_folder_remove_folder      (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);
void                camel_vee_folder_set_folders        (CamelVeeFolder *vf,
                                                         GList *folders,
                                                         GCancellable *cancellable);
void                camel_vee_folder_add_vuid           (CamelVeeFolder *vfolder,
                                                         struct _CamelVeeMessageInfoData *mi_data,
                                                         CamelFolderChangeInfo *changes);
void                camel_vee_folder_remove_vuid        (CamelVeeFolder *vfolder,
                                                         struct _CamelVeeMessageInfoData *mi_data,
                                                         CamelFolderChangeInfo *changes);
void                camel_vee_folder_rebuild_folder     (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);
void                camel_vee_folder_set_expression     (CamelVeeFolder *vfolder,
                                                         const gchar *expr);
const gchar *       camel_vee_folder_get_expression     (CamelVeeFolder *vfolder);
void                camel_vee_folder_ignore_next_changed_event
                                                        (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder);
enum                CamelVeeFolderLock;
void                camel_vee_folder_lock               (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);
void                camel_vee_folder_unlock             (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Object Hierarchy

  GObject
   +----CamelObject
         +----CamelFolder
               +----CamelVeeFolder
                     +----CamelVTrashFolder

Properties

  "auto-update"              gboolean              : Read / Write

Description

Details

struct CamelVeeFolder

struct CamelVeeFolder;

CAMEL_UNMATCHED_NAME

#define CAMEL_UNMATCHED_NAME "UNMATCHED"

camel_vee_folder_new ()

CamelFolder *       camel_vee_folder_new                (CamelStore *parent_store,
                                                         const gchar *full,
                                                         guint32 flags);

Create a new CamelVeeFolder object.

parent_store :

the parent CamelVeeStore

full :

the full path to the vfolder.

flags :

flags of some kind

Returns :

A new CamelVeeFolder widget.

camel_vee_folder_construct ()

void                camel_vee_folder_construct          (CamelVeeFolder *vf,
                                                         guint32 flags);

camel_vee_folder_get_location ()

CamelFolder *       camel_vee_folder_get_location       (CamelVeeFolder *vf,
                                                         const struct _CamelVeeMessageInfo *vinfo,
                                                         gchar **realuid);

Find the real folder (and uid)

realuid :

if not NULL, set to the uid of the real message, must be g_free'd by caller.

camel_vee_folder_get_vee_uid_folder ()

CamelFolder *       camel_vee_folder_get_vee_uid_folder (CamelVeeFolder *vf,
                                                         const gchar *vee_message_uid);

FIXME Document me!

Since 3.6


camel_vee_folder_set_auto_update ()

void                camel_vee_folder_set_auto_update    (CamelVeeFolder *vfolder,
                                                         gboolean auto_update);

FIXME Document me!

Since 3.6


camel_vee_folder_get_auto_update ()

gboolean            camel_vee_folder_get_auto_update    (CamelVeeFolder *vfolder);

FIXME Document me!

Since 3.6


camel_vee_folder_add_folder ()

void                camel_vee_folder_add_folder         (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);

Adds subfolder as a source folder to vfolder.

vfolder :

Virtual Folder object

subfolder :

source CamelFolder to add to vfolder

camel_vee_folder_remove_folder ()

void                camel_vee_folder_remove_folder      (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);

Removed the source folder, subfolder, from the virtual folder, vfolder.

vfolder :

Virtual Folder object

subfolder :

source CamelFolder to remove from vfolder

camel_vee_folder_set_folders ()

void                camel_vee_folder_set_folders        (CamelVeeFolder *vf,
                                                         GList *folders,
                                                         GCancellable *cancellable);

Set the whole list of folder sources on a vee folder.


camel_vee_folder_add_vuid ()

void                camel_vee_folder_add_vuid           (CamelVeeFolder *vfolder,
                                                         struct _CamelVeeMessageInfoData *mi_data,
                                                         CamelFolderChangeInfo *changes);

FIXME Document me!

Since 3.6


camel_vee_folder_remove_vuid ()

void                camel_vee_folder_remove_vuid        (CamelVeeFolder *vfolder,
                                                         struct _CamelVeeMessageInfoData *mi_data,
                                                         CamelFolderChangeInfo *changes);

FIXME Document me!

Since 3.6


camel_vee_folder_rebuild_folder ()

void                camel_vee_folder_rebuild_folder     (CamelVeeFolder *vfolder,
                                                         CamelFolder *subfolder,
                                                         GCancellable *cancellable);

Rebuild the folder subfolder, if it should be.

vfolder :

Virtual Folder object

subfolder :

source CamelFolder to add to vfolder

camel_vee_folder_set_expression ()

void                camel_vee_folder_set_expression     (CamelVeeFolder *vfolder,
                                                         const gchar *expr);

camel_vee_folder_get_expression ()

const gchar *       camel_vee_folder_get_expression     (CamelVeeFolder *vfolder);

FIXME Document me!

Since 3.6


camel_vee_folder_ignore_next_changed_event ()

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.

vfolder :

a CamelVeeFolder

subfolder :

a CamelFolder folder

Since 3.2


enum CamelVeeFolderLock

typedef enum {
	CAMEL_VEE_FOLDER_SUMMARY_LOCK,
	CAMEL_VEE_FOLDER_SUBFOLDER_LOCK,
	CAMEL_VEE_FOLDER_CHANGED_LOCK
} CamelVeeFolderLock;

CAMEL_VEE_FOLDER_SUMMARY_LOCK

CAMEL_VEE_FOLDER_SUBFOLDER_LOCK

CAMEL_VEE_FOLDER_CHANGED_LOCK

Since 2.32


camel_vee_folder_lock ()

void                camel_vee_folder_lock               (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Locks folder's lock. Unlock it with camel_vee_folder_unlock().

folder :

a CamelVeeFolder

lock :

lock type to lock

Since 2.32


camel_vee_folder_unlock ()

void                camel_vee_folder_unlock             (CamelVeeFolder *folder,
                                                         CamelVeeFolderLock lock);

Unlocks folder's lock, previously locked with camel_vee_folder_lock().

folder :

a CamelVeeFolder

lock :

lock type to unlock

Since 2.32

Property Details

The "auto-update" property

  "auto-update"              gboolean              : Read / Write

Automatically _update on change in source folders.

Default value: TRUE