aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-event.c
diff options
context:
space:
mode:
authorRaghavendran R <raghavguru7@gmail.com>2007-01-23 02:56:27 +0800
committerVeerapuram Varadhan <vvaradan@src.gnome.org>2007-01-23 02:56:27 +0800
commitb7688e6635f3c2a365a1c2a1f36f301aa273ca68 (patch)
treef80ce9d2eaed37657d818dda9070b3d1df25763e /mail/em-event.c
parent2a1d77a838cd309647088f13b81afce46d5ae90e (diff)
downloadgsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar.gz
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar.bz2
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar.lz
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar.xz
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.tar.zst
gsoc2013-evolution-b7688e6635f3c2a365a1c2a1f36f301aa273ca68.zip
Creates and returns an event target (composer).
2007-01-22 Raghavendran R <raghavguru7@gmail.com> * em-event.[c,h]: (em_event_target_new_composer): Creates and returns an event target (composer). svn path=/trunk/; revision=33135
Diffstat (limited to 'mail/em-event.c')
-rw-r--r--mail/em-event.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/mail/em-event.c b/mail/em-event.c
index 9ca6d8e940..228fcf78db 100644
--- a/mail/em-event.c
+++ b/mail/em-event.c
@@ -77,6 +77,12 @@ eme_target_free(EEvent *ep, EEventTarget *t)
camel_object_unref(s->message);
g_free(s->uid);
break; }
+ case EM_EVENT_TARGET_COMPOSER : {
+ EMEventTargetComposer *s = (EMEventTargetComposer *)t;
+
+ if (s->composer)
+ g_object_unref (s->composer);
+ break; }
}
((EEventClass *)eme_parent)->target_free(ep, t);
@@ -139,6 +145,17 @@ em_event_target_new_folder (EMEvent *eme, const char *uri, guint32 flags)
return t;
}
+EMEventTargetComposer *
+em_event_target_new_composer (EMEvent *eme, const EMsgComposer *composer, guint32 flags)
+{
+ EMEventTargetComposer *t = e_event_target_new(&eme->popup, EM_EVENT_TARGET_COMPOSER, sizeof(*t));
+
+ t->composer = g_object_ref(composer);
+ t->target.mask = ~flags;
+
+ return t;
+}
+
EMEventTargetMessage *
em_event_target_new_message(EMEvent *eme, CamelFolder *folder, CamelMimeMessage *message, const char *uid, guint32 flags)
{
@@ -167,6 +184,11 @@ static const EEventHookTargetMask emeh_folder_masks[] = {
};
+static const EEventHookTargetMask emeh_composer_masks[] = {
+ { "sendoption", EM_EVENT_COMPOSER_SEND_OPTION },
+ { 0 }
+};
+
static const EEventHookTargetMask emeh_message_masks[] = {
{ "replyall", EM_EVENT_MESSAGE_REPLY_ALL },
{ 0 }
@@ -175,6 +197,7 @@ static const EEventHookTargetMask emeh_message_masks[] = {
static const EEventHookTargetMap emeh_targets[] = {
{ "folder", EM_EVENT_TARGET_FOLDER, emeh_folder_masks },
{ "message", EM_EVENT_TARGET_MESSAGE, emeh_message_masks },
+ { "composer", EM_EVENT_TARGET_COMPOSER, emeh_composer_masks},
{ 0 }
};