aboutsummaryrefslogtreecommitdiff
path: root/src/compose.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-01-21 06:08:37 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2010-01-21 06:08:37 +0000
commit441b184056b95fcf0ce22a1f61c7e8ce779949cc (patch)
tree5aafb212cfe30532551871503d8fca9054b14502 /src/compose.c
parent596eb7f3b00034bbc0a8b1001c2ca6c8743312d0 (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.c21
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);