From a4264abf3b15a74c2c4e68a547eddc395251b957 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 19 Sep 2000 00:07:47 +0000 Subject: Use gnome_vfs_get_file_info. * e-msg-composer-attachment.c (get_mime_type): Use gnome_vfs_get_file_info. * e-msg-composer-attachment-bar.c (update): Use gnome_vfs_mime functions, not old gnome_mime. svn path=/trunk/; revision=5496 --- composer/ChangeLog | 8 ++++++++ composer/e-msg-composer-attachment-bar.c | 8 +++++--- composer/e-msg-composer-attachment.c | 32 +++++++++++++++++++++++--------- 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/composer/ChangeLog b/composer/ChangeLog index 66bc828f88..4ba129e4a5 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,11 @@ +2000-09-18 Dan Winship + + * e-msg-composer-attachment.c (get_mime_type): Use + gnome_vfs_get_file_info. + + * e-msg-composer-attachment-bar.c (update): Use gnome_vfs_mime + functions, not old gnome_mime. + 2000-09-18 Christopher James Lahey * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and diff --git a/composer/e-msg-composer-attachment-bar.c b/composer/e-msg-composer-attachment-bar.c index 50923f7e19..8a6272d833 100644 --- a/composer/e-msg-composer-attachment-bar.c +++ b/composer/e-msg-composer-attachment-bar.c @@ -23,6 +23,7 @@ #include #include +#include #include "e-msg-composer-attachment.h" #include "e-msg-composer-attachment-bar.h" @@ -194,13 +195,14 @@ update (EMsgComposerAttachmentBar *bar) content_type = camel_mime_part_get_content_type (attachment->body); mime_type = g_strdup_printf ("%s/%s", content_type->type, content_type->subtype); - icon_name = gnome_mime_get_value (mime_type, "icon-filename"); + icon_name = gnome_vfs_mime_get_value (mime_type, + "icon-filename"); g_free (mime_type); /* FIXME we need some better default icon. */ if (icon_name == NULL) - icon_name = gnome_mime_get_value ("text/plain", - "icon-filename"); + icon_name = gnome_vfs_mime_get_value ("text/plain", + "icon-filename"); desc = camel_mime_part_get_description (attachment->body); if (!desc) diff --git a/composer/e-msg-composer-attachment.c b/composer/e-msg-composer-attachment.c index 141ad7c9ab..c607b59068 100644 --- a/composer/e-msg-composer-attachment.c +++ b/composer/e-msg-composer-attachment.c @@ -32,6 +32,7 @@ #include #include #include +#include #include "e-msg-composer-attachment.h" @@ -47,16 +48,23 @@ static GtkObjectClass *parent_class = NULL; /* Utility functions. */ -static const gchar * +static gchar * get_mime_type (const gchar *file_name) { - const gchar *mime_type; - - mime_type = gnome_mime_type_of_file (file_name); - if (mime_type == NULL) - mime_type = "application/octet-stream"; - - return mime_type; + GnomeVFSFileInfo info; + GnomeVFSResult result; + + result = gnome_vfs_get_file_info (file_name, &info, + GNOME_VFS_FILE_INFO_GET_MIME_TYPE | + GNOME_VFS_FILE_INFO_FOLLOW_LINKS); + if (result == GNOME_VFS_OK) { + gchar *type; + + type = g_strdup (gnome_vfs_file_info_get_mime_type (&info)); + gnome_vfs_file_info_unref (&info); + return type; + } else + return NULL; } static void @@ -161,6 +169,7 @@ e_msg_composer_attachment_new (const gchar *file_name) CamelDataWrapper *wrapper; CamelStream *data; struct stat statbuf; + gchar *mime_type; g_return_val_if_fail (file_name != NULL, NULL); @@ -170,7 +179,12 @@ e_msg_composer_attachment_new (const gchar *file_name) wrapper = camel_data_wrapper_new (); camel_data_wrapper_construct_from_stream (wrapper, data); camel_object_unref (CAMEL_OBJECT (data)); - camel_data_wrapper_set_mime_type (wrapper, get_mime_type (file_name)); + mime_type = get_mime_type (file_name); + if (mime_type) { + camel_data_wrapper_set_mime_type (wrapper, mime_type); + g_free (mime_type); + } else + camel_data_wrapper_set_mime_type (wrapper, "application/octet-stream"); part = camel_mime_part_new (); camel_medium_set_content_object (CAMEL_MEDIUM (part), wrapper); -- cgit