*/
#include <config.h>
-#include <glib/gi18n.h>
+#include <glib/gi18n-lib.h>
#include <glib/gstdio.h>
#include <gtk/gtk.h>
#include "ev-file-helpers.h"
attachment->priv->tmp_file = NULL;
}
- (* G_OBJECT_CLASS (ev_attachment_parent_class)->finalize) (object);
+ G_OBJECT_CLASS (ev_attachment_parent_class)->finalize (object);
}
static void
g_return_val_if_fail (EV_IS_ATTACHMENT (attachment), FALSE);
g_return_val_if_fail (G_IS_FILE (file), FALSE);
- output_stream = g_file_create (file, 0, NULL, &ioerror);
+ output_stream = g_file_replace (file, NULL, FALSE, 0, NULL, &ioerror);
if (output_stream == NULL) {
char *uri;
g_return_val_if_fail (EV_IS_ATTACHMENT (attachment), FALSE);
if (!attachment->priv->app) {
- app_info = g_app_info_get_default_for_type (attachment->priv->mime_type, TRUE);
+ app_info = g_app_info_get_default_for_type (attachment->priv->mime_type, FALSE);
attachment->priv->app = app_info;
}
return FALSE;
}
- if (attachment->priv->tmp_file &&
- g_file_query_exists (attachment->priv->tmp_file, NULL)) {
+ if (attachment->priv->tmp_file) {
retval = ev_attachment_launch_app (attachment, screen,
timestamp, error);
} else {
- GFile *tmpdir;
+ char *template;
GFile *file;
-
- tmpdir = g_file_new_for_path (ev_tmp_dir ());
- file = g_file_get_child (tmpdir, attachment->priv->name);
- if (ev_attachment_save (attachment, file, error)) {
+ /* FIXMEchpe: convert to filename encoding first! */
+ template = g_strdup_printf ("%s.XXXXXX", ev_attachment_get_name (attachment));
+ file = ev_mkstemp_file (template, error);
+ g_free (template);
+
+ if (file != NULL && ev_attachment_save (attachment, file, error)) {
if (attachment->priv->tmp_file)
g_object_unref (attachment->priv->tmp_file);
attachment->priv->tmp_file = g_object_ref (file);
}
g_object_unref (file);
- g_object_unref (tmpdir);
}
return retval;