aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-event.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-10-21 17:31:22 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-10-21 17:31:22 +0800
commit86773ecbedd3e7a6e04100a3e942ee36b14ec0a1 (patch)
tree07cf084a70e49a361bdafac4f0a808a155b6a6c9 /mail/em-event.c
parente08821891234e9c43e5e0171d2743463f3aaf2cf (diff)
downloadgsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar.gz
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar.bz2
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar.lz
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar.xz
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.tar.zst
gsoc2013-evolution-86773ecbedd3e7a6e04100a3e942ee36b14ec0a1.zip
emit a 'message.replying' event with a message target.
2004-10-21 Not Zed <NotZed@Ximian.com> * em-composer-utils.c (em_utils_reply_to_message): emit a 'message.replying' event with a message target. 2004-10-21 Nat <nat@novell.com> * em-event.c (em_event_target_new_message): new target type for message-related events. 2004-10-21 Not Zed <NotZed@Ximian.com> * em-folder-view.c (emfv_format_popup_event): put 'evolution' back in the popup hook names. svn path=/trunk/; revision=27673
Diffstat (limited to 'mail/em-event.c')
-rw-r--r--mail/em-event.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/mail/em-event.c b/mail/em-event.c
index a41494dd43..279cd1acb9 100644
--- a/mail/em-event.c
+++ b/mail/em-event.c
@@ -68,6 +68,13 @@ eme_target_free(EEvent *ep, EEventTarget *t)
g_free(s->uri);
break; }
+ case EM_EVENT_TARGET_MESSAGE: {
+ EMEventTargetMessage *s = (EMEventTargetMessage *)t;
+
+ g_object_unref(s->folder);
+ g_object_unref(s->message);
+ g_free(s->uid);
+ break; }
}
((EEventClass *)eme_parent)->target_free(ep, t);
@@ -130,6 +137,21 @@ em_event_target_new_folder (EMEvent *eme, const char *uri, guint32 flags)
return t;
}
+EMEventTargetMessage *
+em_event_target_new_message(EMEvent *eme, CamelFolder *folder, CamelMimeMessage *message, const char *uid, guint32 flags)
+{
+ EMEventTargetMessage *t = e_event_target_new(&eme->popup, EM_EVENT_TARGET_MESSAGE, sizeof(*t));
+
+ t->uid = g_strdup (uid);
+ t->folder = folder;
+ camel_object_ref(folder);
+ t->message = message;
+ camel_object_ref(message);
+ t->target.mask = ~flags;
+
+ return t;
+}
+
/* ********************************************************************** */
static void *emeh_parent_class;
@@ -139,8 +161,14 @@ static const EEventHookTargetMask emeh_folder_masks[] = {
{ "newmail", EM_EVENT_FOLDER_NEWMAIL },
{ 0 }
};
+
+static const EEventHookTargetMask emeh_message_masks[] = {
+ { 0 }
+};
+
static const EEventHookTargetMap emeh_targets[] = {
{ "folder", EM_EVENT_TARGET_FOLDER, emeh_folder_masks },
+ { "message", EM_EVENT_TARGET_MESSAGE, emeh_message_masks },
{ 0 }
};