aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--composer/ChangeLog5
-rw-r--r--composer/e-msg-composer.c14
2 files changed, 17 insertions, 2 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog
index 95dc50a7b0..06aa4ce83a 100644
--- a/composer/ChangeLog
+++ b/composer/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-13 Larry Ewing <lewing@ximian.com>
+
+ * e-msg-composer.c (drag_data_received): accept text/calendar
+ drops.
+
2004-04-09 Chris Toshok <toshok@ximian.com>
* e-msg-composer-hdrs.c (set_recipients_from_destv):
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 18d90cbf5e..e699615692 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -137,6 +137,7 @@ enum {
DND_TYPE_TEXT_URI_LIST,
DND_TYPE_NETSCAPE_URL,
DND_TYPE_TEXT_VCARD,
+ DND_TYPE_TEXT_CALENDAR
};
static GtkTargetEntry drop_types[] = {
@@ -144,6 +145,7 @@ static GtkTargetEntry drop_types[] = {
{ "text/uri-list", 0, DND_TYPE_TEXT_URI_LIST },
{ "_NETSCAPE_URL", 0, DND_TYPE_NETSCAPE_URL },
{ "text/x-vcard", 0, DND_TYPE_TEXT_VCARD },
+ { "text/calendar", 0, DND_TYPE_TEXT_CALENDAR }
};
static int num_drop_types = sizeof (drop_types) / sizeof (drop_types[0]);
@@ -2733,6 +2735,7 @@ drag_data_received (EMsgComposer *composer, GdkDragContext *context,
CamelMimePart *mime_part;
CamelStream *stream;
CamelURL *url;
+ char *content_type;
int i;
switch (info) {
@@ -2778,10 +2781,14 @@ drag_data_received (EMsgComposer *composer, GdkDragContext *context,
g_free (urls);
break;
case DND_TYPE_TEXT_VCARD:
- d(printf ("dropping a text/x-vcard\n"));
+ case DND_TYPE_TEXT_CALENDAR:
+ content_type = gdk_atom_name (selection->type);
+ printf ("dropping a %s\n", content_type);
+
mime_part = camel_mime_part_new ();
camel_mime_part_set_content (mime_part, selection->data,
- selection->length, "text/x-vcard");
+ selection->length, content_type);
+
camel_mime_part_set_disposition (mime_part, "inline");
e_msg_composer_attachment_bar_attach_mime_part
@@ -2789,6 +2796,9 @@ drag_data_received (EMsgComposer *composer, GdkDragContext *context,
mime_part);
camel_object_unref (mime_part);
+ g_free (content_type);
+
+ break;
default:
d(printf ("dropping an unknown\n"));
break;