]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-attachment.c
Updated Brazilian Portuguese translation by Leonardo Ferreira Fontenelle
[evince.git] / backend / ev-attachment.c
index 9d5aaffbe398d9b150d7f079a0a674df8c835a4e..63619afa61dc0f2772f2d645b72dae9a8a4c24f2 100644 (file)
@@ -293,14 +293,13 @@ ev_attachment_save (EvAttachment *attachment,
        g_return_val_if_fail (uri != NULL, FALSE);
 
        result = gnome_vfs_create (&handle, uri,
-                                  GNOME_VFS_OPEN_WRITE |
-                                  GNOME_VFS_OPEN_TRUNCATE,
+                                  GNOME_VFS_OPEN_WRITE,
                                   FALSE, 0644);
        if (result != GNOME_VFS_OK) {
                g_set_error (error,
                             EV_ATTACHMENT_ERROR, 
                             (gint) result,
-                            _("Couldn't save attachment '%s': %s"),
+                            _("Couldn't save attachment “%s”: %s"),
                             uri, 
                             gnome_vfs_result_to_string (result));
                
@@ -313,7 +312,7 @@ ev_attachment_save (EvAttachment *attachment,
                g_set_error (error,
                             EV_ATTACHMENT_ERROR,
                             (gint) result,
-                            _("Couldn't save attachment '%s': %s"),
+                            _("Couldn't save attachment “%s”: %s"),
                             uri,
                             gnome_vfs_result_to_string (result));
                
@@ -345,7 +344,7 @@ ev_attachment_launch_app (EvAttachment *attachment,
                g_set_error (error,
                             EV_ATTACHMENT_ERROR,
                             (gint) result,
-                            _("Couldn't open attachment '%s': %s"),
+                            _("Couldn't open attachment “%s”: %s"),
                             attachment->priv->name,
                             gnome_vfs_result_to_string (result));
 
@@ -364,11 +363,25 @@ ev_attachment_open (EvAttachment *attachment,
                    GError      **error)
 {
 
-       gboolean retval = FALSE;
+       gboolean                 retval = FALSE;
+       GnomeVFSMimeApplication *default_app = NULL;
 
-       if (!attachment->priv->app)
-               attachment->priv->app =
-                       gnome_vfs_mime_get_default_application (attachment->priv->mime_type);
+       g_return_val_if_fail (EV_IS_ATTACHMENT (attachment), FALSE);
+       
+       if (!attachment->priv->app) {
+               default_app = gnome_vfs_mime_get_default_application (attachment->priv->mime_type);
+               attachment->priv->app = default_app;
+       }
+
+       if (!attachment->priv->app) {
+               g_set_error (error,
+                            EV_ATTACHMENT_ERROR,
+                            0,
+                            _("Couldn't open attachment “%s”"),
+                            attachment->priv->name);
+               
+               return FALSE;
+       }
 
        if (attachment->priv->tmp_uri &&
            g_file_test (attachment->priv->tmp_uri, G_FILE_TEST_EXISTS)) {