diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-01-21 06:08:37 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2010-01-21 06:08:37 +0000 |
commit | 441b184056b95fcf0ce22a1f61c7e8ce779949cc (patch) | |
tree | 5aafb212cfe30532551871503d8fca9054b14502 /src/compose.c | |
parent | 596eb7f3b00034bbc0a8b1001c2ca6c8743312d0 (diff) |
added new plug-in APIs for compose window.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2436 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/compose.c')
-rw-r--r-- | src/compose.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/compose.c b/src/compose.c index 41ab17a9..3b528c19 100644 --- a/src/compose.c +++ b/src/compose.c @@ -133,6 +133,7 @@ #include "quote_fmt.h" #include "template.h" #include "undo.h" +#include "plugin.h" #if USE_GPGME # include "rfc2015.h" @@ -803,6 +804,8 @@ Compose *compose_new(PrefsAccount *account, FolderItem *item, compose_connect_changed_callbacks(compose); compose_set_title(compose); + syl_plugin_signal_emit("compose-created", compose); + if (prefs_common.enable_autosave && prefs_common.autosave_itv > 0) compose->autosave_tag = g_timeout_add(prefs_common.autosave_itv * 60 * 1000, @@ -908,6 +911,8 @@ void compose_reply(MsgInfo *msginfo, FolderItem *item, ComposeMode mode, procmsg_msginfo_free(replyinfo); + syl_plugin_signal_emit("compose-created", compose); + if (prefs_common.enable_autosave && prefs_common.autosave_itv > 0) compose->autosave_tag = g_timeout_add(prefs_common.autosave_itv * 60 * 1000, @@ -1041,6 +1046,8 @@ void compose_forward(GSList *mlist, FolderItem *item, gboolean as_attach, else gtk_widget_grab_focus(compose->newsgroups_entry); + syl_plugin_signal_emit("compose-created", compose); + if (prefs_common.enable_autosave && prefs_common.autosave_itv > 0) compose->autosave_tag = g_timeout_add(prefs_common.autosave_itv * 60 * 1000, @@ -1110,6 +1117,8 @@ void compose_redirect(MsgInfo *msginfo, FolderItem *item) compose_connect_changed_callbacks(compose); compose_set_title(compose); + + syl_plugin_signal_emit("compose-created", compose); } void compose_reedit(MsgInfo *msginfo) @@ -1208,6 +1217,8 @@ void compose_reedit(MsgInfo *msginfo) menu_set_active(ifactory, "/Tools/Request disposition notification", TRUE); } + syl_plugin_signal_emit("compose-created", compose); + if (prefs_common.enable_autosave && prefs_common.autosave_itv > 0) compose->autosave_tag = g_timeout_add(prefs_common.autosave_itv * 60 * 1000, @@ -1318,6 +1329,14 @@ void compose_entry_append(Compose *compose, const gchar *text, gtk_editable_insert_text(GTK_EDITABLE(entry), text, -1, &pos); } +gchar *compose_entry_get_text(Compose *compose, ComposeEntryType type) +{ + GtkEntry *entry; + + entry = compose_get_entry(compose, type); + return gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1); +} + static void compose_entries_set(Compose *compose, const gchar *mailto) { gchar *to = NULL; @@ -6008,6 +6027,8 @@ static void compose_destroy(Compose *compose) if (compose->autosave_tag > 0) g_source_remove(compose->autosave_tag); + syl_plugin_signal_emit("compose-destroy", compose); + /* NOTE: address_completion_end() does nothing with the window * however this may change. */ address_completion_end(compose->window); |