aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog11
-rw-r--r--mail/mail-display.c14
-rw-r--r--mail/mail-identify.c23
3 files changed, 29 insertions, 19 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3a5e91682c..8577bb408a 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,14 @@
+2003-02-03 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-identify.c (mail_identify_mime_part): Just use
+ gnome_vfs_get_mime_type_from_name() so we can forget all the crap
+ I implemented before.
+
+2003-02-01 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-display.c (on_link_clicked): Pass in the *address* of the
+ GError to gnome_url_show(), otherwise bad things happen :-)
+
2003-01-31 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_get_labels): New function to return a
diff --git a/mail/mail-display.c b/mail/mail-display.c
index bafc0bc019..5a075e5b1a 100644
--- a/mail/mail-display.c
+++ b/mail/mail-display.c
@@ -303,8 +303,9 @@ on_link_clicked (GtkHTML *html, const char *url, MailDisplay *md)
mail_display_jump_to_anchor (md, url);
} else {
GError *err = NULL;
- gnome_url_show (url, err);
-
+
+ gnome_url_show (url, &err);
+
if (err) {
g_warning ("gnome_url_show: %s", err->message);
g_error_free (err);
@@ -319,7 +320,7 @@ save_part (CamelMimePart *part)
char *filename, *dir, *base;
GConfClient *gconf;
- camel_object_ref (CAMEL_OBJECT (part));
+ camel_object_ref (part);
gconf = gconf_client_get_default ();
dir = gconf_client_get_string (gconf, "/apps/evolution/mail/save_dir", NULL);
@@ -349,7 +350,7 @@ save_part (CamelMimePart *part)
static void
save_cb (GtkWidget *widget, gpointer user_data)
{
- CamelMimePart *part = g_object_get_data((user_data), "CamelMimePart");
+ CamelMimePart *part = g_object_get_data ((GObject *) user_data, "CamelMimePart");
save_part (part);
}
@@ -368,7 +369,7 @@ launch_cb (GtkWidget *widget, gpointer user_data)
g_return_if_fail (handler != NULL && handler->applications != NULL);
/* Yum. Too bad EPopupMenu doesn't allow per-item closures. */
- children = gtk_container_get_children(GTK_CONTAINER (widget->parent));
+ children = gtk_container_get_children (GTK_CONTAINER (widget->parent));
g_return_if_fail (children != NULL && children->next != NULL && children->next->next != NULL);
for (c = children->next->next, apps = handler->applications; c && apps; c = c->next, apps = apps->next) {
@@ -379,7 +380,7 @@ launch_cb (GtkWidget *widget, gpointer user_data)
g_return_if_fail (c != NULL && apps != NULL);
app = apps->data;
- tmpdir = e_mkdtemp ("evolution.XXXXXX");
+ tmpdir = e_mkdtemp ("app-launcher-XXXXXX");
if (!tmpdir) {
GtkWidget *dialog;
@@ -539,6 +540,7 @@ pixmap_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
for (i = 1; i < nitems; i++)
g_free (menu[i].name);
g_free (menu);
+
return TRUE;
}
diff --git a/mail/mail-identify.c b/mail/mail-identify.c
index 0ef8b7e9e3..c51831fc63 100644
--- a/mail/mail-identify.c
+++ b/mail/mail-identify.c
@@ -53,7 +53,6 @@ mail_identify_mime_part (CamelMimePart *part, MailDisplay *md)
const char *filename, *magic_type = NULL;
CamelDataWrapper *data;
char *name_type = NULL;
- char *uri;
filename = camel_mime_part_get_filename (part);
if (filename) {
@@ -61,15 +60,13 @@ mail_identify_mime_part (CamelMimePart *part, MailDisplay *md)
if (!strcmp (filename, "winmail.dat"))
return g_strdup ("application/vnd.ms-tnef");
- uri = gnome_vfs_get_uri_from_local_path (filename);
- name_type = gnome_vfs_get_mime_type (uri);
- g_free (uri);
+ name_type = gnome_vfs_get_mime_type_from_name (filename);
}
-
+
data = camel_medium_get_content_object (CAMEL_MEDIUM (part));
if (!camel_data_wrapper_is_offline (data))
magic_type = identify_by_magic (data, md);
-
+
if (magic_type && name_type) {
/* If GNOME-VFS doesn't recognize the data by magic, but it
* contains English words, it will call it text/plain. If the
@@ -78,31 +75,31 @@ mail_identify_mime_part (CamelMimePart *part, MailDisplay *md)
*/
if (!strcmp (magic_type, "text/plain"))
return name_type;
-
+
/* If if returns "application/octet-stream" try to
* do better with the filename check.
*/
if (!strcmp (magic_type, "application/octet-stream"))
return name_type;
}
-
+
/* If the MIME part data was online, and the magic check
* returned something, use that, since it's more reliable.
*/
if (magic_type) {
- g_free(name_type);
+ g_free (name_type);
return g_strdup (magic_type);
}
-
+
/* Otherwise try guessing based on the filename */
if (name_type)
return name_type;
-
+
/* Another possibility to try is the x-mac-type / x-mac-creator
* parameter to Content-Type used by some Mac email clients. That
* would require a Mac type to mime type conversion table.
*/
-
+
#if 0
/* If the data part is offline, then we didn't try magic
* before, so force it to be loaded so we can try again later.
@@ -114,7 +111,7 @@ mail_identify_mime_part (CamelMimePart *part, MailDisplay *md)
if (camel_data_wrapper_is_offline (data))
mail_content_loaded (data, md, TRUE, NULL, NULL, NULL);
#endif
-
+
return NULL;
}