diff options
-rw-r--r-- | composer/ChangeLog | 5 | ||||
-rw-r--r-- | composer/e-msg-composer-attachment.c | 5 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 29 | ||||
-rw-r--r-- | composer/e-msg-composer.h | 1 |
4 files changed, 35 insertions, 5 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index f7878e7b62..f2e303088c 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,8 @@ +2000-11-15 Radek Doulik <rodo@helixcode.com> + + * e-msg-composer.h: e_msg_composer_guess_mime_type renamed and + moved mime_guess_type_from_file_name from camel as it uses VFS + 2000-11-14 Radek Doulik <rodo@helixcode.com> * listener.c (reply_indent): rename command to runCommand diff --git a/composer/e-msg-composer-attachment.c b/composer/e-msg-composer-attachment.c index 8fd06f2afa..8483e318db 100644 --- a/composer/e-msg-composer-attachment.c +++ b/composer/e-msg-composer-attachment.c @@ -33,6 +33,7 @@ #include <camel/camel.h> #include <gal/widgets/e-unicode.h> +#include "e-msg-composer.h" #include "e-msg-composer-attachment.h" @@ -167,7 +168,7 @@ e_msg_composer_attachment_new (const gchar *file_name) wrapper = camel_data_wrapper_new (); camel_data_wrapper_construct_from_stream (wrapper, stream); camel_object_unref (CAMEL_OBJECT (stream)); - mime_type = mime_guess_type_from_file_name (file_name); + mime_type = e_msg_composer_guess_mime_type (file_name); if (mime_type) { camel_data_wrapper_set_mime_type (wrapper, mime_type); g_free (mime_type); @@ -251,7 +252,7 @@ update_mime_type (DialogData *data) return; file_name = e_utf8_gtk_entry_get_text (data->file_name_entry); - mime_type = mime_guess_type_from_file_name (file_name); + mime_type = e_msg_composer_guess_mime_type (file_name); g_free (file_name); e_utf8_gtk_entry_set_text (data->mime_type_entry, mime_type); diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index 72c74ecc10..4472bae4eb 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -204,7 +204,7 @@ add_inlined_image (gpointer key, gpointer value, gpointer data) camel_data_wrapper_construct_from_stream (wrapper, stream); camel_object_unref (CAMEL_OBJECT (stream)); - mime_type = mime_guess_type_from_file_name (file_name); + mime_type = e_msg_composer_guess_mime_type (file_name); camel_data_wrapper_set_mime_type (wrapper, mime_type ? mime_type : "application/octet-stream"); g_free (mime_type); @@ -1394,9 +1394,12 @@ e_msg_composer_construct (EMsgComposer *composer) e_msg_composer_show_attachments (composer, FALSE); - /* Set focus on the `To:' field. */ + /* Set focus on the `To:' field. - gtk_widget_grab_focus (e_msg_composer_hdrs_get_to_entry (E_MSG_COMPOSER_HDRS (composer->hdrs))); + gtk_widget_grab_focus (e_msg_composer_hdrs_get_to_entry (E_MSG_COMPOSER_HDRS (composer->hdrs))); + GTK_WIDGET_SET_FLAGS (composer->editor, GTK_CAN_FOCUS); + gtk_window_set_focus (GTK_WINDOW (composer), composer->editor); */ + gtk_widget_grab_focus (composer->editor); } static EMsgComposer * @@ -2001,3 +2004,23 @@ e_msg_composer_get_send_html (EMsgComposer *composer) return composer->send_html; } + + +gchar * +e_msg_composer_guess_mime_type (const gchar *file_name) +{ + 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; +} diff --git a/composer/e-msg-composer.h b/composer/e-msg-composer.h index f5de97cbf2..4e8c611f66 100644 --- a/composer/e-msg-composer.h +++ b/composer/e-msg-composer.h @@ -112,6 +112,7 @@ void e_msg_composer_set_send_html (EMsgComposer *compose gboolean send_html); gboolean e_msg_composer_get_send_html (EMsgComposer *composer); void e_msg_composer_clear_inlined_table (EMsgComposer *composer); +gchar * e_msg_composer_guess_mime_type (const gchar *file_name); #ifdef __cplusplus } |