diff options
Diffstat (limited to 'mail/mail-config.h')
-rw-r--r-- | mail/mail-config.h | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/mail/mail-config.h b/mail/mail-config.h index 00065fdfd8..d78aa0c7f2 100644 --- a/mail/mail-config.h +++ b/mail/mail-config.h @@ -32,12 +32,23 @@ extern "C" { #endif /* __cplusplus */ typedef struct { + gint id; + gchar *name; + gchar *filename; + gchar *script; + gboolean random; + gboolean html; +} MailConfigSignature; + +typedef struct { char *name; char *address; char *organization; - char *signature; - char *html_signature; - gboolean has_html_signature; + + MailConfigSignature *text_signature; + gboolean text_random; + MailConfigSignature *html_signature; + gboolean html_random; } MailConfigIdentity; typedef struct { @@ -98,6 +109,10 @@ typedef enum { MAIL_CONFIG_NOTIFY_PLAY_SOUND, } MailConfigNewMailNotify; +/* signatures */ +MailConfigSignature *signature_copy (const MailConfigSignature *sig); +void signature_destroy (MailConfigSignature *sig); + /* Identities */ MailConfigIdentity *identity_copy (const MailConfigIdentity *id); void identity_destroy (MailConfigIdentity *id); @@ -238,6 +253,33 @@ gboolean mail_config_check_service (const char *url, CamelProviderType type, GLi gboolean evolution_mail_config_factory_init (void); +GList * mail_config_get_signature_list (void); +gint mail_config_get_signatures_random (void); +MailConfigSignature *mail_config_signature_add (gboolean html); +void mail_config_signature_delete (MailConfigSignature *sig); +void mail_config_signature_write (MailConfigSignature *sig); +void mail_config_signature_set_name (MailConfigSignature *sig, const gchar *name); +void mail_config_signature_set_filename (MailConfigSignature *sig, const gchar *filename); +void mail_config_signature_set_random (MailConfigSignature *sig, gboolean random); + +typedef enum { + MAIL_CONFIG_SIG_EVENT_NAME_CHANGED, + MAIL_CONFIG_SIG_EVENT_RANDOM_ON, + MAIL_CONFIG_SIG_EVENT_RANDOM_OFF, + MAIL_CONFIG_SIG_EVENT_ADDED, + MAIL_CONFIG_SIG_EVENT_DELETED +} MailConfigSigEvent; + +typedef void (*MailConfigSignatureClient)(MailConfigSigEvent, MailConfigSignature *sig, gpointer data); + +void mail_config_signature_register_client (MailConfigSignatureClient client, gpointer data); +void mail_config_signature_unregister_client (MailConfigSignatureClient client, gpointer data); +void mail_config_signature_emit_event (MailConfigSigEvent event, MailConfigSignature *sig); + +void mail_config_write_account_sig (MailConfigAccount *account, gint i); +void mail_config_signature_run_script (gchar *script); + + #ifdef __cplusplus } #endif /* __cplusplus */ |